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:
Noisyfox 2024-06-30 23:25:15 +08:00 committed by GitHub
parent 8ccf0edbc2
commit 4145f45e42
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 1029 additions and 5 deletions

View file

@ -957,7 +957,13 @@ bool PrintObject::invalidate_state_by_config_options(
|| opt_key == "slowdown_for_curled_perimeters"
|| opt_key == "make_overhang_printable"
|| opt_key == "make_overhang_printable_angle"
|| opt_key == "make_overhang_printable_hole_size") {
|| opt_key == "make_overhang_printable_hole_size"
|| opt_key == "interlocking_beam"
|| opt_key == "interlocking_orientation"
|| opt_key == "interlocking_beam_layer_count"
|| opt_key == "interlocking_depth"
|| opt_key == "interlocking_boundary_avoidance"
|| opt_key == "interlocking_beam_width") {
steps.emplace_back(posSlice);
} else if (
opt_key == "elefant_foot_compensation"