From f25531484b5b73e1fc16aa13fb60f4d2e0c5f69b Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Wed, 24 May 2023 16:48:14 +0200 Subject: [PATCH] Fixed Print::extruders() so it is aware of the wipe_tower_extruder --- src/libslic3r/Print.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 2487b68e2..458671e5b 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -329,6 +329,15 @@ std::vector Print::extruders() const std::vector extruders = this->object_extruders(); append(extruders, this->support_material_extruders()); sort_remove_duplicates(extruders); + + // The wipe tower extruder can also be set. When the wipe tower is enabled and it will be generated, + // append its extruder into the list too. + if (has_wipe_tower() && config().wipe_tower_extruder != 0 && extruders.size() > 1) { + assert(config().wipe_tower_extruder > 0 && config().wipe_tower_extruder < int(config().nozzle_diameter.size())); + extruders.emplace_back(config().wipe_tower_extruder - 1); // the config value is 1-based + sort_remove_duplicates(extruders); + } + return extruders; }