From 052efbf2c3c669861e946e2e89ac9f6bdd3bf606 Mon Sep 17 00:00:00 2001 From: remi durand Date: Thu, 3 Jun 2021 19:01:00 +0200 Subject: [PATCH] fix error on extruders when no support interface supermerill/SuperSlicer#1233 --- src/libslic3r/Print.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 2fb2aaa51..5db104f47 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -375,15 +375,17 @@ std::vector Print::support_material_extruders() const uint16_t i = (uint16_t)object->config().support_material_extruder - 1; extruders.emplace_back((i >= num_extruders) ? 0 : i); } - assert(object->config().support_material_interface_extruder >= 0); - if (object->config().support_material_interface_extruder == 0) - support_uses_current_extruder = true; - else { - uint16_t i = (uint16_t)object->config().support_material_interface_extruder - 1; - extruders.emplace_back((i >= num_extruders) ? 0 : i); + if (object->config().support_material_interface_layers > 0) { + assert(object->config().support_material_interface_extruder >= 0); + if (object->config().support_material_interface_extruder == 0) + support_uses_current_extruder = true; + else { + uint16_t i = (uint16_t)object->config().support_material_interface_extruder - 1; + extruders.emplace_back((i >= num_extruders) ? 0 : i); + } + } } } - } if (support_uses_current_extruder) // Add all object extruders to the support extruders as it is not know which one will be used to print supports.