Fix for #8668 - Don't set printable state on merge if all parts are unprintable

This commit is contained in:
YuSanka 2022-08-11 15:38:29 +02:00
parent 17e7b182ee
commit 7ebd0bbb3b

View File

@ -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