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.
 
 
 
Sameer Puri 2de4ec05de
Fix incorrect smooth curve ctrl point reflection, update README.md with demo, add compensation for same closepath point, add demo in README
6 years ago
examples Fix incorrect smooth curve ctrl point reflection, update README.md with demo, add compensation for same closepath point, add demo in README 6 years ago
src Fix incorrect smooth curve ctrl point reflection, update README.md with demo, add compensation for same closepath point, add demo in README 6 years ago
.gitignore Initial commit 6 years ago
.travis.yml Add travis 6 years ago
Cargo.lock Bump sierpinski size 6 years ago
Cargo.toml Bump sierpinski size 6 years ago
LICENSE Bump sierpinski size 6 years ago
README.md Fix incorrect smooth curve ctrl point reflection, update README.md with demo, add compensation for same closepath point, add demo in README 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

Vanderbilt Commodores Logo

Output, rendered at https://ncviewer.com

cat output.gcode

Vanderbilt Commodores Logo Gcode