mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-08 07:27:41 -06:00
Make Overhang Printable (#1615)
* First working conical overhang impl * Add settings for Make overhang printable * Added an Advanced setting to the Quality menu for Make overhang printable * Allow toggling the feature and adjusting the angle threshold * Retain recesses in the bottom of the model when "Make Overhangs Printable" is turned on * Add settings for Make overhang printable hole size * Allow disabling conical overhang per modifier * Should check upper layer instead * Skip unnecessary layers * Apply conical overhang before any size compensation which fixs the `lslices` not being updated issue and also the elephant foot compensation * 1. Fix an issue that changing make_overhang_printable related parameters won't clear caches properly. 2. Tweak the logic of make_overhang_printable parameter so that it works for per region/object/print level. Remove make_overhang_printable_disable parameter. * Change default make_overhang_printable_angle to 55 * One more missing commit * 1. Skip checking default_region_config()->make_overhang_printable 2. Handle make_overhang_printable_angle and make_overhang_printable_hole_size value change --------- Co-authored-by: David Bern <odie5533@users.noreply.github.com> Co-authored-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
parent
ab6649da8a
commit
b571318be8
11 changed files with 164 additions and 5 deletions
|
@ -787,7 +787,11 @@ Slic3r::ExPolygons union_ex(const Slic3r::ExPolygons& poly1, const Slic3r::ExPol
|
|||
for (const ExPolygon& expoly : poly2)
|
||||
expolys.push_back(expoly);
|
||||
return union_ex(expolys);
|
||||
}
|
||||
}
|
||||
|
||||
Slic3r::ExPolygons xor_ex(const Slic3r::ExPolygons &subject, const Slic3r::ExPolygon &clip, ApplySafetyOffset do_safety_offset) {
|
||||
return _clipper_ex(ClipperLib::ctXor, ClipperUtils::ExPolygonsProvider(subject), ClipperUtils::ExPolygonProvider(clip), do_safety_offset);
|
||||
}
|
||||
|
||||
template<typename PathsProvider1, typename PathsProvider2>
|
||||
Polylines _clipper_pl_open(ClipperLib::ClipType clipType, PathsProvider1 &&subject, PathsProvider2 &&clip)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue