mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-14 10:17:55 -06:00
Port of Cura's multi-material interlocking (#5775)
* Init port of Cura's MM interlocking * Refactor a bit * Fix crash when bottom surface is multi-color * Fix crash when boundary avoidance is 0 * Add config --------- Co-authored-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
parent
8ccf0edbc2
commit
4145f45e42
15 changed files with 1029 additions and 5 deletions
|
@ -2292,7 +2292,9 @@ std::vector<std::vector<ExPolygons>> multi_material_segmentation_by_painting(con
|
|||
BOOST_LOG_TRIVIAL(debug) << "MM segmentation - layers segmentation in parallel - end";
|
||||
throw_on_cancel_callback();
|
||||
|
||||
if (auto max_width = print_object.config().mmu_segmented_region_max_width, interlocking_depth = print_object.config().mmu_segmented_region_interlocking_depth; max_width > 0.f || interlocking_depth > 0.f) {
|
||||
auto interlocking_beam = print_object.config().interlocking_beam;
|
||||
if (auto max_width = print_object.config().mmu_segmented_region_max_width, interlocking_depth = print_object.config().mmu_segmented_region_interlocking_depth;
|
||||
!interlocking_beam && (max_width > 0.f || interlocking_depth > 0.f)) {
|
||||
cut_segmented_layers(input_expolygons, segmented_regions, float(scale_(max_width)), float(scale_(interlocking_depth)), throw_on_cancel_callback);
|
||||
throw_on_cancel_callback();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue