Skip to content

Repository files navigation

GitHub Downloads (all assets, all releases) GitHub Release

Turn your 3D Printer into a vinyl cutter, pen plotter, foil machine or engraving tool.
If you've already got a 3D Printer, you shouldn't need to buy a separate Cricut machine.

Convert SVG artwork into optimized 2D GCode with drag-knife compensation, drawing fills, multi-pass engraving and more. Polycut also directly supports uploading to a networked 3D Printer via Moonraker/Klipper.

 

NewMainUI

NewPreviewUI

 

Installation

Download the latest version from Github Releases.

Static Badge

The application itself is portable (no installation required!) however configuration data is saved in %LocalAppData%/IridiumIO/PolyCut

Features

Drawing Canvas:

  • Import arrange and scale multiple SVGs
    • SVG groups, layers and clipped geometries are preserved.
  • Basic editing tools
    • Copy/Cut/Paste
    • Boolean operations (Union, Subtract, Intersect, Exclude)
    • Mirror/Flip, Move, Rotate, Resize
    • Editing Stroke and Fill colours
  • Draw basic shapes directly (line, ellipse, rectangle, path) as well as text.
  • Save and reload projects, or export the canvas back to SVG for use elsewhere

Note

PolyCut is intended to complement tools like Inkscape, not replace them. I strongly recommend designing your artwork in Inkscape, and using Polycut for layout, basic transformations and GCode generation. An Inkscape extension for rapid export is coming soon.

Tool Modes:

  • Cutting - Optimised drag knife toolpaths with configurable swivel offsets and blade orientation tracking for crisp corners and tearing prevention.
  • Drawing - Outline drawing +/- Hatch, Crosshatch, Spiral, Triangular, Diamond and Radial fill patterns
  • Multipass - Repeat passes with configurable Z step-down
  • Foiling, Engraving, Embossing and Etching — Configurable using the above tool modes

Printer/Machine Configuration:

  • Multiple machine profiles
  • Custom Start / End GCode
  • Tool X / Y Offsets to compensate for mounting offsets
  • Klipper bounding box preview - Sends a dry-run to Klipper for material alignment.

Preview & Export

  • Animated 2D toolpath preview with travel moves, execution order and playback controls
  • GCode previews show estimated time and total toolpath length (Metric only. Sorry Americans)
  • Export GCode or upload directly to Moonraker/Klipper with optional auto-start after upload, and a built-in Klipper web interface.

Toolpath Generators:

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

  • Polycut.Core: Custom generator with advanced optimisations and path ordering, advanced fill generation, SVG text and clipping support, and significantly faster processing.
  • GCodePlot: Created by @arpruss, augmented with a few tweaks by myself. Initially this was the superior processor, but now remains for those who simply prefer it :)

 

Requirements

Operating System

  • Windows 10 v1809 or higher (Windows 11 required for Mica effects).
  • Linux - requires WINE. Some features are disabled for compatibility (In-built browser, Eyedropper tool and transparency effects)

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.

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

Klipper Setup.md

 

Background

Like many makers, I own a 3D printer. When I started getting into bookbinding and other paper crafts, I quickly discovered that many projects rely on vinyl cutters such as a Cricut or Silhouette. Spending hundreds of dollars on a machine that is essentially another 3-axis motion system didn't make much sense to me.

A semi-modern 3D printer is already capable of extremely precise movements, often with positional accuracy much lower than 200 microns. With the right tool attached, it can perform many of the same jobs as a dedicated Cricut or Silhouette machine. The problem was, software to achieve this was kind of rubbish.

There are several ways to generate GCode from SVG files, but none of them quite fit what I wanted. Cura can convert SVGs into toolpaths, but it doesn't compensate for a drag knife's swivel radius, resulting in corners that are never sharp. Inkscape's built-in GCode tools are powerful but extremely klunky. Other available tools either flatly refused to work or didn't have the features needed.

One project stood out: GCodePlot is an Inkscape extension by @arpruss. It produced excellent toolpaths and became the foundation for many of my early experiments. I initially modified it directly, created a template for Inkscape that had a pre-chopped cutting mat in it. Then started adding features such as Moonraker uploads, exporting directly from Inkscape, and support for ignoring hidden or locked layers. But on it's own, it never quite felt... smooth enough.

Then I got ambitious... and PolyCut is the result.


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

Stars

Watchers

Forks

Releases

Sponsor this project

Used by

Contributors

Languages