From 7ebd0bbb3be9a96a245c172dcae5e9b9458677da Mon Sep 17 00:00:00 2001 From: YuSanka Date: Thu, 11 Aug 2022 15:38:29 +0200 Subject: [PATCH] Fix for #8668 - Don't set printable state on merge if all parts are unprintable --- src/slic3r/GUI/GUI_ObjectList.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 7d11113ac..d2e154eab 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -2148,8 +2148,12 @@ void ObjectList::merge(bool to_multipart_object) const Vec3d mirror = transformation.get_mirror(); const Vec3d rotation = transformation.get_rotation(); - if (object->id() == (*m_objects)[obj_idxs.front()]->id()) + if (object->id() == (*m_objects)[obj_idxs.front()]->id()) { new_object->add_instance(); + new_object->instances[0]->printable = false; + } + new_object->instances[0]->printable |= object->instances[0]->printable; + const Transform3d& volume_offset_correction = transformation.get_matrix(); // merge volumes @@ -2214,6 +2218,9 @@ void ObjectList::merge(bool to_multipart_object) add_object_to_list(m_objects->size() - 1); select_item(m_objects_model->GetItemById(m_objects->size() - 1)); update_selections_on_canvas(); + + // update printable state for new volumes on canvas3D + wxGetApp().plater()->canvas3D()->update_instance_printable_state_for_object(int(model->objects.size()) - 1); } // merge all parts to the one single object // all part's settings will be lost