From 78afcf9c7a33e37400462bb5ad1e8d54ce4d7740 Mon Sep 17 00:00:00 2001 From: Ryan Schultz Date: Sun, 29 Dec 2024 16:07:56 -0600 Subject: [PATCH] Be able to close openings no matter what is selected. --- src/bonsai/bonsai/bim/module/model/opening.py | 3 ++- src/bonsai/bonsai/bim/module/model/workspace.py | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/bonsai/bonsai/bim/module/model/opening.py b/src/bonsai/bonsai/bim/module/model/opening.py index a24c18e376..1fbe7f1c4f 100644 --- a/src/bonsai/bonsai/bim/module/model/opening.py +++ b/src/bonsai/bonsai/bim/module/model/opening.py @@ -881,8 +881,9 @@ class EditOpenings(Operator, tool.Ifc.Operator): def _execute(self, context): props = bpy.context.scene.BIMModelProperties building_objs = set() + current_openings = bpy.data.collections.get("IfcOpeningElement").objects - for obj in context.selected_objects: + for obj in current_openings: element = tool.Ifc.get_entity(obj) if not element: continue diff --git a/src/bonsai/bonsai/bim/module/model/workspace.py b/src/bonsai/bonsai/bim/module/model/workspace.py index b0fa798220..9fe00209c1 100644 --- a/src/bonsai/bonsai/bim/module/model/workspace.py +++ b/src/bonsai/bonsai/bim/module/model/workspace.py @@ -1258,12 +1258,14 @@ class Hotkey(bpy.types.Operator, tool.Ifc.Operator): bpy.ops.bim.enable_editing_extrusion_axis() def hotkey_A_O(self): - if not bpy.context.selected_objects: - return - if AuthoringData.data["has_visible_openings"]: + if ( + AuthoringData.data["has_visible_openings"] + or not bpy.context.selected_objects + or AuthoringData.data["active_class"] == "IfcOpeningElement" + ): bpy.ops.bim.edit_openings() else: - bpy.ops.bim.show_openings() + bpy.ops.bim.show_openings() custom_icon_previews = None