The bug lies in the fact that SmoothPathCache comapare path attributes
in `resolve_or_fit_split_with_seam`. For some paths it does the
following: If attributes of paths are the same it merges the paths.
Since the == operator of ExtrusionAttributes did not consider
overhang_attributes in the comparison, some paths were
merged even though they had different overhang_attributes.
This led to the wrong overhang attributes being applied to
some paths.
Now the == operator of ExtrusionAttributes takes overhang_attributes
into account and it fixes the issue.
If a rear seam was projected it was not respecting seam paiting,
because it continued to search the points even if they had
'worse' point_type (e.g. common/blocker). Now the search
is aborted if there is an enforcer and it is not picked.
In the code as-is, the half-width of the skirt extrusion is
added to the user-specified distance. However, the user-specified
distance is scaled to internal units while the half-width is not,
resulting in math like "250000 + 0.125" for a skirt extrusion of
0.5mm
The fix is to include the half-width inside the scaling function
so that it is also scaled, resulting in math like "250000 + 125000".
The user-visible result is that if you have no brim and set the
skirt spacing to zero, the skirt will actually touch the model
and not be offset by half an extrusion width.
- 'Tilt profiles' renamed to 'Profiles settings'
- Area fill and delay before/after exposure are now showed in Normal mode
- Fixed and refactored calculation of time estimates
- Changed '+ / -' to the respective unicode character
- Tolerance added into print statistics
+ "area_fill" is moved to Material Settings
+ "Tilt times" group is removed from SLA Printer Settings
+ Processed disabling/enabling of some parameters in respect to "use_tilt"
+ Implemented configuration option for vector of Enums