Skip to content

Existing tools

triaina builds on existing open-source tools and only adds what was missing. Each project link below was checked on 2026-10-01.

What triaina reuses

Need Project License How triaina uses it
Klipper, Moonraker, Fluidd on the printer Stock ELEGOO firmware, or OpenNept4une GPL-3.0 Runs as is. triaina only adds its macros to printer.cfg
Printer API Moonraker GPL-3.0 mode_switch.py uploads, starts jobs and runs macros over its HTTP API
Installing Klipper add-ons (camera) KIAUH GPL-3.0 Optional, for crowsnest on the Pi
G-code with blade-offset compensation Kiri:Moto drag-knife mode MIT Recommended generator, runs in the browser
G-code with blade-offset compensation DXF2GCODE open source Alternative: knife offset entered as tool diameter
Cutter GUI Inkcut GPL-3.0 Alternative desktop sender; output to file
Path cleanup and ordering vpype and vpype-gcode MIT Optional, for scripted pipelines
Blade-offset algorithm reference psol/drag_knife MIT Reference only (early Python 2.7 code)

What triaina adds

No packaged Klipper drag-knife macros or Neptune 4 cutter setup exist that we could find, so these are triaina's own:

Part Why
Klipper macros Mode switch with heaters off, saved and restored limits, knife offset, plunge refused outside cutter mode
gcode_preprocessor.py Makes any generator's output safe for this machine: strips heaters and extruder, maps Z and M3/M5 to the macros, caps feed
Design conversion SVG, DXF, PDF, AI, EPS, PNG, JPG to cut G-code on the Pi, with blade-offset compensation (method as in Inkcut / psol/drag_knife), containment-aware cut order and a preview. Parsing reuses svgelements, ezdxf, poppler, ghostscript and potrace
mode_switch.py One command to switch modes and upload or start a job from the Pi
setup_pi.sh Idempotent Pi provisioning
Knife mount No Neptune 4 drag-knife mount is published; remix a generic holder clamp

How they fit together

Kiri:Moto / DXF2GCODE / Inkcut / Inkscape   (blade offset, toolpath)
        |
        v
gcode_preprocessor.py                       (safety: heaters, macros, feed cap)
        |
        v
mode_switch.py upload --start               (Moonraker HTTP API)
        |
        v
Neptune 4: stock Klipper + triaina macros