v1.33a - Outline Mode + Tabs, Improved Meshgen, Misc. Fixes/Changes

This is a small update comprising mostly bugfixes and changes that I felt should be released sooner rather than later. This version is actually a fork from v1.32a which I have manually transposed the changes from the main development version into. The main development version is currently incapable of being compiled due to the incorporation of the new layered canvas system and I felt that some of these fixes were important enough to warrant their own release ASAP. Otherwise these would've sat in the main development version, unreleased, until the canvas system is completed, which is going to be another month or two.

v1.33a changes.txt:

  • renamed 'outline' operation to 'profiling'
  • flipped profiling operation's toolpath offset direction as set via step parameter: positive step now offsets away from islands and/or into pockets)
  • added 'outline mode' to profiling operation to ignore internal contours, for cutting out a finished project after carving
  • added tabs to profiling operation as tab spacing/length/height parameters
  • increased allowed distance for linking cut paths in pocketing operation
  • improved overall quality of conformal operation toolpaths
  • changed blending mode of machine-origin axes to ensure visibility
  • added 'done' button to tool parameters panel
  • added project/simulation shading slider to 'view settings' dialog
  • added potential (untested) fix for export g-code crash
  • improved overall cutpath quality (at expense of generation speed)
  • improved mesh generation quality & speed: generates less extraneous triangles
  • fixed helical engage type not changing when operation type is changed, causing faulty toolpaths to generate.
  • fixed horizontal/pocketing operation toolpaths from generating 'bridges' between an island's contour and a pocket within the island.
  • fixed parallax occlusion mapping shader appearing 'grainy' in metric mode
  • fixed spiral toolpath generating excessive points in metric mode
  • fixed path simplify not working on many short colinear segments
  • fixed crash when generating new operation when auto-backup starts saving project
  • fixed crash when mesh triangle buffer tries to re-alloc a negative number of bytes

Renamed 'Outline' to 'Profiling'

This is purely a superficial change because some users reported the need for being able to cut out a relief/emboss project after it was done carving. To my mind they wanted the ability to generate a toolpath only around the actual outer-most contour(s), ignoring any internal contours. So, to create an "outline mode" for the "outline operation", which was a conflict in naming, I opted to just rename the whole operation itself from "outline" to "profiling", as it does in fact enable the user to generate toolpaths which profile a contour that's generated for a given threshold depth on the input image. 

The new outline mode that has been added to the operation allows the user to generate cutpaths from either the outer-most pockets or islands.

Above shows the outline mode enabled for the profiling operation, set to cut the outer-most islands.

Above shows the same as before, but set to cut the outer-most pockets that are found.

Profiling Tabs

The profiling operation (formerly the Outline operation) has had the additional functionality of being able to include tabs in the generated cutpaths. These are to allow the user to leave tiny bits of stock between the outside and inside of the profiling cut, which will hold the piece being cut out in place. The user can adjust the spacing, length, and height of the generated toolpath tabs (though not currently taking tool radius into account).

Tabs are not limited to outline mode, they can be incorporated into any profiling operation's generated toolpath. If any of the tab parameters are equal to zero then tabs will be omitted from the toolpath entirely.

Shading Adjustment

Project and simulation 3D shading can now be adjusted via the View Settings dialog under the Config menu.

The adjustment range is from 0.0 to 2.0. In the image above on the left is shading set to 0.3, on the right it's 1.7

Improved Mesh Generation

PixelCNC has relied on producing more-than-necessary numbers of triangles for any meshes that it generates. The mesh that is displayed for the current project is not the same mesh upon which intersection maths are performed to generate the various contours that comprise a toolpath, but the meshes that are happen to be generated using the same algorithm. The mesh displayed in the 3D view for the current project is purely for user convenience, and is actually lower-resolution than the meshes that are generated for generated toolpaths off of. As such, smaller details are conveyed via shaded texturing.

Here's a project mesh with some fine details that are conveyed via the shaded texture, which is mapped onto a lower-resolution mesh that does not actually conform to the underlying project image:

Here you can see the project mesh on the left-side, the underlying mesh in wireframe mode in the middle, and yet the simulation with a relatively small tool and a tiny step-over is able to reproduce the details that are present in the project mesh's texture but not the mesh itself.

v1.33a has had some refinement to the meshing algorithm which reduces redundant triangles, not by performing a secondary pass to eliminate them but instead by not producing them in the first place. The GIF animation below shows v1.32a and v1.33a. The mesh with more triangles is from v1.32a, and is generated from the same project that is open in the v1.33a frame of the animation.

Originally the extra triangles generated were a product of the meshing algorithm attempting to prevent any fine details from slipping through and not represented via the recursive triangle subdivision. They would sometimes "fall through the cracks". The new approach eliminates the overzealous subdivision while still capturing the small details.

If you do happen to encounter a situation where it appears that the toolpaths being generated do not capture the details of the project then please report your findings to the messageboard so we can adjust things accordingly.


PixelCNC v1.33a (64-bit) 2 MB
Apr 19, 2019
PixelCNC v1.33a (32-bit) 2 MB
Apr 19, 2019
PixelCNC v1.33a Trial (64-bit) 2 MB
Apr 19, 2019
PixelCNC v1.33a Trial (32-bit) 2 MB
Apr 19, 2019

Get PixelCNC: Fast/Easy CAM for Signs, Engravings, Art, and More!

Buy Now$160.00 USD or more

Leave a comment

Log in with itch.io to leave a comment.