diff --git a/src/blenderbim/blenderbim/bim/module/project/__init__.py b/src/blenderbim/blenderbim/bim/module/project/__init__.py index f4b9aa2033..bf4e23d5df 100644 --- a/src/blenderbim/blenderbim/bim/module/project/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/project/__init__.py @@ -91,6 +91,7 @@ def register(): bpy.utils.register_tool(workspace.ExploreTool, after={"builtin.transform"}, separator=True, group=False) bpy.types.Scene.BIMProjectProperties = bpy.props.PointerProperty(type=prop.BIMProjectProperties) bpy.app.handlers.load_post.append(decorator.toggle_decorations_on_load) + bpy.types.TOPBAR_MT_file_import.append(ui.file_import_menu) bpy.types.TOPBAR_MT_file.prepend(ui.file_menu) bpy.types.TOPBAR_MT_file_context_menu.prepend(ui.file_menu) wm = bpy.context.window_manager diff --git a/src/blenderbim/blenderbim/bim/module/project/operator.py b/src/blenderbim/blenderbim/bim/module/project/operator.py index cc30c520e1..e4fcbe724b 100644 --- a/src/blenderbim/blenderbim/bim/module/project/operator.py +++ b/src/blenderbim/blenderbim/bim/module/project/operator.py @@ -730,7 +730,7 @@ class LoadProject(bpy.types.Operator, IFCFileSelector): if not self.is_existing_ifc_file(): return {"FINISHED"} - if tool.Blender.is_default_scene(): + if self.should_start_fresh_session and tool.Blender.is_default_scene(): for obj in bpy.data.objects: bpy.data.objects.remove(obj) @@ -743,6 +743,8 @@ class LoadProject(bpy.types.Operator, IFCFileSelector): if not self.is_advanced: bpy.ops.bim.load_project_elements() + if not self.should_start_fresh_session: + bpy.ops.bim.convert_to_blender() except: blenderbim.last_error = traceback.format_exc() raise diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py index b53e6f808e..068fc246c3 100644 --- a/src/blenderbim/blenderbim/bim/module/project/ui.py +++ b/src/blenderbim/blenderbim/bim/module/project/ui.py @@ -25,6 +25,11 @@ from blenderbim.bim.ifc import IfcStore from blenderbim.bim.module.project.data import ProjectData, LinksData +def file_import_menu(self, context): + op = self.layout.operator("bim.load_project", text="IFC (Geometry Only) (.ifc/.ifczip/.ifcxml)") + op.should_start_fresh_session = False + + class BIM_MT_project(Menu): bl_idname = "BIM_MT_project" bl_label = "New IFC Project"