diff --git a/src/blenderbim/blenderbim/bim/__init__.py b/src/blenderbim/blenderbim/bim/__init__.py index 578bd2ae10..1b4b694710 100644 --- a/src/blenderbim/blenderbim/bim/__init__.py +++ b/src/blenderbim/blenderbim/bim/__init__.py @@ -91,6 +91,7 @@ classes = [ operator.RemoveIfcFile, operator.SelectDataDir, operator.SelectIfcFile, + operator.ReloadSelectedIfcFile, operator.SelectSchemaDir, operator.SelectURIAttribute, operator.EditBlenderCollection, diff --git a/src/blenderbim/blenderbim/bim/module/debug/ui.py b/src/blenderbim/blenderbim/bim/module/debug/ui.py index d1eef45ae0..3722fdef37 100644 --- a/src/blenderbim/blenderbim/bim/module/debug/ui.py +++ b/src/blenderbim/blenderbim/bim/module/debug/ui.py @@ -37,6 +37,7 @@ class BIM_PT_debug(Panel): row = self.layout.row(align=True) row.prop(context.scene.BIMProperties, "ifc_file", text="") row.operator("bim.validate_ifc_file", icon="CHECKMARK", text="") + row.operator("bim.reload_selected_ifc_file", icon="FILE_REFRESH", text="") row.operator("bim.select_ifc_file", icon="FILE_FOLDER", text="") row = self.layout.row(align=True) diff --git a/src/blenderbim/blenderbim/bim/operator.py b/src/blenderbim/blenderbim/bim/operator.py index 02090d0b06..a024810003 100644 --- a/src/blenderbim/blenderbim/bim/operator.py +++ b/src/blenderbim/blenderbim/bim/operator.py @@ -100,6 +100,18 @@ class SelectIfcFile(bpy.types.Operator, IFCFileSelector): context.window_manager.fileselect_add(self) return {"RUNNING_MODAL"} +class ReloadSelectedIfcFile(bpy.types.Operator, IFCFileSelector): + bl_idname = "bim.reload_selected_ifc_file" + bl_label = "Reload selected IFC File" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Reload currently selected IFC file" + filepath: bpy.props.StringProperty(subtype="FILE_PATH") + + def execute(self, context): + self.filepath = context.scene.BIMProperties.ifc_file + if self.is_existing_ifc_file(): + context.scene.BIMProperties.ifc_file = context.scene.BIMProperties.ifc_file + return {"FINISHED"} class SelectDataDir(bpy.types.Operator): bl_idname = "bim.select_data_dir"