From d0f612afc223344a55cdf397f372b2a104a9873c Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Fri, 14 Jun 2024 12:23:33 +0500 Subject: [PATCH] IfcStore.get_element - more explicit checks for missing elements --- src/blenderbim/blenderbim/bim/ifc.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/ifc.py b/src/blenderbim/blenderbim/bim/ifc.py index 583632603a..bf5cfbe909 100644 --- a/src/blenderbim/blenderbim/bim/ifc.py +++ b/src/blenderbim/blenderbim/bim/ifc.py @@ -179,14 +179,13 @@ class IfcStore: @staticmethod def get_element(id_or_guid: Union[int, str]) -> IFC_CONNECTED_TYPE: if isinstance(id_or_guid, int): - map_object = IfcStore.id_map + obj = IfcStore.id_map.get(id_or_guid) else: - map_object = IfcStore.guid_map - try: - obj = map_object[id_or_guid] - obj.name # In case the object has been deleted, this triggers an exception - except: - return + obj = IfcStore.guid_map.get(id_or_guid) + if obj is None: + return None + if not tool.Blender.is_valid_data_block(obj): + return None return obj @staticmethod