fix error on extruders when no support interface

supermerill/SuperSlicer#1233
This commit is contained in:
remi durand 2021-06-03 19:01:00 +02:00
parent 1749bf0952
commit 052efbf2c3

View File

@ -375,15 +375,17 @@ std::vector<uint16_t> 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.