diff --git a/src/bonsai/bonsai/bim/module/model/workspace.py b/src/bonsai/bonsai/bim/module/model/workspace.py index ab0fe829ff..9a733646a2 100644 --- a/src/bonsai/bonsai/bim/module/model/workspace.py +++ b/src/bonsai/bonsai/bim/module/model/workspace.py @@ -1197,7 +1197,7 @@ class Hotkey(bpy.types.Operator, tool.Ifc.Operator): bpy.ops.bim.unjoin_walls() def hotkey_A_D(self): - if not bpy.context.selected_objects: + if not tool.Blender.get_selected_objects(): return bpy.ops.bim.select_decomposition() diff --git a/src/bonsai/bonsai/bim/module/void/operator.py b/src/bonsai/bonsai/bim/module/void/operator.py index fc4d78e7a8..4dab6eccec 100644 --- a/src/bonsai/bonsai/bim/module/void/operator.py +++ b/src/bonsai/bonsai/bim/module/void/operator.py @@ -245,7 +245,7 @@ class SelectDecomposition(bpy.types.Operator): bl_options = {"REGISTER", "UNDO"} def execute(self, context): - for obj in context.selected_objects: + for obj in tool.Blender.get_selected_objects(): element = tool.Ifc.get_entity(obj) if not element: continue diff --git a/src/bonsai/bonsai/tool/blender.py b/src/bonsai/bonsai/tool/blender.py index 99fee4e555..f733345439 100644 --- a/src/bonsai/bonsai/tool/blender.py +++ b/src/bonsai/bonsai/tool/blender.py @@ -147,6 +147,7 @@ class Blender(bonsai.core.tool.Blender): @classmethod def get_selected_objects(cls) -> set[bpy.types.Object]: + """Get selected objects including active object.""" if selected_objects := getattr(bpy.context, "selected_objects", None): if active_obj := cls.get_active_object(): return set(selected_objects + [active_obj])