April 5: PixelCNC v1.78b Released - Use 'SPRING50' for 50% Off Before June 1st!

PixelCNC v1.68b

This is another smaller update to improve a few internals and add a few things.

 

Improved Paths-Layer Rasterization

When generating a raster-layer via Shapes From Paths, or generating cutpaths for an operation that can use a paths-layer as contour input, PixelCNC internally rasterizes the paths out at the canvas' resolution. This must be done with some antialiasing to smooth out edges. Prior to this update, antialiasing was achieved by rasterizing at a very high resolution and downscaling the result. This could potentially lead to a memory allocation error if the canvas was large enough and/or the canvas resolution was high enough.

The rasterization routine has been re-worked to no longer require allocating a large buffer to rasterize out to that would then be downscaled to the canvas resolution. Rasterization takes place at the canvas resolution and supersampling is performed to achieve antialiasing instead. This has allowed for a decent performance increase in most situations, and allows users to use large canvases and canvas resolutions to generate raster-layer shapes and cutpaths from paths-layers.

There is a caveat to the new supersampling technique, however. When toolpathing off a paths-layer it will be faster when there are few paths within the layer, by a significant margin. There is a crossover point, depending on the system PixelCNC is running on, where the number of paths within the paths-layer will end up taking longer to generate a toolpath from than before. In any case, the speed of toolpath generation is dictated by the project's canvas resolution. The time that it takes for a toolpath to generate is affected by the square of the canvas resolution. A doubling of canvas resolution results in a quadrupling of the time it takes to perform calculations. 

 

Per-Project Canvas/Simulation Coloration

The canvas and simulation colors, a long with their associated color function curve values, that are accessible from the View Settings dialog have been changed to control what the default coloration will be when creating a new project. This is because this update brings with it the ability to set canvas and simulation coloration (and color curves) per-project.

The canvas coloration can be set via Canvas Properties and the simulation coloration can be set while an operation is selected in the Project Simulation mode. These don't seem like completely ideal situations for these property settings to be accessed within the interface, so their locations may change in a future update (any suggestions?)

This may be expanded in a future update to also include a 2D texture - which would be chosen from one of a handful of presets, but it's admittedly not a huge priority at the moment.

 

Fixed 2D Profiling Canvas Edge Cutpaths

When using a paths-layer as contour input, and Invert is enabled, PixelCNC would generate cuts around the edges of the canvas in some situations. This was a bit of an oversight when the Invert option was added - it was believed to have been remedied but after some further testing it was found that the canvas edge cuts could still end up generating unnecessarily.

 

Changed 2D Profiling Forcing Tab Cut Plane

When incrementing the cutting plane depth by the specified Cut Depth, a layer of cuts will not be forced to occur at the top of tabs, if tabbing is enabled. This was originally added in there so that when a nonzero Cut Width is used, to produce a series of neighboring cuts at each cutting plane, there would always be a series of cuts at the same plane as the top of the tabs that are to be placed - which isn't something users will necessarily want, especially if they're trying to achieve a specific number of cutting depth planes.

 

Light Rendering Change

The 3D rendering of the canvas and simulation have been changed so that the specular lighting (gloss/shine) are properly calculated with the diffuse lighting across surfaces to maintain "energy conservation". This isn't a big deal, it was more of a quick novelty/experimental change just out of curiosity. :P

 

What's Next?

 There are always plenty of things to do. We still need to put out videos that demonstrate how to achieve specific things, and use certain functionalities in depth. There is a new set of features that have been planned for the canvas editing system which entail being able to select and edit/copy/paste parts of a raster-layer, or copy/paste paths within a paths-layer. We're looking at options for an online media library that users can add to, and use content from, so that everyone can share different design elements and things to use in their projects. 

Leave a comment