PutiaCNC

A free CNC toolpath studio for GRBL machines

Draw or import shapes, assign operations (profile, pocket, V-carve, drill, inlay, 3D relief), preview the cut in a simulated 3D view of the machined stock, and export G-code. Mach3 and LinuxCNC output too. Written in Rust, open source.

Download Source

AppImage for Linux, disk image for macOS, portable zip for Windows. Free software, GPL-3.0-or-later.

PutiaCNC 2D design: a rounded plate with a pocketed name and four drilled holes
2D design: draw or import shapes, assign them to profile, pocket, V-carve or drill operations, and set depth, tabs and tools.
PutiaCNC 3D preview: the finished cut in light wood
3D preview: the toolpath is replayed on the stock, so you can check the result before sending the G-code to the machine.
The 3D preview replaying a job: the cutter follows the toolpath and the stock is carved as it goes.

What it does

Drawing

Rectangles, ellipses, lines, polygons, stars, bolt circles, point grids and editable text in any installed font (straight, on an arc or following a shape), and layers. Import SVG, DXF, bitmaps (traced into outlines or centre lines) and STL / OBJ models for 3D relief.

Editing

Object snap, typed values, node editing, trim and extend, fillet and chamfer, offset, combine, align, array, rotate, groups, nesting on the stock, and clean-up of broken outlines (join loose ends, simplify outlines with too many points).

Operations

Profile (outside, inside, on the line), pocket, V-carve, drill, inlay and 3D relief, each with its own tool, depth, passes, ramp-in, holding tabs, lead-in / lead-out and air cut. Rest machining, finishing passes, adaptive clearing, and V-carve with a flat floor.

Preview and checks

2D canvas and simulated 3D stock with a play bar. Warnings for cuts too deep, into the table or clamps, outside the machine area, and rapids through material, all in one list. The G-code is always written; the warnings only inform, and exporting with warnings you haven't seen asks first.

Tools and machines

Tool libraries (imperial and metric, with ready-made CMT, Amana, Bosch, Freud, Whiteside and Diablo sets), chip-load estimate, and machine profiles (GRBL or Mach3 / LinuxCNC, work coordinates G54 to G59) with your own start and end G-code.

Everything else

G-code tab with time estimate, a printable setup sheet, project notes, keyboard shortcuts, light and dark themes, and projects saved as plain JSON files.

The full list, with every option, is in the feature guide.

Build from source

You need Rust 1.89 or newer and a C++ compiler. Install Rust from rustup.rs, then:

git clone https://github.com/tonyrh/putiacnc
cd putiacnc
cargo run --release -p putiacnc-gui