diff --git a/object_fracture_cell/__init__.py b/object_fracture_cell/__init__.py index fd8f0c4de2c8e4402ca229c2b10cd8655d45fe57..af7e623c465cd9f6de1b91f3b0b04771a6ebf47b 100644 --- a/object_fracture_cell/__init__.py +++ b/object_fracture_cell/__init__.py @@ -199,9 +199,9 @@ def main(context, **kw): def _getObjectBBMinMax(): min_co = Vector((1000000.0, 1000000.0, 1000000.0)) max_co = -min_co - matrix = obj_cell.matrix_world + matrix = obj_cell.matrix_world.copy() for i in range(0, 8): - bb_vec = obj_cell.matrix_world * Vector(obj_cell.bound_box[i]) + bb_vec = matrix @ Vector(obj_cell.bound_box[i]) min_co[0] = min(bb_vec[0], min_co[0]) min_co[1] = min(bb_vec[1], min_co[1]) min_co[2] = min(bb_vec[2], min_co[2]) diff --git a/object_fracture_cell/fracture_cell_setup.py b/object_fracture_cell/fracture_cell_setup.py index ee3b22c6df03e9f390ecab3e917cdd94a7aaf115..0bd5554760980695c331e7644cf525e8035a61a8 100644 --- a/object_fracture_cell/fracture_cell_setup.py +++ b/object_fracture_cell/fracture_cell_setup.py @@ -391,17 +391,13 @@ def cell_fracture_boolean(context, obj, objects, if (not use_debug_bool) and use_island_split: # this is ugly and Im not proud of this - campbell for ob in view_layer.objects: - ob.select_set(True) + ob.select_set(False) for obj_cell in objects_boolean: obj_cell.select_set(True) - objects_before = set(scene.objects) - bpy.ops.mesh.separate(type='LOOSE') - objects_boolean[:] = [obj_cell for obj_cell in scene.objects if obj_cell not in objects_before] - - del objects_before + objects_boolean[:] = [obj_cell for obj_cell in view_layer.objects if obj_cell.select_get()] context.view_layer.update()