diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index 734e5f2b01..bc4c90af90 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -1342,6 +1342,8 @@ class ActivateDrawing(bpy.types.Operator): dprops = bpy.context.scene.DocProperties core.activate_drawing_view(tool.Ifc, tool.Drawing, drawing=drawing) dprops.active_drawing_id = self.drawing + # reset DrawingsData to reload_drawing_styles work correctly + DrawingsData.is_loaded = False dprops.drawing_styles.clear() if ifcopenshell.util.element.get_pset(drawing, "EPset_Drawing", "HasUnderlay"): bpy.ops.bim.reload_drawing_styles() @@ -1423,6 +1425,7 @@ class ReloadDrawingStyles(bpy.types.Operator): bl_idname = "bim.reload_drawing_styles" bl_label = "Reload Drawing Styles" bl_options = {"REGISTER", "UNDO"} + bl_description = "Reload drawing styles for the active camera" def execute(self, context): if not DrawingsData.is_loaded: diff --git a/src/blenderbim/blenderbim/bim/module/drawing/prop.py b/src/blenderbim/blenderbim/bim/module/drawing/prop.py index 91e2382425..11d90762f3 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/prop.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/prop.py @@ -178,7 +178,8 @@ def update_schedule_name(self, context): def update_has_underlay(self, context): update_layer(self, context, "HasUnderlay", self.has_underlay) - if self.has_underlay: + # making sure that camera is active + if self.has_underlay and (context.active_object and context.active_object.data == self.id_data): bpy.ops.bim.reload_drawing_styles() bpy.ops.bim.activate_drawing_style()