Plotter Geometry

Plotter Geometry

A free web app for making generative line art for pen plotters like the AxiDraw. Pick a design, adjust it in the browser and export a plot-ready SVG.

Everything runs in your browser, so there's nothing to install or sign up for. It also works offline after the first visit.

Open the app Browse designs
Plotter Geometry with a topographic contour map on A4 paper, design settings on the left and paper and pen settings on the right

Features

Controls

Click the design name in the top bar or press G to browse designs. Use the sliders on the left to change the drawing, and the Paper & Output panel on the right for paper, layout and pens.

Scroll to zoom the preview and drag to pan. Click the lock icon next to a parameter to keep it when randomizing, or double-click its label to reset it.

The design browser with thumbnails of curve and field designs

How It Works

Each design is a JavaScript function that takes the parameters and a seed and returns lines in millimeters, grouped by pen. Generation runs in a web worker so the page doesn't freeze on heavier designs. There are no frameworks or dependencies.

Before export the lines are cleaned up for the plotter. Close points are simplified, lines that meet end to end are joined and the order is sorted to cut down pen-up travel. The settings are also saved inside the SVG, which is why dropping one back in restores the drawing.

Plotting

Use PDF for a full page with the selected pen colors and widths. Print at actual size. DXF exports centerlines in millimeters with separate pen layers. Select millimeters if your importer asks. EPS keeps colors and widths but crops to the ink. Vector exports leave out the preview's paper color. For cutters, choose a draw, score or engrave operation for these line drawings.

Set the paper size, margin and pen widths to match your setup before exporting. Layer names start with the pen number (1 Pen 1, 2 Pen 2 and so on), so with the AxiDraw Inkscape extension you can plot one pen at a time from the Layers tab and swap pens in between. vpype and saxi read the same file.

For street maps of real cities, try SVGmap. It builds an SVG from OpenStreetMap data for pen plotters or laser engraving.

Created by jarvisar Buy me a coffee Patreon