From 1e41561fe88f21c81d336f22867baf03bb526f75 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 16 Apr 2024 16:43:02 +1000 Subject: [PATCH] Fix #4345. Removing grid axes are now handled specially. --- src/blenderbim/blenderbim/tool/geometry.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/blenderbim/blenderbim/tool/geometry.py b/src/blenderbim/blenderbim/tool/geometry.py index 7fb10700f2..0a3ff34fdf 100644 --- a/src/blenderbim/blenderbim/tool/geometry.py +++ b/src/blenderbim/blenderbim/tool/geometry.py @@ -91,6 +91,17 @@ class Geometry(blenderbim.core.tool.Geometry): if element.is_a("IfcRelSpaceBoundary"): ifcopenshell.api.run("boundary.remove_boundary", tool.Ifc.get(), boundary=element) return bpy.data.objects.remove(obj) + if element.is_a("IfcGridAxis"): + is_last_axis = False + # Deleting the last W axis is OK + if ((grid := element.PartOfU) and len(grid[0].UAxes) == 1) or ( + (grid := element.PartOfV) and len(grid[0].VAxes) == 1 + ): + is_last_axis = True + if is_last_axis: + return + ifcopenshell.api.run("grid.remove_grid_axis", tool.Ifc.get(), axis=element) + return bpy.data.objects.remove(obj) collection = obj.BIMObjectProperties.collection if collection: