diff --git a/src/blenderbim/blenderbim/bim/module/debug/__init__.py b/src/blenderbim/blenderbim/bim/module/debug/__init__.py index c7acae629d..f81ffd3b8a 100644 --- a/src/blenderbim/blenderbim/bim/module/debug/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/debug/__init__.py @@ -30,6 +30,7 @@ classes = ( operator.ProfileImportIFC, operator.PurgeHdf5Cache, operator.PurgeIfcLinks, + operator.ConvertToBlender, operator.RewindInspector, operator.SelectExpressFile, operator.SelectHighPolygonMeshes, diff --git a/src/blenderbim/blenderbim/bim/module/debug/operator.py b/src/blenderbim/blenderbim/bim/module/debug/operator.py index b0a56ed496..d6787e5034 100644 --- a/src/blenderbim/blenderbim/bim/module/debug/operator.py +++ b/src/blenderbim/blenderbim/bim/module/debug/operator.py @@ -65,6 +65,26 @@ class PurgeIfcLinks(bpy.types.Operator): return {"FINISHED"} +class ConvertToBlender(bpy.types.Operator): + bl_idname = "bim.converttoblender" + bl_label = "Convert To Blender File" + bl_description = "Removes all IFC data, and converts the file to a simple Blender file." + bl_options = {"REGISTER", "UNDO"} + + def execute(self, context): + for o in bpy.data.objects: + if o.type in {'MESH', 'EMPTY'}: + o.BIMObjectProperties.ifc_definition_id = 0 + if o.data: + o.data.BIMMeshProperties.ifc_definition_id = 0 + for m in bpy.data.materials: + m.BIMMaterialProperties.ifc_style_id = False + bpy.context.scene.BIMProperties.ifc_file = "" + IfcStore.purge() + blenderbim.bim.handler.purge_module_data() + return {"FINISHED"} + + class ValidateIfcFile(bpy.types.Operator): bl_idname = "bim.validate_ifc_file" bl_label = "Validate IFC File" diff --git a/src/blenderbim/blenderbim/bim/module/debug/ui.py b/src/blenderbim/blenderbim/bim/module/debug/ui.py index 3722fdef37..8b0f8ca860 100644 --- a/src/blenderbim/blenderbim/bim/module/debug/ui.py +++ b/src/blenderbim/blenderbim/bim/module/debug/ui.py @@ -54,6 +54,9 @@ class BIM_PT_debug(Panel): row = layout.row() row.operator("bim.purge_ifc_links") + row = layout.row() + row.operator("bim.converttoblender") + row = layout.row() row.operator("bim.create_all_shapes")