mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-10 09:48:32 +00:00
fix errors getting layer assignments in ifc2x3 #4330
This commit is contained in:
@@ -745,7 +745,13 @@ class Geometry(blenderbim.core.tool.Geometry):
|
||||
consider_inverses = []
|
||||
styled_item, colour, texture, layer = None, None, None, None
|
||||
[consider_inverses.append(styled_item := t) for t in representation_item.StyledByItem]
|
||||
[consider_inverses.append(layer := t) for t in representation_item.LayerAssignment]
|
||||
# IFC2X3 is using LayerAssignments
|
||||
for t in (
|
||||
representation_item.LayerAssignment
|
||||
if hasattr(representation_item, "LayerAssignment")
|
||||
else representation_item.LayerAssignments
|
||||
):
|
||||
consider_inverses.append(layer := t)
|
||||
# IfcTessellatedFaceSet
|
||||
[consider_inverses.append(colour := t) for t in getattr(representation_item, "HasColours", [])]
|
||||
[consider_inverses.append(texture := t) for t in getattr(representation_item, "HasTextures", [])]
|
||||
|
||||
@@ -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 []]
|
||||
|
||||
Reference in New Issue
Block a user