Pen plotter graphics software
Updated on .
Pen plotters support any kind of vector graphics, but these are the software tools I’ve found that create graphics primarily for plotters.
- Turtletoy is a turtle graphics plotting environment in JavaScript, run by Reinder Nijhoff.
- Vsketch is a Python API for generating graphics suitable for plotting.
- Penkit is Paul Butler’s well-documented Python API for plotter graphics.
- PenPlots.jl is a Julia API for plotter graphics, also by Paul Butler.
- canvas-sketch is a JavaScript API for plotter graphics by Matt DesLauriers.
- SwiftGraphics is Emory Dunn’s Swift framework for pen plotter artwork, with a ray tracer.
- yyz is DesLauriers’ unstable API for pen plotting, using a React-like interface for SVG creation.
- weir is Anders Hoff’s Common Lisp API for plotter graphics.
- Penplotter.js is a pen plotter-oriented generative art API in JavaScript with options to generate G-code.
- Generative Art with Elm is an environment for creating plotter artwork and can communicate with an AxiDraw pen plotter.
Art-specific
- Tinkersynth is a Joy Division cover generator.
- Flow Lines (source) generates contour lines in the same direction.
- SuperformulaSVG is a shape generator.
- revdancatt’s pen plotter page has several SVG tools, including Perlin circles, snowflakes, and spokes and circles.
- Sketch is an exploration of cross-hatching and engraving techniques for 3D models.
- Sandify is purpose-built for magnetic sand plotter robots.
3D
- ln from Michael Fogleman is a Go 3D renderer that targets SVG and inspired ln.js and linea, both in TypeScript.
- three-plotter-renderer is a 3D renderer for SVG with hatch marks.
Utilities
- fart is a local art creation system for pen plotting that regenerates artwork when code changes and offers UI elements to control tuneables in Rust.
- vpype is a command line tool for rescaling and modifying SVG for pen plotters
- plottertools are assorted utilities for working with plotters.
- Chiplotle is an early Python library for interfacing with plotters that use HP-GL, HP’s plotter control language.
General-purpose
- nannou is a Rust framework for generative graphics and audio.
- p5.js and Sandpit.js provide the classic Processing environment in JavaScript.
- Paper.js is a library for manipulating vector art.
- Quil is a Clojure (or JavaScript) library for interactive animations.
- D3 is a data-driven visualization system that can generate SVGs.
- Patternodes is a commercial, node-based art creation app for macOS.
- Rune.js is a JavaScript SVG generation system.
- Urpflanze is a JavaScript SVG generation system, too.
- Cuttle shows great promise as a system for controlling cutting machines, but hasn’t seen a public release yet.
- Apparatus is an earlier iteration of Cuttle with many of its interactive design features.
Plugins
- Grasshopper is a plugin for Rhino with a node-based system, and described in Generative Art with Grasshopper3D .
- Looper is a plugin for Sketch to Create generative art without coding.
- Sverchok is a plugin for Blender to generate art using a node-based workflow.
Inactive
- madison_axi is an inactive Python API for teaching using an AxiDraw, by JR Heard.
- SNEK is Anders Hoff’s old Common Lisp API.
- penplot is Matt DesLauriers’ old JavaScript API.
- Go Play Space is a turtle graphics API for Go.