0,18mm z axis

Hi, 

just want to share with you our findings  :)

z-code for this model is made in Z-Suite 1.6.1, and than opened in 0.9.6. All printing results are same except of z axis height. It says 0,18 mm instead of 0,19mm. It looks like Z team made same modifications in the latest Z-Suite.

Its just a number. If you would save ZCODE from newest ZS using 0,09 layer, you'll get 0,08 using any older ZS version. Same applies for any layer ;)

To add some technical insight: the m200 never supported the odd layer heights that Zortrax advertises and displays in Z-Suite. E.g. instead of 0.09mm., the minimum layer height is and always was 0.1mm.

Also "0.14mm" is really 0.15mm. "0.19mm" is 0.2mm and so on. This can be easily checked by counting layers with the pause feature or by analysis of the Z movements.

Not sure why they decided to do so, probably this was more a decision of the marketing department to give the m200 better sounding resolutions compared to the competition.

Anyway, all versions before V1.6.x used the true layer height as numerical value for the layer height entry in the ZCode header. E.g. the 0.14mm layer height was represented by a 15 internally which reflected the true layer height of 0.15mm.

Now this meant that do display the "fake" resolutions, this internal value needed to be decremented by one. The actual formula used for display was "(layerThickness - 1) / 100".

In V1.6.x the developers decided for some reason to change the internal values to fit the fake resolution. So they now used the internal value of 14 for the actual 0.15mm layer height.

What they overlooked was this broke compatibility with older ZCode files. So when you tried to open a Zcode file created with a pre v1.6.0 version with the very first v1.6.x release, it complained about a defective file as it couldn't recognize the old numerical value 15 where it now expected 14. Now this was clearly a bug and should have been fixed by reverting to the original values. Instead Zortrax released another v1.6.0 shortly after which didn't fix the root cause but added a workaround: since then it detects if the ZCode was created with a version before v1.6.x and uses this to decide whether to use the old or new numerical values. Now while this fixed the compatibility of new Z-Suite versions with older ZCode files, it didn't fix the backwards compatibility of ZCode created with V1.6.x with older versions.

Fortunately (?), older versions of Z-Suite don't check the layer height for plausibility, but they use the "(layerThickness - 1) / 100" formula to display the fake resolution.

Since e.g. the 0.2mm resolution is now represented by a 19 (v1.6.x) instead of a 20 (older versions) in the Zcode header, the calculation (19-1)/100 yields 0.18mm.