From 88de650660b6660b03c7b10211479657dfa5738a Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 23 Oct 2024 15:55:47 +0500 Subject: [PATCH] Simplify IfcStore.relink_object --- src/bonsai/bonsai/bim/ifc.py | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/src/bonsai/bonsai/bim/ifc.py b/src/bonsai/bonsai/bim/ifc.py index b353416de2..403670b7ab 100644 --- a/src/bonsai/bonsai/bim/ifc.py +++ b/src/bonsai/bonsai/bim/ifc.py @@ -225,27 +225,13 @@ class IfcStore: def relink_object(obj: IFC_CONNECTED_TYPE) -> None: if not obj: return - if isinstance(obj, bpy.types.Object): - ifc_definition_id = obj.BIMObjectProperties.ifc_definition_id - if not ifc_definition_id: - return - try: - element = IfcStore.get_file().by_id(ifc_definition_id) - except RuntimeError: - return - data = OperationData(id=element.id(), obj=obj.name) - if hasattr(element, "GlobalId"): - data["guid"] = element.GlobalId - IfcStore.commit_link_element(data) + element = tool.Ifc.get_entity(obj) + if not element: return - else: # bpy.types.Material - ifc_definition_id = obj.BIMStyleProperties.ifc_definition_id - try: - element = IfcStore.get_file().by_id(ifc_definition_id) - except RuntimeError: - return - data = OperationData(id=element.id(), obj=obj.name) - IfcStore.commit_link_element(data) + data = OperationData(id=element.id(), obj=obj.name) + if hasattr(element, "GlobalId"): + data["guid"] = element.GlobalId + IfcStore.commit_link_element(data) @staticmethod def link_element(