note: added some code to migrate automatically from float (0.9) to percent (90%). The reverse should not be a problem.
fields: bridge_flow_ratio over_bridge_flow_ratio bridge_overlap fill_top_flow_ratio first_layer_flow_ratio
Also some option to only apply to hole (or others)
Also some fixes to some loops options in the codepath.
also a test to thin walls, suspected a bug but can't find it.
This reverts commit 3d3e36ba8d22d3654fb6adb451dae9f0eb6cf818.
The change is too risky just before the PrusaSlicer 2.2.0 final release
and the feature may need a bit of polishing before release.
The two new config keys define a minimum vertical shell thickness.
The top shell thickness is calculated as a maximum of sum over
top_solid_layers * layer heights and top_solid_min_thickness,
the bottom shell thickness is calculated as a maximum of sum over
bottom_solid_layers * layer heights and bottom_solid_min_thickness.
The results of the formula above are shown at the Print parameter page
below the two new values to hint the user about the interaction
of the old versus new config values.
top_solid_min_thickness has no meaning if top_solid_layers is zero,
bottom_solid_min_thickness has no meaning if bottom_solid_layers is zero.
by the PlaceholderParser.
Namely, all the options with the "ratio_over" reference are now handled
correctly by the PlaceholderParser with the exception
of the "first_layer_extrusion_width", which overrides speed of extrusions
by their respective extrusion type.
Also the various extrusion widths (extrusion_width, first_layer_extrusion_width,
external_perimeter_extrusion_width etc.) produce the same numbers
as if ran through the back-end, with the assumption of not overriding
layer height by the variable layer height editing tool or layer height
modifiers.
Seam position default to corners (hidden) from "nearest", to avoid confusion when migrating from a prusaslicer config.
fix for modifiers with no_perimeter_unsupported_algo
npuaBridges surface fix
Fixed layouts after the second opening of the dialog.
(Removing any extruder from the sequence does not cause an incorrect layout)
Validation of entered values added
(0 is not a valid value)
DynamicPrintConfig::full_print_config()
new cheaper constructors of DynamicConfig / DynamicPrintConfig from ConfigBase
Unit tests: ported test_model from upstream Slic3r, thanks @lordofhyphens
Unit tests refactored to use less autos and initializer lists for readibility,
DynamicPrintConfig is handled by value, not by shared pointer.
- now can extrude a brim for an island inside a hole
- now can extrude "interior brim"
- ditch the old complicated code that didn't use the ClipperUtils methods
bugfix flow inaccuracies in FillSmooth.
TODO: do something about surface too small to be printed, particularly when 'only one perimeter top' -> don't extract them or use gapfill