New utility function to get storey elevations with elevation attribute fallback for more compliant sorting of building storey elevations.

This commit is contained in:
Dion Moult
2021-10-18 12:39:04 +11:00
parent a9a48bdd1d
commit 699ccddda3
4 changed files with 75 additions and 46 deletions
+3 -6
View File
@@ -60,12 +60,9 @@ class Container(blenderbim.core.tool.Container):
for rel in parent.IsDecomposedBy or []:
related_objects = []
for element in rel.RelatedObjects:
if element.ObjectPlacement:
related_objects.append(
(element, ifcopenshell.util.placement.get_local_placement(element.ObjectPlacement)[2][3])
)
else:
related_objects.append((element, float("-inf")))
related_objects.append(
(element, ifcopenshell.util.placement.get_storey_elevation(element))
)
related_objects = sorted(related_objects, key=lambda e: e[1])
for element in related_objects:
element = element[0]