From 5351966430c8657d5536678d54476d3733be89a6 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Tue, 30 Jan 2024 11:28:11 +0500 Subject: [PATCH] access layer assignments from inverse attribute instead of going through representation inverses --- src/blenderbim/blenderbim/bim/module/layer/data.py | 5 ++--- .../ifcopenshell/api/geometry/remove_representation.py | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/layer/data.py b/src/blenderbim/blenderbim/bim/module/layer/data.py index 8c9cc2142c..e7a5c886d7 100644 --- a/src/blenderbim/blenderbim/bim/module/layer/data.py +++ b/src/blenderbim/blenderbim/bim/module/layer/data.py @@ -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 diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/remove_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/remove_representation.py index 6823a1ee85..2f14593b0c 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/geometry/remove_representation.py +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/remove_representation.py @@ -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,