diff --git a/src/blenderbim/blenderbim/bim/module/clash/__init__.py b/src/blenderbim/blenderbim/bim/module/clash/__init__.py index 7fc23861f1..a865a7cf71 100644 --- a/src/blenderbim/blenderbim/bim/module/clash/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/clash/__init__.py @@ -34,9 +34,6 @@ classes = ( operator.SmartClashGroup, operator.SelectSmartGroup, operator.LoadSmartGroupsForActiveClashSet, - operator.SetBlenderClashSetA, - operator.SetBlenderClashSetB, - operator.ExecuteBlenderClash, prop.ClashSource, prop.ClashSet, prop.SmartClashGroup, diff --git a/src/blenderbim/blenderbim/bim/module/clash/operator.py b/src/blenderbim/blenderbim/bim/module/clash/operator.py index 2b2718ee7a..b0c6ffe7ef 100644 --- a/src/blenderbim/blenderbim/bim/module/clash/operator.py +++ b/src/blenderbim/blenderbim/bim/module/clash/operator.py @@ -411,82 +411,3 @@ class SelectSmartGroup(bpy.types.Operator): obj.select_set(True) return {"FINISHED"} - - -class BlenderClasher: - def process_clash_set(self, context): - import collision - - a_cm = collision.CollisionManager() - b_cm = collision.CollisionManager() - self.add_to_cm(a_cm, context.scene.BIMClashProperties.blender_clash_set_a, context) - self.add_to_cm(b_cm, context.scene.BIMClashProperties.blender_clash_set_b, context) - results = a_cm.in_collision_other(b_cm, return_data=True) - if not results[0]: - print("No clashes") - return - for contact in results[1]: - if contact.raw.penetration_depth < 0.01: - continue - print("-----") - print(contact.names) - print(contact.raw.normal) - print(contact.raw.pos) - - def add_to_cm(self, cm, object_names, context): - import ifcclash - - for object_name in object_names: - name = object_name.name - obj = bpy.data.objects[name] - triangulated_mesh = self.triangulate_mesh(obj, context) - mesh = ifcclash.Mesh() - mesh.vertices = np.array([tuple(obj.matrix_world @ v.co) for v in triangulated_mesh.vertices]) - mesh.faces = np.array([tuple(p.vertices) for p in triangulated_mesh.polygons]) - cm.add_object(name, mesh) - - def triangulate_mesh(self, obj, context): - mesh = obj.evaluated_get(context.evaluated_depsgraph_get()).to_mesh() - bm = bmesh.new() - bm.from_mesh(mesh) - bmesh.ops.triangulate(bm, faces=bm.faces) - bm.to_mesh(mesh) - bm.free() - del bm - return mesh - - -class SetBlenderClashSetA(bpy.types.Operator): - bl_idname = "bim.set_blender_clash_set_a" - bl_label = "Set Blender Clash Set A" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - context.scene.BIMClashProperties.blender_clash_set_a.clear() - for obj in context.selected_objects: - new = context.scene.BIMClashProperties.blender_clash_set_a.add() - new.name = obj.name - return {"FINISHED"} - - -class SetBlenderClashSetB(bpy.types.Operator): - bl_idname = "bim.set_blender_clash_set_b" - bl_label = "Set Blender Clash Set B" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - context.scene.BIMClashProperties.blender_clash_set_b.clear() - for obj in context.selected_objects: - new = context.scene.BIMClashProperties.blender_clash_set_b.add() - new.name = obj.name - return {"FINISHED"} - - -class ExecuteBlenderClash(bpy.types.Operator): - bl_idname = "bim.execute_blender_clash" - bl_label = "Execute Blender Clash" - - def execute(self, context): - blender_clasher = BlenderClasher() - blender_clasher.process_clash_set(context) - return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/clash/ui.py b/src/blenderbim/blenderbim/bim/module/clash/ui.py index e212d57599..21e6547e57 100644 --- a/src/blenderbim/blenderbim/bim/module/clash/ui.py +++ b/src/blenderbim/blenderbim/bim/module/clash/ui.py @@ -35,17 +35,6 @@ class BIM_PT_ifcclash(Panel): scene = context.scene props = scene.BIMClashProperties - layout.label(text="Blender Clash:") - - row = layout.row(align=True) - row.operator("bim.set_blender_clash_set_a") - row.operator("bim.set_blender_clash_set_b") - - row = layout.row(align=True) - row.operator("bim.execute_blender_clash") - - layout.label(text="IFC Clash:") - row = layout.row(align=True) row.operator("bim.add_clash_set") row.operator("bim.import_clash_sets", text="", icon="IMPORT")