Repository navigation
Releases
Releases · tonyrh/putiacnc
PutiaCNC 0.5.3
PutiaCNC 0.5.3
A small release about machines and about where the toolpath explains itself.
Machines
- Make a machine from
$$. In the Machines window choose + New machine → From a Grbl $$ dump…, paste what your Grbl controller prints for$$, and click Make machine. It fills in the work area ($130–$132), top speeds ($110–$112), accelerations ($120–$122), junction deviation ($11) and spindle range ($30,$31). The slower of X and Y stands in for the rapid and cutting-feed limits, so check those against your machine. - A tidier Machines window. One + New machine menu now holds everything that creates a machine: blank, copy of the selected one, the catalogue, a file, or a
$$dump. Export and Delete stay beside it. - Fixed the window growing and flickering when the paste box opened.
G-code tab
- Notes on the toolpath (what the generator chose or skipped, such as rest machining skipped or a tab dropped) moved from the Notes tab to the G-code tab, in their own section between "What this will do" and the G-code. The G-code list has its own heading with the line count. The Notes tab now holds only your project notes.
Internal
- Screenshot hook: samples can open on the G-code tab (
PUTIACNC_TAB_GCODE).
PutiaCNC 0.5.2
What's new in 0.5.2
New
- Oval sign sample. Generate → Sample projects → Oval sign makes an oval plate with "PutiaCNC" V-carved in the middle, "toolpath studio" and "free open source software" following the inside of the oval, a fine engraved border and four holding tabs, using your own tools (the V-bit nearest 60° for the name, an engraving bit for the fine work, a flat end mill for the cut-out). It needs a work area of about 260 x 170 mm. The same project is in the repository under
examples/projects/.
Improved
- Cleaner V-carve with a flat floor. The flat end mill is round, so it could not reach sharp tips and narrow parts of the floor, and they came out rough. The V-bit now clears exactly those parts, with its tip at the flat depth, and a note says so.
- "Clear with" does something when you pick it. Choosing an end mill sets the flat depth to half the operation's depth (before, nothing changed until you set a flat depth), and a new button next to the tool removes the end mill again. "Flat depth" is shown only while an end mill is chosen.
- Finger-joint box: more room between the plates. The plates were 6 mm apart, so the strip of stock between two cuts was a sliver that broke away and the holding tabs had nothing to hold to. The sample box and the Box with finger joints tool now leave at least 12 mm between plates (the sample box is a little smaller for it).
- SVG import reads the installed fonts only when the file has text, so a drawing without text no longer waits for the font scan, which takes seconds on a machine with thousands of fonts.
- One more warning in the list. "Custom feeds and speeds held to the machine's limits" joins the warnings list instead of appearing as an information line on the Notes tab.
Fixed
- Text running out of the operation cards. A hint next to the Flat depth field could not wrap, so it widened the V-carve card past the panel and cut off the tool summary below it. The hint now has its own line, and a test checks every kind of operation card for text running out of the panel.
Other
- The macOS build uses the macos-15 runner (GitHub retired macos-14 on 2 November 2026).
- README and project page list the newer features; new example project and test projects for the README pictures.
PutiaCNC 0.5.1
What's new in 0.5.1
New
- V-carve with a flat depth. A V-carve operation has a new "Flat depth" and "Clear with" tool. The V-bit carves the sloped edges of large letters and shapes down to the flat depth, and a flat end mill clears the floor inside, so the bottom is flat with sharp V walls and the job is faster than carving the whole floor with the V-bit. "Custom feeds and speeds" has a block for each of the two tools. If the floor is too narrow for the flat mill, the V-bit carves it all and a note says so.
- Simplify outlines. Clean up drawing has a new option that removes the points that don't change an outline, useful for imported or traced drawings with thousands of tiny segments (shorter G-code, faster previews). You set how far an outline may move (0.02 mm by default); corners stay, and the drawing shows the points that stay (green) and the ones that go (red) while you adjust it.
- A question before export. Export G-code asks first only when there are toolpath warnings, and not again for the same ones after you choose Export anyway.
Improved
- Faster V-carve. The 3D replay of a V-carve is up to ten times faster (a big two-word sign went from 2.9 s to 0.5 s; the carved surface is identical), and the V-carve toolpath is generated on all processor cores (about 40% faster on two cores).
- One list of warnings. The generator's warnings (a depth deeper than the stock, shapes beyond the stock, ...) are now in the same warnings bar and list as the toolpath checks, instead of also appearing on the Notes tab and in the G-code tab summary. A warning is no longer shown twice, and the Notes tab keeps your notes.
- Counts of shapes. A line of text, or a group, counts as one in the layer list, the operation cards and the status bar ("WOOD" was shown as 7 shapes), and "1 shapes" is now "1 shape".
Fixed
- V-carve reaches the bottom of thin strokes. The middle of a narrow arm or stroke that fell between two of the V-bit's passes was left up to 0.3 mm high. It is now carved to its full depth.
- The flat end mill of a V-carve is listed. The setup sheet and the G-code summary only listed the V-bit, although the program stops for the flat mill; both now list it, and "one file per tool" keeps the operation in one file.
PutiaCNC 0.5.0
What's new in 0.5.0
Improved
- Nest on the stock fits parts by their real outlines. A small part can sit beside a curve or in the corner of an L. Parts can turn in steps of 90°, 45° or 15°, and keep the gap from each other and from the clamps. "Follow the outlines" is on by default; switch it off for the old rows of boxes. Other parts can also go into a hole that is cut right through a part (an Inside profile as deep as the stock is thick); "Use the holes in parts" switches it off.
- Acceleration per axis. A machine can have its own Y and Z acceleration (Grbl's
$121and$122), 0 meaning the same as X. Plunges and ramps are timed at the Z value, which is usually much lower, so the estimate for jobs with many depth passes gets closer to the machine's. - Top speed per axis. A machine can have a top speed for X, Y and Z (Grbl's
$110to$112). The time estimate and the 3D playback hold every move down to what its slowest axis allows, plunges and rapids included, and a note says when a cut asks for more than the machine can do. - Work coordinate system on export. Choose G54 to G59 (and G59.1 to G59.3 for Mach3 / LinuxCNC) at the top of the G-code tab. The G-code's header says it, so there is no more editing of the
.ncfile by hand. Thanks to @pjuppi who asked for it. - Preview in the Nest dialog. Like Array and Offset, Nest shows the result in the drawing while you change the gap, margin or turning, and says how many parts will not fit. Apply does it; Close leaves the drawing as it was.
- Layers. Give parts of the drawing a layer with a name, colour, eye and lock (left panel, under Clamps). New shapes go on the marked layer; "Move selection to" changes a shape's layer. A hidden layer is not drawn and cannot be picked, but its shapes are still cut: the eye never changes the G-code, and the "What this will do" box tells you when an operation cuts shapes on a hidden layer. Locked layers keep their shapes where they are.
- Keyboard focus ring. When you move through a dialog with Tab, the control that has focus gets a blue ring. Tab now stays inside the dialog instead of wandering off to the drawing behind it.
- Text along a shape. In the Text window, Layout: Along a shape. Select an oval (or any closed outline), press the button, and the text follows the inside of its edge at a distance you choose. Place it where you like (top, bottom) and face the letters outward or inward. It is placed once, and can still be edited later.
- Tab in scrolling windows. Tab now scrolls the window to the control it moved to, so the focus ring is never on a hidden control (machine library, tool library, Setup and others).
- Tab goes where you expect. Tab stays inside an open window, and in the main window it moves between the fields of the side panels only, no longer through the menu, toolbars and drawing.
- Times with units. Estimated times read "1 h 09 min 08 s" instead of "1:09:08".
- Layers from DXF and SVG files. A DXF file's layers come in as layers of the project with their names, colours and hidden or locked state; lines and arcs are joined only within a layer. Inkscape layers in an SVG do the same.
PutiaCNC 0.4.4
What's new in 0.4.4
New
- Helical entry (Profile outside, Profile inside and Pocket): the tool goes down in a spiral beside the start of the cut instead of plunging or ramping along the path. For a pocket it is the first ring (islands included). Set the circle's size (100 % of the tool by default) and the slope (3°). Where the spiral does not fit, that path enters as the Ramp in setting says and a note tells you. It takes priority over Ramp in; on a profile it leaves a round hole in the waste, like a lead-in, so use Ramp in if that material matters.
- Adaptive clearing (Pocket): a light stepover (12 % of the tool by default) and rounded corners on the inner rings, so the tool meets about the same amount of material all along the path. Gentler on the tool and the machine, and it suits deeper passes. It is the same rings with a lighter, smoother cut, not trochoidal loops that follow the remaining material.
- Nest on the stock (Modify menu): packs the selected parts onto the stock in rows (keeping clear of the clamps) to use less material. Set the gap between parts and the margin along the edges, and whether parts may turn by 90°. A group or a placed text moves as one part, and parts that do not fit stay where they were.
- Acceleration in the time estimate: a machine can have an Acceleration and a Corner deviation (Grbl's
$120and$11). With them the estimate and the 3D playback let the machine slow down for corners and short moves, so the time is closer to what the machine really takes. Off by default, and set for five machines in the catalogue.
Improved
- Messages look the same everywhere. An error is red with a circle, a warning orange with a triangle, news blue. That covers the banner, the bars under the view tabs, the notes in the tool windows, the warnings in the panels, the update window and the warnings list. A clamp collision is an error (red); the other toolpath warnings are orange.
- Notices that are not failures ("Nothing to export", "There is no toolpath yet", a file with no shapes) are warnings now, not errors.
- Tab moves on in every number field, window and panel: it takes the value and goes to the next control, buttons and tick boxes included (Shift+Tab goes back). In a dialog Tab stays inside it and wraps from the last control to the first. Enter in a field only confirms that field.
- Helical entry also works at the corners of rectangles, where it used to be skipped.
- The "tool hits a clamp" marker in the 3D preview sits where the tool first touches the clamp, not at the end of the whole move.
Testing
- New tests for helical entry (slope, same stock as without the spiral, no room), adaptive clearing, nesting, the acceleration model, the message levels and the finding position of a clamp contact.
Full changelog: v0.4.3...v0.4.4
PutiaCNC 0.4.3
What's new in 0.4.3
New
- Rest machining for pockets (Corners row of a Pocket operation): pick a smaller flat end mill and, after the pocket is cut, it clears only what the main cutter could not reach: the corners and any part narrower than the main cutter. When the main cutter is too wide to cut the shape at all, the Corners cutter cuts the whole pocket, with a note saying so.
- Rest machining for 3D relief (Detail row of the Finishing step): pick a smaller ball nose and it finishes only the places the finishing ball could not reach, such as inside corners where slopes meet the floor, narrow grooves and fine detail. It has its own stepover, and the 3D preview, the warnings and the G-code replay all know the third tool.
- Finishing pass (Profile outside, Profile inside and Pocket, Finish row): the depth passes keep a little stock (0.2 mm by default) on the walls and one last pass cuts them to size, at full depth when the tool's flute length covers the depth. Cleaner walls and a more accurate size.
- Relief finishing direction (Lines row of the Finishing step): the finishing lines can run along X, along Y, or along X then Y for an even surface (twice the cutting time).
- Sample 3D relief (Generate → Sample projects → 3D relief): a six-petal rosette cut with a roughing flat end mill, a finishing ball and a small detail ball, sized to fit your machine and tools (about 20 minutes of cutting). It shows the whole relief workflow, and adds starter ball nose tools if your list has none.
- Metric ball nose bits (1.5, 3 and 6 mm) in the default tool library, and in the setup assistant's ball nose choice for metric users. Until now only the 1/8″ and 1/4″ ones were there. Existing tool libraries are not changed; add them from the tool manager if you want them.
Improved
- Menus: the Edit menu is split in three. Edit keeps undo, selection and grouping; the new Modify menu holds Offset, Array and copy, Fillet and chamfer, Combine shapes, Finger joint and Clean up drawing; the new Generate menu holds Box with finger joints, Surface the stock and the sample projects (moved out of Help). The File menu's import items are set apart by a separator.
- When a pocket or an inside profile gets no toolpath, the message now says why: the tool is wider than the shape (with the shape's width and a tool that fits), or the lines are open.
- Dialogs can be moved over the 3D half of the split view and over the side panels, and are stopped by their own borders at the window edge. The view cube and the 3D hints no longer cover a dialog.
- The minimum Rust version for building from source is now stated correctly: 1.89 (it said 1.75). It is set in
Cargo.tomltoo, so cargo tells you at once if your toolchain is too old. - New screenshots on the website and in the README: 2D in millimetres, 3D in inches as fractions.
Fixed
- Relief roughing with a wide cutter (an 8 mm end mill, say) left bits of the pocket unmilled at the sides where the model's rim rises, and a wavy wall at the ends of the roughing rows. The roughing now reaches the whole pocket and follows its outer wall at each layer. The cleared area is about 1 mm wider, so G-code for relief projects with a roughing tool changes.
- Open lines (On line, engraved text) were cut with a straight line across the work in every depth pass after the first, from the end of the line back to its start; the letters of the sample plate showed it. Each depth now starts where the last one ended and runs back along the line. G-code for projects with open lines changes: the passes alternate direction, and the cut length is about the same or shorter.
Testing
- New tests for rest machining (pockets and relief), the finishing pass, relief finishing directions and open-line depth passes; the checker and the G-code replay know the extra tools.
Full changelog: v0.4.2...v0.4.3
PutiaCNC 0.4.2
What's new in 0.4.2
New
- Surface the stock (Edit → Surface the stock…): flattens the top of the stock, or the spoilboard, with a wide flat cutter. The widest flat cutter is suggested (your surfacing bit if you have one). Set the depth, pass depth and stepover, and choose to run it before the other operations, or as an air cut. For the spoilboard it can make the stock the size of the machine's work area. It adds an ordinary Pocket operation over a rectangle one cutter radius larger than the stock, so the whole surface is cleared and you can still edit it in the Operations panel.
- Setup sheet (File → Setup sheet…): saves a printable page with the stock and zero, the tools in order, the operations with times, a before-you-start checklist, warnings and your notes.
- A second sample project (Help → Try a sample → Finger-joint box): the five plates of an open box with finger joints, sized to your stock and machine. Try a sample is now a submenu.
Improved
- The setup assistant's last page tells you there are several sample projects, and it shows the program's own icon instead of a placeholder letter.
Testing
- The dialog audit covers the Surface window, and a test checks surfacing covers the whole stock and can be undone.
Full changelog: v0.4.1...v0.4.2
PutiaCNC 0.4.1
What's new in 0.4.1
Fixed
- The sample project (Help → Try a sample) now carves its lettering. In 0.4.0 the lettering was engraved above the floor of the recess it sits in, so nothing was cut and the name did not show in the 3D preview. It now goes 1 mm below the floor of the recess. The Notes tab of the sample says so.
- Release notes in the update window (Help → Check for updates) show as plain text: no
##,**or backticks, bullets as •, links as their text.
Testing
- The dialog audit now also draws the unsaved-changes prompt (with a very long file name too) and the update window in every state: up to date, a release with and without a download, downloading, installed, and a failed check.
- A test that the sample's air cut never touches the stock, for every combination of its operations, in mm and inches.
Full changelog: v0.4.0...v0.4.1
PutiaCNC 0.4.0
What's new in 0.4.0
New
- Setup assistant. The first time you start PutiaCNC, a short assistant sets up your units (millimetres or inches), your machine (pick one of 20 ready-made machines from the makers' published specs, or enter your own, with name, work area and limits) and a starter set of tools. Open it again any time from Help → Setup assistant. Nothing you already have is deleted.
- Quick tour. Help → Quick tour (also offered at the end of the setup assistant): eight short steps that dim the window and outline the tools, the left and right panels, the view tabs, the status bar and the G-code tab.
- Try a sample. Help → Try a sample opens a small name plate (cut-out with tabs, a shallow recess, engraved lettering) made to fit your own machine, tools and units. The Notes tab explains it and how to try it as an air cut first.
- Fractions. In inch mode, View → Units → Fractions shows lengths as fractions everywhere (2 1/4, 3/16, nearest 1/64), and number fields take fractions and typed units:
1/8,1 3/16,3 mm,2.5cm,0.1 m. The default inch grid is 1/32 in. - One Units setting for lengths, speeds, the rulers and the grid, with help texts and messages in your units.
- Finger joints and box generator. Tabs and slots on rectangle edges (odd finger count, clearance, optional dogbones), and a box generator that lays out finger-jointed plates ready to cut, with dividers in both directions (half-lap crossings) and an option to make the outside cut for the plates. The fingers follow the stock thickness.
- Dogbone corner reliefs in the Fillet and chamfer window; the dogbone follows the tool of the operation.
- Plotter mode. A pen or marker is a tool; the Draw operation follows the outline of every shape (or fills it with hatch lines), with join strokes, repeat count and pen-down rest. 16 common pen tips come with the program. The 3D preview draws the ink as wide as the pen. Single-line text for pen drawing.
- 2D + 3D split view with a divider, one bottom bar for the drawing options, playback and view toggles.
- Export split. Export one file, one file per tool or one file per operation, with times shown for each.
- Feeds and speeds by material, and more stock appearances to match the materials.
- Warnings bar. Toolpath warnings (too deep, a clamp in the way, a part too small for the tool) now show in a bar under the view tabs instead of the status bar.
- Tool windows have consistent buttons: OK and Cancel for one-shot tools, Apply (stays open) and Close for tools you repeat.
- Help menu organised in groups.
Changed
- Air cut now lifts the operation above the stock by its own depth plus 2 mm when it is deeper than 8 mm. Before, the lift was a fixed 10 mm, so a deep operation (a 12 mm cut-out, say) still dipped into the stock. G-code of deep air cuts changes, so run them again if you saved the G-code.
- Toolpath accuracy: offset paths are thinned with Douglas-Peucker (0.02 mm) instead of Clipper's clean, whose errors added up (0.23 mm off on a big ellipse).
- Machine units drive the displayed units; the machine window lists scroll separately; machine names are unique.
- Refuses to add an operation the tool list cannot serve (only pens, or no pen) and says why.
Fixed
- A long imported file name (bitmap, 3D model) no longer widens the left panel; it is cut with "…".
- Clicking a field and leaving it unchanged no longer shows its reset arrow, and the value keeps its exact digits.
- Finger joints: neighbouring Slots edges no longer cross at their shared corner.
- The close button follows the window's real width.
Testing
- A dialog audit test that draws the windows at two sizes, in mm and inches, and checks the header, the close button, that everything fits the screen, cut-off and overlapping text, and that fields of the same size line up in columns.
- Tests for the quick tour (every step finds its target; the buttons can be clicked), the sample on five different machines, and the air-cut lift.
Full changelog: v0.3.5...v0.4.0
PutiaCNC 0.3.5
What's new in 0.3.5
New
- Time by operation. Click the estimated time in the status bar to see where it goes: one row per operation (with its colour, a bar, the time and the share of the total), the wait for the spindle, and the total. Cutting is solid, moves are faded.
- Hover help on labels as well as fields. In the Machines window, the tool window, the operation cards, the stock panel and the small dialogs, a label now shows the same help as its field. Greyed-out controls keep their help.
- New help texts for the pass depth (peck, for a drill) and for the machine's rapid rate.
- Editing a text. The original fades to a thin ghost while the preview of your changes shows, and the preview is drawn thicker, so the two are easy to tell apart.
Fixed
- Machines window layout. The close button is back in its place. Time correction, Line numbers and Copy test lines stop a little short of the right edge, and the Tool holder row no longer widens the window.
- Font list in the text tool. A long font name is cut with "…" to fit its row (the full name is in the hover help) instead of running under the scroll bar.
- Chip-load help in the tool window now shows when you hover its text; before, it never appeared.
Testing
- A frame-time test for the 3D preview.
- Tests that hover every label and field in the dialogs and operation cards and check the help text.
- A project for trying the pauses (
M0) on a real machine, with every operation as an air cut (tests/data/hardware_m0_aircut.project.json).
Full changelog: v0.3.4...v0.3.5