Posted January 15, 2021 by Deftware
v1.44a is a rather large update! Remaining updates to be released will be much smaller as there's simply not much left to do other than fix bugs and add a few features. The original aim was to knock out everything that's left on the todo list so that this could've been the first beta release but with how unpredictable things can be it didn't work out that way. One of the major things left to add is an adaptive/trochoidal cutpath option for the horizontal milling and pocket milling operation types. That's going to have to wait a few months because I have made a decision to still follow through on the other things that the first beta release entailed, specifically producing video content for users and would-be users to learn how to use PixelCNC's various features and functionality. That also includes some walkthroughs that demonstrate how to create different projects completely from scratch using only PixelCNC and a CNC router.
Here are the changes v1.44a includes:
PixelCNC now allows for paths-layers to be directly converted into toolpaths using the new Paths Carving operation. Paths-layers can be hand-drawn, generated by tracing other layers or the canvas as a whole at a specified Z-plane (i.e. 'waterline' tracing), or imported from SVG and DXF vector files. The generated cutpaths can either cut to a specified uniform depth or conform to the canvas' shape.
Another new operation generates a set of concentric cuts from a repeating pattern using a specified shape. Users specify a number of columns and rows along with a number of concentric cuts that should be generated for each shape. A separation parameter indicates the desired distance between the outer-most cuts of two neighboring shapes in the pattern.
There are half a dozen different shapes/patterns to choose as of this release: quads, triangles, diamonds, diamonds2, hexagons, and circles (probably should rename it to 'ellipses', doh!)
The "Remove Partials" option tells PixelCNC to omit cuts which are hanging off the sides of the canvas.
Raster-layers have two new editing functions which allow repeating a layer's contents by a specified number of columns/rows or circularly. The circular tiling function has a few more parameters and options than the cols/rows function. Equivalent parameters will be added to the 2D tiling function in the next update.
Raster-layers can now be tilted along their X and Y axes to produce a sloping effect. This is not the same as rotating the layer like it's a model as the layer's 2D footprint on the canvas does not change. The tilt angle of a raster-layer can be adjusted in the layer's properties or by right-click dragging the edge handles of the layer in the 3D view, just as with rotating the layer around the Z axis can be performed by right-click dragging the corner handles.
The profiling operation can now generate multiple successive cuts approaching contoured forms using the new "Cut Width" parameter.
The cut width parameter does not control the actual width of the area milled out by the cuts, but instead only sets the distance between the outer-most and inner-most cuts, which is filled with incremental cuts at the specified cut stepover size starting from the outer-most and progressing to the inner-most. To calculate the total width that will result from a given cut width simply add the cut width value to the cutter's diameter.
The horizontal milling operation can be used for horizontal finishing by setting the cut stepover to zero which produces only cuts that profile the canvas at 'cut depth' Z increments down to 'max depth' below the top of the canvas. The problem was that areas with less of a slope would result in cuts that are spread out. This can be seen in the image below which shows a horizontal finishing toolpath with the minimum angle at zero degrees:
For several of the carving operations a corresponding maximum-angle parameter will be added in a future release which instead limits cuts to shallower areas of the canvas.
Some operations will confine their generated cutpaths from the edges of the canvas at a distance equal to the radius of the cutter. This can be disabled by disabling "confine cuts" on the operations which offer the ability to toggle it. Some operations are not affected by it because their cutpaths are unusual (i.e. stippling).
Note: There was a bit of confusion when naming and implementing the confine cuts option which has caused the effect that the toggle has to be backwards from the intended behavior. When Confine Cus is disabled the cuts will be confined from the edges of the canvas by the cutter's radius. When it appears enabled the center of the cutter will be able to approach the edges of the canvas. The behavior should be the other way around! *Facepalm* The next update will have the logic reversed so that an operation which currently has it enabled will show it as disabled, and vice-versa. The behavior of the operation's toolpath generation will remain as it was with v1.44a without users reversing the state of the option for their projects after updating to a fixed release.
The raster-along-paths function has been expanded to support text-along-paths and now displays a preview of the function in the 3D view. The preview is a low-fidelity approximation but it does the job of giving the user an idea of what the generated layer will be like. There's also a new parameter for controlling the lateral positioning along the paths called "Position Offset".
This new function will automatically fill a project's tool definitions using the first ten definitions stored in the user's tool library. The user will be prompted first with a warning about any existing tool definitions being overwritten. This function allows users to quickly re-use tools across multiple projects without having to manually load each one to the project's tools from the library one at a time.
Prior to v1.44a PixelCNC would completely leave the path-editing mode when the user undoes or redoes a path-editing action. This is no longer the case. PixelCNC now properly maintains the path-editing state, which includes which paths and nodes are selected, and whether or not path-editing mode is active. This should make it much quicker and easier when editing paths while employing the undo/redo functions.
Finally! PixelCNC is no longer limited to importing model-layers from binary Stereolithography/*.STL model files. ASCII *.STL models can now be loaded as well as Wavefront *.OBJ models, which are generally ASCII as well. There is apparently a binary variant of the Wavefront OBJ format and it tends to not be used often. There may still exist certain ASCII model files of the *.STL or *.OBJ format which are situated in an unusual way and fail to load properly. If users come across any model files like this please report them via the PixelCNC forum at forum.deftware.org
Aside from bugfixes and new features such as adaptive/trochoidal milling, path/raster editing functions, and miscellaneous improvements, the main focus now will be producing tutorial videos for helping users learn how to use PixelCNC to the fullest. There will be a set of smaller tutorials which cover specific aspects and functionality. These will be a few minutes in length and serve as bite-sized tidbits of information for users to quickly find and learn what it is they're curious to learn about. There will also be complete project walkthroughs which demonstrate in a stepwise fashion the creation of a project from beginning to end, including some basic machine setup and techniques for processing a workpiece after cutting.
There will also be some promotional materials which are meant for marketing purposes, along with a new store page! Itch.io served PixelCNC well in its early days when it was first released two years ago but has significantly outgrown the many limitations of the platform. We'll be moving to Shopify where we can also sell physical items and have much more control to customize the store and product pages.
Another PixelCNC update probably won't be out for a few months, and when it does come it will certainly be smaller in scope - as will all future updates. The focus now is on expanding resources for users now that many of the features and functionality are implemented.
Thanks for reading!