mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-12 22:43:41 +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 = []
|
consider_inverses = []
|
||||||
styled_item, colour, texture, layer = None, None, None, None
|
styled_item, colour, texture, layer = None, None, None, None
|
||||||
[consider_inverses.append(styled_item := t) for t in representation_item.StyledByItem]
|
[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
|
# IfcTessellatedFaceSet
|
||||||
[consider_inverses.append(colour := t) for t in getattr(representation_item, "HasColours", [])]
|
[consider_inverses.append(colour := t) for t in getattr(representation_item, "HasColours", [])]
|
||||||
[consider_inverses.append(texture := t) for t in getattr(representation_item, "HasTextures", [])]
|
[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"]):
|
for subelement in self.file.traverse(self.settings["representation"]):
|
||||||
if subelement.is_a("IfcRepresentationItem"):
|
if subelement.is_a("IfcRepresentationItem"):
|
||||||
[styled_items.add(s) for s in subelement.StyledByItem or []]
|
[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
|
# IfcTessellatedFaceSet inverses
|
||||||
[textures.add(t) for t in getattr(subelement, "HasTextures", []) or []]
|
[textures.add(t) for t in getattr(subelement, "HasTextures", []) or []]
|
||||||
[colours.add(t) for t in getattr(subelement, "HasColours", []) or []]
|
[colours.add(t) for t in getattr(subelement, "HasColours", []) or []]
|
||||||
|
|||||||
Reference in New Issue
Block a user