Context: Print Thin Walls and Fill Perimeter Gaps are old settings that aren't needed any more since we switched to libArachne (Varianble Line Widths).
CURA-7148
Previously it was using this 'peak_height' which is the total height of the model in scale_vector.y. However it was then multiplying the height map with that scale vector and adding the base height again a second time. So the scaling part was too thick and included the base height, and the total height of the mesh was also too big.
I also reduced an unnecessary re-calculation of the height_from_base parameter. And as a result we don't need the peak_height variable at all any more.
Fixes#8902.
These formulas were using a setting that didn't exist any more.
Not sure how this got through QA. Oh well, this is what they are intending.
This formula is a little bit weird in how it works with support meshes if support is disabled, but it's more or less as good as it gets. The formula is mirrored from how other Ultimaker printers write it down, but slightly simplified with the same outcome.
The DoubleValidator depends on the system locale, requiring users with certain locales to enter floats with a comma instead of a dot (though confusingly floats are always represented with a decimal a dot). Instead of configuring the DoubleValidator with a locale that only accepts decimal dots, this commit uses a RegExpValidator, like other numeric fields in Cura does.
After https://github.com/Ultimaker/Cura/pull/8684 raft_airgap and speed_layer_0 existed twice in some of the quality profiles.
This commit fixes that by removing the old (calculated) values.
Although it is not entirely sure yet, we are fairly certain that libArachne release will have
a setting version of 18, so it is changed by this commit. With this change, the VersionUpgrader
will be properly triggered.
Contributes to CURA-7683 and CURA-7656
Things to note:
* Since there is no VersionUpgrader from 4.8 to 4.9, this versionUpgrader attempts to upgrade
files made in 4.8. This means that it touches files with setting_version = 16.
* The upgrade of the setting_version to 18 is currently commented out because we are not entirely
sure that 18 will be the setting_version in 5.0.
* This versionUpgrader removes the following three settings that were removed in libArachne
* "Compensate Wall Overlaps"
* "Compensate Outer Wall Overlaps"
* "Compensate Inner Wall Overlaps"
* The VersionUpgrader also disabled Fuzzy Skin from any profiles that may have it enabled, as fuzzy
skin currently doesn't work in libArachne.
* The printer definitions have NOT been updated to the new setting_version to avoid having to deal
with an enormous merge conflict in case the setting_version of 5.0 is something other than 18.
* Since the VersionUpgrader does not alter the setting_version, it will run every time Cura starts.
In short, this versionUpgrader runs and removes the deleted settings but it does not really change
the setting_version of any files.
Contributes to CURA-7683 and CURA-7656