Skip to content

Commit 755fa81

Browse files
committed
Fix displaying connections for selected distribution ports
1 parent 36fab12 commit 755fa81

1 file changed

Lines changed: 26 additions & 6 deletions

File tree

  • src/blenderbim/blenderbim/bim/module/geometry

src/blenderbim/blenderbim/bim/module/geometry/data.py

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -104,24 +104,44 @@ def load(cls):
104104
def connections(cls):
105105
results = []
106106
element = tool.Ifc.get_entity(bpy.context.active_object)
107-
for rel in getattr(element, "ConnectedTo", []):
107+
108+
connected_to = getattr(element, "ConnectedTo", [])
109+
connected_from = getattr(element, "ConnectedFrom", [])
110+
111+
for rel in connected_to:
112+
if element.is_a("IfcDistributionPort"):
113+
related_element = rel.RelatedPort
114+
related_element_connection_type = ""
115+
else:
116+
related_element = rel.RelatedElement
117+
related_element_connection_type = rel.RelatedConnectionType
118+
108119
results.append(
109120
{
110121
"id": rel.id(),
111122
"is_relating": True,
112-
"Name": rel.RelatedElement.Name or "Unnamed",
113-
"ConnectionType": rel.RelatingConnectionType,
123+
"Name": related_element.Name or "Unnamed",
124+
"ConnectionType": related_element_connection_type,
114125
}
115126
)
116-
for rel in getattr(element, "ConnectedFrom", []):
127+
128+
for rel in connected_from:
129+
if element.is_a("IfcDistributionPort"):
130+
relating_element = rel.RelatingPort
131+
relating_element_connection_type = ""
132+
else:
133+
relating_element = rel.RelatingElement
134+
relating_element_connection_type = rel.RelatingConnectionType
135+
117136
results.append(
118137
{
119138
"id": rel.id(),
120139
"is_relating": False,
121-
"Name": rel.RelatingElement.Name or "Unnamed",
122-
"ConnectionType": rel.RelatedConnectionType,
140+
"Name": relating_element.Name or "Unnamed",
141+
"ConnectionType": relating_element_connection_type,
123142
}
124143
)
144+
125145
return results
126146

127147

0 commit comments

Comments
 (0)