Skip to content

Polycut is a tool designed to import SVG files and convert them to 2D GCode to run on 3D Printers that have blades/pens/knives/foil stampers or other tools attached. It also directly supports uploading to a networked 3D Printer via Klipper. Think of it as an alternative to buying a Cricut if you already have a 3D Printer.

License

Notifications You must be signed in to change notification settings

IridiumIO/PolyCut

Repository files navigation

If you've already got a 3D Printer (or any machine that can process GCode), you don't need to buy a separate Cricut or Silhouette machine.

Polycut is a tool designed to import SVG files and convert them to 2D GCode to run on 3D Printers that have blades/pens/knives/foil stampers or other tools attached. It also directly supports uploading to a networked 3D Printer via Klipper.

 


 

Features

Drawing Canvas:

  • Import multiple SVGs, arrange and scale them (currently you need to have them grouped how you want in advance as groups can't be separated yet) with a resizable/rotatable cutting mat to help line things up
    • (Technically) support for any size 3D printer bed since all we really need is the bed dimensions; right now the default is named Ender 3 S1 at 235x235mm but you can adjust and save the dimensions; proper adding/editing names is planned.
  • Draw basic shapes (line, ellipse, rectangle) and text elements directly onto the canvas (best used for creating cutout lines for easier weeding of vinyl)

Tool Modes:

  • Cutting mode - generates outline paths for a drag knife or cutter (e.g. Roland Vinyl Cutter); importantly, has configurable swivels at sharp corners to account for the blade diameter
  • Drawing mode - generate paths and fills in a hatch / crosshatch pattern
  • (More modes planned)

Generators:

There are two generators currently included with Polycut; Polycut.Core and GCodePlot

  • Polycut.Core: Created for Polycut, but still experimental. It supports cutting and drawing, and most importantly, it can process text elements without having to convert them to paths first. However it has a few drawbacks for now:
    • Even if a shape does not have a fill in the SVG, it will still be filled
    • Complex shapes can cause problems with cutting/drawing accuracy.
  • GCodePlot: Created by @arpruss, with a few tweaks by myself that haven't made it into the base repository yet. This is a more tried-and-tested generator with more consistent results.
    • but importantly it cannot handle text elements that haven't been converted to paths first. There are other features that are supported by one or the other; these are appropriately enabled/disabled when you switch between the two.

Preview

  • 2D rendering of toolpaths including a preview mode that renders the lines in the order the 3D printer will process them (at 20x speed)
  • Note: This gets laggy very quickly if you have intricate designs or you set the precision too high
  • GCode preview also shows estimated time and total drawing/cutting length. These details are also visible to Klipper

Export

  • Save to GCode file, or
  • Send to a networked 3D printer using Klipper/Moonraker. Other services should be relatively straightforward to implement if requested. No support for password-protected Moonraker instances so far though
    • Option to auto-start running the file after upload

Monitor

  • Simply takes the provided URL from the export tab and renders the webpage; handy for monitoring Klipper from within the app rather than opening a separate browser

 

Requirements

  • Windows 10 v1809 or higher (Windows 11 required for Mica effects).
    • Technically it could work as far back as Windows 7 but I haven't tested it.

 

Additional Screenshots

Background

I have a 3D printer. I wanted to get into bookbinding, which utilises a lot of vinyl designs that typically require a Cricut, Silhouette or similar vinyl cutter that costs as much as a 3D printer. A 3D printer is already a perfectly good 3-axis system, capable of <200 micron cutting/drawing precision. General solutions do exist for creating GCode from SVG files already - You can convert SVGs to GCode from within Cura, but it doesn't account for the diameter of a swivel blade, and thus corners are never crisp; Inkscape has its own inbuilt GCodeTools but it is extremely kludgy; InkCut looks to be nice, but it refuses to run on my PC.

GCodePlot by @arpruss is an excellent extension to Inkscape - by far the best I found (and in fact, you can use it from within Polycut) but on its own, it isn't quite smooth enough. You have to chop up a 12" cutting mat to fit on a standard 3d printer bed, and you never quite know where to line everything up. First I created a template for Inkscape that had a pre-chopped cutting mat in it. Then modified GCodePlot to allow exporting from Inkscape's export menu, added support for ignoring hidden/locked layers, and added Moonraker upload support. That should have been enough for me.

But then I got ambitious...

Tutorial on setting up Klipper to quickly swap between 3D printing and non-printing modes

Klipper Setup.md

3D-printable mount for holding swivel blade/pens

If you have an Ender 3 S1 or other printer that can take this hotswap mount, then you can get my current vinyl cutter holder here.

Otherwise, you'll find vinyl cutters on Printables/Thingiverse. I strongly recommend using one that has a spring in it, because a 3D printer bed is nowhere near level enough for the accuracy needed to consistently cut through vinyl. A spring will allow a bit of flexibility and pressure to keep the blade in contact with the cutting mat.

Issues and Planned Features

See the document here


Like this project?

Please consider leaving a tip on Ko-Fi :)

Buy Me a Coffee at ko-fi.com

About

Polycut is a tool designed to import SVG files and convert them to 2D GCode to run on 3D Printers that have blades/pens/knives/foil stampers or other tools attached. It also directly supports uploading to a networked 3D Printer via Klipper. Think of it as an alternative to buying a Cricut if you already have a 3D Printer.

Topics

Resources

License

Stars

Watchers

Forks