ENH: improve mesh boolean

1. Don't use mcut on splitable volumes
2. If MCut fails, try again with CGAL.

Change-Id: I55d352b166633db9e4548b5c9e6913cf931f5f8f
(cherry picked from commit c1bde5358524d2291db6efa584ff072308ed9d20)
This commit is contained in:
Arthur 2023-06-21 15:30:04 +08:00 committed by Lane.Wei
parent 1fe741b7f0
commit 40b8d9b87f
3 changed files with 22 additions and 11 deletions

View file

@ -2913,7 +2913,7 @@ void ObjectList::boolean()
new_object->add_instance();
ModelObject* object = (*m_objects)[obj_idxs.front()];
TriangleMesh mesh = Plater::combine_mesh_fff(*object, -1);
TriangleMesh mesh = Plater::combine_mesh_fff(*object, -1, [this](const std::string& msg) {return wxGetApp().notification_manager()->push_plater_error_notification(msg); });
ModelVolume* new_volume = new_object->add_volume(mesh);
// BBS: ensure on bed but no need to ensure locate in the center around origin