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. Convert the SVG to gcode via cargo run --release -- $SVG -o $OUTFILE
  3. Rewrite the gcode to be compatible with Ooza via python rewritegcode.py $OUTFILE $FINALFILE. This will do a few things:
    1. Exit with an error message if the print would go outside the bounds of Ooza
    2. Rewrite the coordinates to center where the print happens
    3. Prepend the header in ooza/config.g to the rewritten gcode
  4. 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