diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 6eb2b068e..cb72ac229 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -341,7 +341,7 @@ std::vector Print::extruders(bool conside_custom_gcode) const for (auto plate_data : m_model.plates_custom_gcodes) { for (auto item : plate_data.second.gcodes) { if (item.type == CustomGCode::Type::ToolChange) - extruders.push_back((unsigned int)item.extruder); + extruders.push_back((unsigned int)(item.extruder - 1)); } } } diff --git a/src/slic3r/GUI/GCodeViewer.cpp b/src/slic3r/GUI/GCodeViewer.cpp index 96b7fcb75..121e85083 100644 --- a/src/slic3r/GUI/GCodeViewer.cpp +++ b/src/slic3r/GUI/GCodeViewer.cpp @@ -3176,19 +3176,8 @@ void GCodeViewer::load_shells(const Print& print, bool initialized, bool force_p } if (wxGetApp().preset_bundle->printers.get_edited_preset().printer_technology() == ptFFF) { - // BBS - // adds wipe tower's volume - std::vector print_extruders; - for (auto print_obj : print.objects()) { - ModelObject* mo = print_obj->model_object(); - for (ModelVolume* mv : mo->volumes) { - std::vector volume_extruders = mv->get_extruders(); - print_extruders.insert(print_extruders.end(), volume_extruders.begin(), volume_extruders.end()); - } - } - std::sort(print_extruders.begin(), print_extruders.end()); - auto it_end = std::unique(print_extruders.begin(), print_extruders.end()); - print_extruders.resize(std::distance(print_extruders.begin(), it_end)); + // BBS: adds wipe tower's volume + std::vector print_extruders = print.extruders(true); int extruders_count = print_extruders.size(); const double max_z = print.objects()[0]->model_object()->get_model()->bounding_box().max(2);