From f2d3e226b49036cd9ef84ac86077a50458629ca4 Mon Sep 17 00:00:00 2001 From: Ryan Schultz Date: Sun, 22 Mar 2026 21:29:40 -0500 Subject: [PATCH] Fix IfcGridAxis unlock not working in IFC4X3 In IFC4X3, IfcGrid is a subtype of IfcPositioningElement, but IfcGridAxis is not. The unlock handler only fetched IfcPositioningElement instances, so grid axes were never unlocked and remained immovable. Fix: include IfcGridAxis in the element list for the IFC4X3 (non-IFC2X3/IFC4) branch of update_grid_is_locked. --- src/bonsai/bonsai/bim/module/spatial/prop.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bonsai/bonsai/bim/module/spatial/prop.py b/src/bonsai/bonsai/bim/module/spatial/prop.py index b0d393b265..261d8fd1dd 100644 --- a/src/bonsai/bonsai/bim/module/spatial/prop.py +++ b/src/bonsai/bonsai/bim/module/spatial/prop.py @@ -128,7 +128,7 @@ def update_grid_is_locked(self: "BIMGridProperties", context: bpy.types.Context) if tool.Ifc.get().schema in ("IFC2X3", "IFC4"): elements = tool.Ifc.get().by_type("IfcGrid") + tool.Ifc.get().by_type("IfcGridAxis") else: - elements = tool.Ifc.get().by_type("IfcPositioningElement") + elements = tool.Ifc.get().by_type("IfcPositioningElement") + tool.Ifc.get().by_type("IfcGridAxis") for element in elements: if obj := tool.Ifc.get_object(element): if self.is_locked: