diff --git a/src/slic3r/GUI/GCodeViewer.cpp b/src/slic3r/GUI/GCodeViewer.cpp index f23c10faea..14743415c2 100644 --- a/src/slic3r/GUI/GCodeViewer.cpp +++ b/src/slic3r/GUI/GCodeViewer.cpp @@ -2339,9 +2339,18 @@ void GCodeViewer::load_shells(const Print& print) return; // adds objects' volumes - int object_id = 0; for (const PrintObject* obj : print.objects()) { const ModelObject* model_obj = obj->model_object(); + int object_id = -1; + const ModelObjectPtrs model_objects = wxGetApp().plater()->model().objects; + for (int i = 0; i < static_cast(model_objects.size()); ++i) { + if (model_obj->id() == model_objects[i]->id()) { + object_id = i; + break; + } + } + if (object_id == -1) + continue; std::vector instance_ids(model_obj->instances.size()); for (int i = 0; i < (int)model_obj->instances.size(); ++i) { @@ -2360,8 +2369,6 @@ void GCodeViewer::load_shells(const Print& print) v->set_volume_offset(v->get_volume_offset() + z_offset); } } - - ++object_id; } wxGetApp().plater()->get_current_canvas3D()->check_volumes_outside_state(m_shells.volumes);