Open vovodroid opened 1 week ago
Personally, as you've already opened the code for this, I would think that rounding the variable layer height to 2 decimals may be preferred as most printers cannot output a 3 digit precision on the z (or any other axis for that matter) in a meaningful way.
For example a Voron 2.4 per full step of the z axis outputs 0.04mm in Z movement per full step, and, assuming a fully precise 16 micro steps, it would output 0.0025mm per micro step. So a 0.001 move is not possible with the standard voron setup for example.
Using 64 micro steps a voron may be able to output a resolution of 0.000625 per micro step so a layer height change of 0.001mm would be 1.6 micro steps to execute which is not really attainable due to micro step drift.
So I'd recommend a 0.01 precision which is achievable with 4 micro steps on the standard config which can be theoretically output with some level of accuracy.
I use three digits to make it consistent with Prusa (https://github.com/prusa3d/PrusaSlicer/pull/10298). They took my implementation and limited it to three digits. I have nothing against 0.01.
Yeap agreed - but I don’t think prusas is right either. The mechanical accuracy of our printers can’t reproduce 3 digits with any meaningful precision. Maybe @SoftFever could chime in here too as I may be wrong :)
You are right, but for whatever reason g-code resolution is also rounded to 0.001, despite standard XY step is 0.0125
I thought that XY is quantized by the slicing tolerance value, so if you set 0.0125 there it would create quanta with this irrespective of decimal places 🤔
Currently in variable layer height slider heights are shown with six digits precision:
It has no meaning as Z height is rounded to three digits anyway (and to two digits in slider):
This PR rounds variable height calculation and displaying to three digits: