fix errors getting layer assignments in ifc2x3 #4330

This commit is contained in:
Andrej730
2024-02-16 16:01:09 +05:00
parent bc2fd232d0
commit a82b0f30b0
2 changed files with 14 additions and 2 deletions
@@ -47,7 +47,13 @@ class Usecase:
for subelement in self.file.traverse(self.settings["representation"]):
if subelement.is_a("IfcRepresentationItem"):
[styled_items.add(s) for s in subelement.StyledByItem or []]
[presentation_layer_assignments.add(s) for s in subelement.LayerAssignment]
# IFC2X3 is using LayerAssignments
for s in (
subelement.LayerAssignment
if hasattr(subelement, "LayerAssignment")
else subelement.LayerAssignments
):
presentation_layer_assignments.add(s)
# IfcTessellatedFaceSet inverses
[textures.add(t) for t in getattr(subelement, "HasTextures", []) or []]
[colours.add(t) for t in getattr(subelement, "HasColours", []) or []]