You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
![]() |
6 years ago | |
---|---|---|
examples | 6 years ago | |
src | 6 years ago | |
.gitignore | 6 years ago | |
.travis.yml | 6 years ago | |
Cargo.lock | 6 years ago | |
Cargo.toml | 6 years ago | |
LICENSE | 6 years ago | |
README.md | 6 years ago |
README.md
svg2gcode
Convert any SVG 1.1 path to gcode for a pen plotter, laser engraver, etc.
TODO
- Support all path variants
- Support group and path transforms
- Biarc interpolation (G2/G3 instead of many G1)
- Px, pc, in to mm
- Configurable DPI for px/pc to mm
- Sort paths by distance to reduce G0 distances
Known bugs & whether fixed
- Smooth curves should not use the control point when the previous curve is not of the same type (quadratic -> smooth cubic, cubic -> smooth quadratic)
- Image coordinates mirrored in the y-axis because SVGs uses upper left corner as (0,0) while GCode uses lower left as (0,0)
- Close path command connects back to (0.0, 0.0) instead of the last move
- Ellipse paths are dubious -- large_arc, sweep may need to be inverted
Demonstration
Input
cargo run --release -- examples/Vanderbilt_Commodores_logo.svg
Output, rendered at https://ncviewer.com
cat output.gcode