access layer assignments from inverse attribute instead of going through representation inverses

This commit is contained in:
Andrej730
2024-01-30 11:28:11 +05:00
parent 2663c079f4
commit 5351966430
2 changed files with 4 additions and 6 deletions
@@ -47,7 +47,6 @@ class LayersData:
return []
results = []
shape = tool.Ifc.get().by_id(data.BIMMeshProperties.ifc_definition_id)
for inverse in tool.Ifc.get().get_inverse(shape):
if inverse.is_a("IfcPresentationLayerAssignment"):
results.append(inverse.id())
for inverse in shape.LayerAssignments:
results.append(inverse.id())
return results
@@ -51,9 +51,8 @@ class Usecase:
[textures.add(t) for t in getattr(subelement, "HasTextures", []) or []]
[colours.add(t) for t in getattr(subelement, "HasColours", []) or []]
elif subelement.is_a("IfcRepresentation"):
for inverse in self.file.get_inverse(subelement):
if inverse.is_a("IfcPresentationLayerAssignment"):
presentation_layer_assignments.add(inverse)
for layer in subelement.LayerAssignments:
presentation_layer_assignments.add(layer)
ifcopenshell.util.element.remove_deep2(
self.file,