From 73063cebf1e3e370aace83c0563f965e79e8d1f0 Mon Sep 17 00:00:00 2001 From: Ryan Schultz Date: Sun, 31 May 2026 07:25:58 -0500 Subject: [PATCH] Deselect geometry after exiting item mode in aggregate context Following the pattern from 586f9be077, deselect the active object after exiting item mode so Tab continues to cycle cleanly. Also deselects parametric LAYER1/LAYER2 items that cannot be edited directly, avoiding the need to manually deselect before Tab-cycling out of aggregate mode. --- src/bonsai/bonsai/bim/module/geometry/operator.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bonsai/bonsai/bim/module/geometry/operator.py b/src/bonsai/bonsai/bim/module/geometry/operator.py index 123a8fe895..72c5bf5a68 100644 --- a/src/bonsai/bonsai/bim/module/geometry/operator.py +++ b/src/bonsai/bonsai/bim/module/geometry/operator.py @@ -2266,6 +2266,8 @@ class OverrideModeSetEdit(bpy.types.Operator, tool.Ifc.Operator): gprops = tool.Geometry.get_geometry_props() if gprops.representation_obj: tool.Geometry.disable_item_mode() + if active_obj := bpy.context.active_object: + active_obj.select_set(False) else: bonsai.core.aggregate.exit_aggregate_mode(tool.Aggregate) return {"FINISHED"} @@ -2352,6 +2354,7 @@ class OverrideModeSetEdit(bpy.types.Operator, tool.Ifc.Operator): and usage in ("LAYER1", "LAYER2") ): self.report({"INFO"}, f"Parametric {usage} elements cannot be edited directly") + obj.select_set(False) elif item.is_a("IfcSweptAreaSolid"): tool.Geometry.sync_item_positions() res = tool.Model.import_profile((profile := item.SweptArea), obj=obj)