Hi Ryan. Thank you for your kind words. Allow me to clarify this entry in the changelog.
Layer thickness is already a base parameter in the UI. You can find it by the internal name ‘z_layer_height_mm’. This particular parameter can be set “per-layer”, which in the end means the layer thickness does not have to be constant. In other words, layer thickness varies throughout the geometry’s height; in some interval (say, the first 2cm of height) it’s one value and in the next interval is another and so on.
Now, the C++ interface for the post-processing plugin has a function (the most important one) that is called and executed on every layer. At this point, these layers represent deposition trajectories -unlike say, shape contours for infill plugins-. This is the last stage before these deposition trajectories are translated to machine code; which is GCode in this case.
This “important” function is now called with two extra parameters for the layer thickness and its height w.r.t. the building plate of the printer. With these parameters, the user (that is coding the plugin) can use this precise information.
Why were they added? When I was doing a post-processing plugin for an internal project here I found out that I could not correctly query the value of a per-layer setting for the currently post-processed layer when the layer thickness was itself set “per-layer” (i.e., different values across the height of the geometry). But now, with these changes, it is perfectly possible.
I hope this clarifies your comment. Let me know if there is need for more details.
Salim.
First off, I am extatic that IceSL continues to develop! So thank you for this!!!