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.

3.7 KiB

Basement Ooza Basics

The hacked together pipeline is as follows given an svg $SVG. You may use the Woodbine.svg file as an example for testing.

  1. Ensure that your SVG has a size set that fits in Ooza
    1. One way to ensure is by setting width & height on the root <svg> element
  2. Covert the SVG to gcode via cargo run --release -- $SVG -o $OUTFILE
  3. Rewrite the gcode to center where the print happens via python rewritegcode.py $OUTFILE $UPDATEFILE
  4. (Optional) Verify the maximum x & y values fit on the board via python parsegcode.py $UPDATEFILE
  5. Generate the final file by concatenating the header to the updated file via cat ooza/config.g $UPDATEFILE > $FINALEFILE
  6. Upload $FINALFILE to Jobs in Duet and run it

svg2gcode

Build, test, and publish coverage for svg2gcode

Build svg2gcode-cli

Build svg2gcode-web Deploy svg2gcode-web

codecov

Convert vector graphics to g-code for pen plotters, laser engravers, and other CNC machines

Usage

Web interface

Check it out at https://sameer.github.io/svg2gcode. Just select an SVG and click generate!

SVG selected on web interface

Command line interface (CLI)

Input

cargo run --release -- examples/Vanderbilt_Commodores_logo.svg --off 'M4' --on 'M5' -o out.gcode

Vanderbilt Commodores Logo

Output, rendered at https://ncviewer.com

cat out.gcode

Vanderbilt Commodores Logo Gcode

Library

The core functionality of this tool is available as the svg2gcode crate.

Blog Posts

These go into greater detail on the tool's origins, implementation details, and planned features.

FAQ / Interesting details

Reference Documents