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; }