From cbe71f221c1fa642afb848f91b503e5ccff0c35a Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 12 Apr 2023 21:23:39 +1000 Subject: [PATCH] Only activate drawing styles if underlay enabled, and default to default Blender styles to prevent confusion --- src/blenderbim/blenderbim/bim/handler.py | 9 +++++---- src/blenderbim/blenderbim/bim/module/drawing/operator.py | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/handler.py b/src/blenderbim/blenderbim/bim/handler.py index 6514c3997e..0aba5661a4 100644 --- a/src/blenderbim/blenderbim/bim/handler.py +++ b/src/blenderbim/blenderbim/bim/handler.py @@ -235,6 +235,11 @@ def setDefaultProperties(scene): ifcopenshell.api.owner.settings.get_application = get_application # TODO: Move to drawing module if len(bpy.context.scene.DocProperties.drawing_styles) == 0: + drawing_style = bpy.context.scene.DocProperties.drawing_styles.add() + drawing_style.name = "Blender Default" + drawing_style.render_type = "DEFAULT" + bpy.ops.bim.save_drawing_style(index="0") + drawing_style = bpy.context.scene.DocProperties.drawing_styles.add() drawing_style.name = "Technical" drawing_style.render_type = "VIEWPORT" @@ -297,8 +302,4 @@ def setDefaultProperties(scene): RasterStyleProperty.OVERLAY_SHOW_RELATIONSHIP_LINES.value: False, } ) - drawing_style = bpy.context.scene.DocProperties.drawing_styles.add() - drawing_style.name = "Blender Default" - drawing_style.render_type = "DEFAULT" - bpy.ops.bim.save_drawing_style(index="2") AuthoringData.type_thumbnails = {} diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index 7e87163ddb..a0d60eb7d9 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -991,7 +991,8 @@ class ActivateView(bpy.types.Operator): def execute(self, context): core.activate_drawing_view(tool.Ifc, tool.Drawing, drawing=tool.Ifc.get().by_id(self.drawing)) bpy.context.scene.DocProperties.active_drawing_id = self.drawing - bpy.ops.bim.activate_drawing_style() + if ifcopenshell.util.element.get_pset(drawing, "EPset_Drawing", "HasUnderlay"): + bpy.ops.bim.activate_drawing_style() core.sync_references(tool.Ifc, tool.Collector, tool.Drawing, drawing=tool.Ifc.get().by_id(self.drawing)) return {"FINISHED"}