From 847d30fdaaa6a9f5eefb8bf75e200baf7a3d1cbc Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 3 Jul 2023 11:52:30 +0500 Subject: [PATCH] Fixed errors displaying IFC Connections for IfcRelConnectsElements IfcRelConnectsElements type of connection wasn't handled properly resulting in errors. Now you should be able to see connections for connected slabs, walls etc - https://i.imgur.com/LpFBKBC.png Traceback: Traceback (most recent call last): File "\blenderbim\bim\module\geometry\ui.py", line 102, in draw ConnectionsData.load() File "\blenderbim\bim\module\geometry\data.py", line 100, in load cls.data = {"connections": cls.connections()} File "\blenderbim\bim\module\geometry\data.py", line 134, in connections relating_element_connection_type = rel.RelatingConnectionType File "\blenderbim\libs\site\packages\ifcopenshell\entity_instance.py", line 171, in __getattr__ raise AttributeError( AttributeError: entity instance of type 'IFC4.IfcRelConnectsElements' has no attribute 'RelatingConnectionType' --- src/blenderbim/blenderbim/bim/module/geometry/data.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/data.py b/src/blenderbim/blenderbim/bim/module/geometry/data.py index 0c95c61d2f..8b1849b200 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/data.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/data.py @@ -111,10 +111,13 @@ class ConnectionsData: for rel in connected_to: if element.is_a("IfcDistributionPort"): related_element = rel.RelatedPort - related_element_connection_type = "" else: related_element = rel.RelatedElement + + if element.is_a("IfcRelConnectsPathElements"): related_element_connection_type = rel.RelatedConnectionType + else: + related_element_connection_type = "" results.append( { @@ -128,10 +131,13 @@ class ConnectionsData: for rel in connected_from: if element.is_a("IfcDistributionPort"): relating_element = rel.RelatingPort - relating_element_connection_type = "" else: relating_element = rel.RelatingElement + + if element.is_a("IfcRelConnectsPathElements"): relating_element_connection_type = rel.RelatingConnectionType + else: + relating_element_connection_type = "" results.append( {