PixelCNC v1.83b
This is largely a bugfix update, again! Most of the fixes in this update were not urgent enough to warrant release until we had completed the new features we've been working on. However, a user discovered that loading certain SVG files as paths-layers could result in a number of their shapes not being included in the resulting paths-layer. We felt this was a problem that needed remedying ASAP, so here's v1.83b.
Some of the smaller features we've been working on are included in this update, but there are no new toolpath types yet - as they're still under development and weren't ready in time for this release. However, we think users will enjoy the features that did make it into this update.
The major changes/additions/fixes are detailed below.
Distance Measuring Tool
This is a new tool on the button bar across the top of the 3D view. When the distance tool is activated mouse left-clicks in the 3D view are to set the start and end point to measure between. This selects points on the canvas or simulation heightmap whose coordinates are the same as what's displayed for the cursor position on the status bar on the bottom of the PixelCNC window.
The measurements for horizontal distance, vertical distance, and 3D distance are all shown. Left-clicking will start a new measurement. The measurement tool is disabled by clicking its button again on the button bar.
Layer Aspect Locking
An option is now shown below a layer's Origin and Size parameters for locking the aspect ratio of a layer's dimensions. This is a menu from which a combination of axes can be chosen to lock for a layer's axes.
This currently only affects a layer's dimensions when modified via the layer's properties and has no effect when manually scaling a layer. Holding the SHIFT button while manually scaling a layer in the 3D view will retain the layer's XY aspect ratio, regardless of the aspect locking setting.
Faster DXF Loading
2D DXF geometry must be converted to PixelCNC's cubic Bezier splines when loading as a paths-layer, which is a bit of a process. We've tuned this a bit to reduce the total time it takes to load a DXF while also producing fewer path nodes. We've erred on the side of caution to ensure that geometry is converted as accurately as possible by allowing an abundance of nodes to be created along paths, but in many situations users may want to use the Path Simplify tool (accessible by enabling Path Editing while a paths-layer is selected) to reduce the total number of nodes that are on paths generated from DXF file geometry. This will improve overall performance when working with paths.
Bugfix: Load SVG as Paths-Layer
This bugfix prompted v1.83b's urgent release. Some changes were made in v1.81b to fix a bug when loading 2D geometry as a paths-layer that caused straight horizontal and vertical paths to disappear also inadvertently caused some paths in certain SVG files to be completely omitted from the resulting paths-layer. A classic situation of fixing one bug and creating another! Everything is all in perfect working order now with loading both SVG and DXF files with v1.83b.
Bugfix: Infinite Toolpathing Loop
Another bug was discovered that caused PixelCNC's toolpathing to go on forever if there were more text-layers in a project than there were CPU cores, when the Canvas Quality setting was set lower than the default value of 1.0 (full quality). This was a product of PixelCNC issuing multiple threaded jobs to render the text-layers at the canvas' native resolution, one for each text-layer, and available CPU cores would gobble them up. A flaw in the text system caused a race condition that prevented all of the jobs from finishing because they were all stuck waiting for eachother - and the toolpathing job would sit waiting for them to finish so that it could begin. The text system has been re-worked to not get hung up.
Restored Example Images
The folder of previously included example images was accidentally removed in a recent update - and they are assumed to be present by the interactive tutorials. They are now included with the installation and automatic updates again.
What's Next?
Work on new operations has been underway but these bugfixes had to go live before they were implemented, tested, and bugfixed. Barring any other hotfixes with urgent bugfixes the next update will likely include at least one of these new toolpath types. We've also a number of videos that are nearing completion and will be up on our YouTube channel possibly around the same time as v1.84b's release.
Stay tuned! :]