From 610bb2ec3785557e9dbef89d807b9b062e4e3d06 Mon Sep 17 00:00:00 2001 From: Roy-043 <70520633+Roy-043@users.noreply.github.com> Date: Thu, 23 Oct 2025 10:24:43 +0200 Subject: [PATCH] BIM: BIM_ProjectManager: add missing self.project check --- src/Mod/BIM/bimcommands/BimProjectManager.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Mod/BIM/bimcommands/BimProjectManager.py b/src/Mod/BIM/bimcommands/BimProjectManager.py index 98dd3e9999..003fd4980e 100644 --- a/src/Mod/BIM/bimcommands/BimProjectManager.py +++ b/src/Mod/BIM/bimcommands/BimProjectManager.py @@ -130,13 +130,18 @@ class BIM_ProjectManager: if not buildings: buildings = [o for o in doc.Objects if getattr(o, "IfcType", "") == "Building"] if buildings: - from nativeifc import ifc_tools - self.building = buildings[0] self.form.buildingName.setText(self.building.Label) + levels = [] + if self.building and self.project: + from nativeifc import ifc_tools + levels = ifc_tools.get_children(self.building, ifctype="IfcBuildingStorey") - if levels: - self.form.countLevels.setValue(len(levels)) + levels = list(filter(None, [ifc_tools.get_object(l) for l in levels])) + if not levels: + levels = [o for o in doc.Objects if getattr(o, "IfcType", "") == "Building Storey"] + if levels: + self.form.countLevels.setValue(len(levels)) # show dialog self.form.show()