diff --git a/src/blenderbim/blenderbim/bim/module/cost/operator.py b/src/blenderbim/blenderbim/bim/module/cost/operator.py index ce64211be3..2efdca18f4 100644 --- a/src/blenderbim/blenderbim/bim/module/cost/operator.py +++ b/src/blenderbim/blenderbim/bim/module/cost/operator.py @@ -509,7 +509,7 @@ class SelectCostScheduleProducts(bpy.types.Operator): class ImportCostScheduleCsv(bpy.types.Operator, ImportHelper, tool.Ifc.Operator): - bl_idname = "import_cost_schedule_csv.bim" + bl_idname = "bim.import_cost_schedule_csv" bl_label = "Import Cost Schedule CSV" bl_options = {"REGISTER", "UNDO"} filename_ext = ".csv" diff --git a/src/blenderbim/blenderbim/bim/module/cost/ui.py b/src/blenderbim/blenderbim/bim/module/cost/ui.py index e50e8e3921..a5f4d973a9 100644 --- a/src/blenderbim/blenderbim/bim/module/cost/ui.py +++ b/src/blenderbim/blenderbim/bim/module/cost/ui.py @@ -53,7 +53,7 @@ class BIM_PT_cost_schedules(Panel): row.label(text="No Cost Schedules found.", icon="TEXT") row.operator("bim.add_cost_schedule", icon="ADD", text="") - row.operator("import_cost_schedule_csv.bim",icon="IMPORT",text="") + row.operator("bim.import_cost_schedule_csv",icon="IMPORT",text="") for schedule in CostSchedulesData.data["schedules"]: self.draw_cost_schedule_ui(schedule) diff --git a/src/blenderbim/blenderbim/bim/module/project/__init__.py b/src/blenderbim/blenderbim/bim/module/project/__init__.py index ec1008cd33..439ba4d2dc 100644 --- a/src/blenderbim/blenderbim/bim/module/project/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/project/__init__.py @@ -36,8 +36,8 @@ classes = ( operator.EnableCulling, operator.EnableEditingHeader, operator.ExportIFC, + operator.ExportIFCDeprecated, operator.FlipClippingPlane, - operator.ImportIFC, operator.LinkIfc, operator.LoadLink, operator.LoadLinkedProject, @@ -97,7 +97,7 @@ def register(): addon_keymaps.append((km, kmi)) km = wm.keyconfigs.addon.keymaps.new(name="Window", space_type="EMPTY") - kmi = km.keymap_items.new("export_ifc.bim", "S", "PRESS", ctrl=True) + kmi = km.keymap_items.new("bim.export_ifc", "S", "PRESS", ctrl=True) kmi.properties.should_save_as = False addon_keymaps.append((km, kmi)) diff --git a/src/blenderbim/blenderbim/bim/module/project/operator.py b/src/blenderbim/blenderbim/bim/module/project/operator.py index ede1645996..7dbbce8cfa 100644 --- a/src/blenderbim/blenderbim/bim/module/project/operator.py +++ b/src/blenderbim/blenderbim/bim/module/project/operator.py @@ -1106,8 +1106,8 @@ class ToggleLinkVisibility(bpy.types.Operator): ] -class ExportIFC(bpy.types.Operator): - bl_idname = "export_ifc.bim" +class ExportIFCBase: + bl_idname = "bim.export_ifc" bl_label = "Save IFC" bl_options = {"REGISTER", "UNDO"} filename_ext = ".ifc" @@ -1224,14 +1224,20 @@ class ExportIFC(bpy.types.Operator): return "Save the IFC file. Will save both .IFC/.BLEND files if synced together" -class ImportIFC(bpy.types.Operator): - bl_idname = "import_ifc.bim" - bl_label = "Import IFC" - bl_options = {"REGISTER", "UNDO"} +class ExportIFC(ExportIFCBase, bpy.types.Operator): + bl_idname = "bim.export_ifc" + + +# TODO: remove as deprecated, better wait couple releases since +# this operator is used for saving IFC files in user scripts. +class ExportIFCDeprecated(ExportIFCBase, bpy.types.Operator): + bl_idname = "export_ifc.bim" def execute(self, context): - bpy.ops.bim.load_project("INVOKE_DEFAULT") - return {"FINISHED"} + msg = f"'{ExportIFCDeprecated.bl_idname}' operator name is deprecated, use '{ExportIFC.bl_idname}'." + self.report({"WARNING"}, msg) + print(msg) + return super().execute(context) class LoadLinkedProject(bpy.types.Operator): diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py index e961bf7499..6e8468fe1f 100644 --- a/src/blenderbim/blenderbim/bim/module/project/ui.py +++ b/src/blenderbim/blenderbim/bim/module/project/ui.py @@ -68,9 +68,9 @@ def file_menu(self, context): op = self.layout.operator("bim.load_project", text="Open IFC Project", icon="FILEBROWSER") op.should_start_fresh_session = True self.layout.separator() - op = self.layout.operator("export_ifc.bim", icon="FILE_TICK", text="Save IFC Project") + op = self.layout.operator("bim.export_ifc", icon="FILE_TICK", text="Save IFC Project") op.should_save_as = False - op = self.layout.operator("export_ifc.bim", text="Save IFC Project As...") + op = self.layout.operator("bim.export_ifc", text="Save IFC Project As...") op.should_save_as = True self.layout.separator() self.layout.operator("bim.revert_project") diff --git a/src/blenderbim/blenderbim/bim/module/resource/operator.py b/src/blenderbim/blenderbim/bim/module/resource/operator.py index 9d64cdb0dd..08f65c2e2e 100644 --- a/src/blenderbim/blenderbim/bim/module/resource/operator.py +++ b/src/blenderbim/blenderbim/bim/module/resource/operator.py @@ -328,7 +328,7 @@ class EditResourceQuantity(bpy.types.Operator, tool.Ifc.Operator): class ImportResources(bpy.types.Operator, tool.Ifc.Operator, ImportHelper): - bl_idname = "import_resources.bim" + bl_idname = "bim.import_resources" bl_label = "Import Resources" bl_options = {"REGISTER", "UNDO"} filename_ext = ".csv" diff --git a/src/blenderbim/blenderbim/bim/module/resource/ui.py b/src/blenderbim/blenderbim/bim/module/resource/ui.py index 29cb56aa07..df44c2088a 100644 --- a/src/blenderbim/blenderbim/bim/module/resource/ui.py +++ b/src/blenderbim/blenderbim/bim/module/resource/ui.py @@ -51,7 +51,7 @@ class BIM_PT_resources(Panel): row.operator("bim.disable_resource_editing_ui", text="", icon="CANCEL") else: row.operator("bim.load_resources", text="", icon="GREASEPENCIL") - row.operator("import_resources.bim", text="", icon="IMPORT") + row.operator("bim.import_resources", text="", icon="IMPORT") if not self.props.is_editing: return diff --git a/src/blenderbim/blenderbim/bim/module/sequence/operator.py b/src/blenderbim/blenderbim/bim/module/sequence/operator.py index d285a49d33..c79503eab1 100644 --- a/src/blenderbim/blenderbim/bim/module/sequence/operator.py +++ b/src/blenderbim/blenderbim/bim/module/sequence/operator.py @@ -628,7 +628,7 @@ class DisableEditingWorkCalendar(bpy.types.Operator): class ImportCSV(bpy.types.Operator, tool.Ifc.Operator, ImportHelper): - bl_idname = "import_csv.bim" + bl_idname = "bim.import_csv" bl_label = "Import CSV" bl_options = {"REGISTER", "UNDO"} filename_ext = ".csv" @@ -653,7 +653,7 @@ class ImportCSV(bpy.types.Operator, tool.Ifc.Operator, ImportHelper): class ImportP6(bpy.types.Operator, ImportHelper): - bl_idname = "import_p6.bim" + bl_idname = "bim.import_p6" bl_label = "Import P6" bl_options = {"REGISTER", "UNDO"} filename_ext = ".xml" @@ -679,7 +679,7 @@ class ImportP6(bpy.types.Operator, ImportHelper): class ImportP6XER(bpy.types.Operator, ImportHelper): - bl_idname = "import_p6xer.bim" + bl_idname = "bim.import_p6xer" bl_label = "Import P6 XER" bl_options = {"REGISTER", "UNDO"} filename_ext = ".xer" @@ -705,7 +705,7 @@ class ImportP6XER(bpy.types.Operator, ImportHelper): class ImportPP(bpy.types.Operator, ImportHelper): - bl_idname = "import_pp.bim" + bl_idname = "bim.import_pp" bl_label = "Import Powerproject .pp" bl_options = {"REGISTER", "UNDO"} filename_ext = ".pp" @@ -731,7 +731,7 @@ class ImportPP(bpy.types.Operator, ImportHelper): class ImportMSP(bpy.types.Operator, ImportHelper): - bl_idname = "import_msp.bim" + bl_idname = "bim.import_msp" bl_label = "Import MSP" bl_options = {"REGISTER", "UNDO"} filename_ext = ".xml" @@ -757,7 +757,7 @@ class ImportMSP(bpy.types.Operator, ImportHelper): class ExportMSP(bpy.types.Operator, ImportHelper): - bl_idname = "export_msp.bim" + bl_idname = "bim.export_msp" bl_label = "Export MSP" bl_options = {"REGISTER", "UNDO"} filename_ext = ".xml" @@ -787,7 +787,7 @@ class ExportMSP(bpy.types.Operator, ImportHelper): class ExportP6(bpy.types.Operator, ImportHelper): - bl_idname = "export_p6.bim" + bl_idname = "bim.export_p6" bl_label = "Export P6" bl_options = {"REGISTER", "UNDO"} filename_ext = ".xml" diff --git a/src/blenderbim/test/bim/test_feature.py b/src/blenderbim/test/bim/test_feature.py index 07b178ddc0..037c831200 100644 --- a/src/blenderbim/test/bim/test_feature.py +++ b/src/blenderbim/test/bim/test_feature.py @@ -960,7 +960,7 @@ def run_test_code(): def saving_sample_test_files(and_open_in_blender=None): filepath = f"{variables['cwd']}/test/files/temp/sample_test_file" blend_filepath = f"{filepath}.blend" - bpy.ops.export_ifc.bim(filepath=f"{filepath}.ifc", should_save_as=True) + bpy.ops.bim.export_ifc(filepath=f"{filepath}.ifc", should_save_as=True) bpy.ops.wm.save_as_mainfile(filepath=f"{filepath}.blend")