From 917ae80cc2d992092ef82a5870fe7d82b0834aaf Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Wed, 12 Jul 2023 13:40:55 +0200 Subject: [PATCH] Bugfix: extruder indices mismatch when using specific extruder for the wipe tower (followup of 2d6d37f, which was wrong) --- src/libslic3r/GCode/ToolOrdering.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/libslic3r/GCode/ToolOrdering.cpp b/src/libslic3r/GCode/ToolOrdering.cpp index acddb137e5..3d1298f3e3 100644 --- a/src/libslic3r/GCode/ToolOrdering.cpp +++ b/src/libslic3r/GCode/ToolOrdering.cpp @@ -169,6 +169,11 @@ ToolOrdering::ToolOrdering(const Print &print, unsigned int first_extruder, bool this->fill_wipe_tower_partitions(print.config(), object_bottom_z, max_layer_height); if (this->insert_wipe_tower_extruder()) { + // Now convert the 0-based list to 1-based again, because that is what reorder_extruder expects. + for (LayerTools& lt : m_layer_tools) { + for (auto& extruder : lt.extruders) + ++extruder; + } this->reorder_extruders(first_extruder); this->fill_wipe_tower_partitions(print.config(), object_bottom_z, max_layer_height); } @@ -478,12 +483,7 @@ bool ToolOrdering::insert_wipe_tower_extruder() sort_remove_duplicates(lt.extruders); changed = true; } - } - // Now convert the 0-based list to 1-based again. - for (LayerTools& lt : m_layer_tools) { - for (auto& extruder : lt.extruders) - ++extruder; - } + } } return changed; }