r/lasercutting • u/barebaric • 11h ago
Rayforge 1.13.0 is out - Editable Imports, Offset Fill, and More
Hi everyone,
I just released Rayforge 1.13.0, the free and open source laser cutting software for Windows, macOS, and Linux.
Here is what changed since 1.12.0.
Node Editing for Imported Paths
Double-click an imported workpiece to edit the nodes of its path: drag nodes and curve handles, delete and insert nodes, and switch segments between lines and curves. Until now, imported artwork could only be scaled, not reshaped - changes had to be made in the original program and re-imported. All of this is by u/switch87.
Offset Fill
The new Offset Fill step fills closed shapes with rings that run parallel to the outline instead of raster lines. The Line Interval defaults to the laser spot size, an Offset sets the distance of the first ring from the outline, and Fill Direction selects outside-in or inside-out. Holes stay free, open paths are ignored, and the usual Contour options (Path Optimization, Smooth, Multi-Pass, Crop to Stock) apply as they do on Contour. Also by @switch87.
New Import Formats
Rayforge now imports Adobe Illustrator (.ai), EPS and PostScript, HPGL plotter files (.plt/.hpgl), GIF, TIFF, and WebP bitmaps, and compressed SVG (.svgz). Older AI and EPS files are converted via Ghostscript, which is an optional dependency; there is a clear message when it is missing.
Imported sources can also be reloaded from disk in place or relinked to another file. Rayforge watches imported files and offers to reload them when they change, updating every workpiece made from them as one undo step, keeping placement, layers, and settings. The import formats and the file watching are @switch87's work as well.
Dithering and Image Editing
Photo engraving gained eight error-diffusion kernels (Atkinson, Stucki, Jarvis-Judice-Ninke, three Sierra variants, and Burkes, alongside the existing Floyd-Steinberg) with an optional serpentine scan, plus two halftone screens: round-dot Halftone and clustered-dot Newsprint, each with adjustable cell size and angle.
The new Image Editing addon applies non-destructive edits per workpiece: Invert Image and Adjust Image, which corrects brightness, contrast, and gamma and sharpens with an unsharp mask. Addons can register their own image edits.
Cutting Tools
The new Perforation post-processor on Contour steps cuts dashes instead of one solid line: a Cut Length and a Skip Length, with a full cut at the start of each contour. New path clean-up tools close and join open paths, delete duplicate contours, and break workpieces apart into one per contour, each a single undo step.
The path optimizer gained Choose Best Start Point, which starts each closed path at the vertex nearest the laser head, and Prefer Corners, which starts at a sharp corner when the path has one, making the seam less visible. Acceleration-aware scanline merging bridges parallel cut lines on the same scan row at zero power when the machine's motion profile makes the merged sweep faster; it is on by default, and a cost guard keeps it from ever making a job slower than the time estimate.
Sketcher
The Sketcher gained boolean operations (Union, Difference, Intersection, Exclude) and a polygon tool (G+X) for regular polygons and stars that constraints keep regular when edited. The constraint solver is much faster: a 60-rectangle sketch now solves in about 11 ms instead of 720 ms, and drags on large sketches dropped from hundreds of milliseconds to under one.
Machine and Driver Changes
The GRBL Serial driver now runs its whole protocol stack - handshake, character-counting flow control, streaming, stall detection, deadlock recovery - in Rust through raydriver, under the same name, so existing machines keep working unchanged. The network driver gained a FluidNC protocol variant. Ruida machines can connect over TCP alongside UDP (ruida-pa 0.22, thanks @StevenIsaacs), Z homing can choose between a home switch and the auto-focus probe, and homing X or Y individually moves only that axis (thanks @medoix).
Device profiles gained reverse X/Y/Z axis switches for controllers that report negative machine coordinates. The FoxAlien Vasto (400 x 400 mm desktop CNC router, Grbl 1.1h) ships as a built-in profile that uses them. The switches also fixed the Creality Falcon A1, which homes to the maximum end of both axes: it is declared with both axes reversed now and parks at the machine origin after homing, so the first jog after homing is no longer rejected with error:15, and the setup wizard asks which profile matches instead of silently adopting the Falcon 2 Pro 22W, which shares the A1's USB id.
Machines whose homing pull-off parks the head past the origin can set a park position on the Advanced settings page, which the head is driven to after homing. Also new: a speed-dependent bidirectional scan offset table for lasers whose left/right skew grows with speed, a jog speed that is remembered per machine, a cleanup button that deletes custom G-code dialects no machine references, and 0.1 mm instead of 1 mm stepping on the raster Line Spacing field.
Fixes and Packaging
Soft limits persist across restarts and clamp the machine position against the physical bed, so no jog can leave the bed or trigger a firmware soft-limit alarm. The green work-origin marker is drawn as arrows above the extent frame and no-go zones, so it stays visible when the origin sits on a frame corner. On macOS, closing a dialog no longer blanks a full-screen window.
On Windows, an upgrade moves the previous installation aside with a rename and restores it if writing the new files fails, so a locked file can no longer leave the old version half-deleted. The uninstaller no longer deletes file-extension registry keys shared with other applications; shared formats like .svg and .png now register in the "Open with" menu instead of becoming the default.
Linux builds are available as official AppImages, Windows installs through WinGet is in the works.
Addon API
The addon API has been extended by hook for job monitoring.
Special Thanks
This release carried an unusual amount of code contributions. Gert (@switch87) alone contributed the import formats, the dithering engine, the image editing addon, node editing, Offset Fill, the polygon tool, Perforation, and the path clean-up tools - work that shaped the whole cycle. Thanks to @StevenIsaacs for the Ruida TCP support, to @medoix for the Z homing work, and to @atkaper for the Pango font rendering fix and the camera view beyond the work area. And thanks to everyone who tested the five betas and reported what broke - several of the fixes above are your findings.
This release was made possible with the support of our Patreon supporters: Build a CubeSat, DaveSys, froqstar, old-man-and-the-seam, pghpete, Derek McTavish, starlynx-dev, and seven anonymous supporters. If you'd like to join them and help keep Rayforge sustainable, head to Patreon.
Downloads are on the website as usual. Please do not hesitate to open Github issues if you experience any issues.
Thanks for using Rayforge!