![]() |
4 years ago | |
---|---|---|
.github | 4 years ago | |
examples | 4 years ago | |
src | 4 years ago | |
tests | 4 years ago | |
.gitignore | 5 years ago | |
Cargo.lock | 4 years ago | |
Cargo.toml | 4 years ago | |
LICENSE | 6 years ago | |
README.md | 4 years ago |
README.md
svg2gcode
Convert any SVG 1.1 path to gcode for a pen plotter, laser engraver, etc.
Demo
Input
cargo run --release -- examples/Vanderbilt_Commodores_logo.svg --off 'M4' --on 'M5' -o out.gcode
Output, rendered at https://ncviewer.com
cat out.gcode
Real-world use on a Prusa Mini+
A Prusa Mini+ was set up with a pen plotter attachment.
The Vanderbilt_Commodores_logo.svg
and moore.svg
examples were plotted on the same page.
cargo run --release -- --begin 'G0 Z10 G28 M201 X1250 Y1250 Z400 M203 X400 Y400 Z24 M205 X8.00 Y8.00 Z2.00 M107 G0 Z10 G0 X0 Y0 G0 Z1' --end 'G0 Z10' --on 'G0 Z1' --off 'G0 Z3' --origin 0,34 examples/Vanderbilt_Commodores_logo.svg -o out.gcode --feedrate 3000
FAQ / Interesting details
-
Use a 3D printer for plotting: (thanks @jeevank for sharing this) https://medium.com/@urish/how-to-turn-your-3d-printer-into-a-plotter-in-one-hour-d6fe14559f1a
-
Convert a PDF to GCode: follow this guide using Inkscape to convert a PDF to an SVG, then use it with svg2gcode
-
Are shapes, fill patterns supported? All objects can be converted to paths in Inkscape with
Object to Path
for use with this program. Not sure how practical fill patterns would be -- if you have ideas, feel free to open as issue or a PR. -
What about a generic PPD driver for using a plotter as a printer? I thought about doing something like this where you package ghostscript + inkscape + svg2gcode but that would take a lot of time