You can now connect, disconnect, and set flow directions of distribution ports in Blender.

This commit is contained in:
Dion Moult
2022-02-03 12:04:20 +11:00
parent d333cb1b78
commit 94ff8349d3
11 changed files with 145 additions and 2 deletions
@@ -43,3 +43,28 @@ def get_ports(element):
for rel in element.HasPorts or []:
results.append(rel.RelatingPort)
return results
def get_connected_port(port):
for rel in port.ConnectedTo:
return rel.RelatedPort
for rel in port.ConnectedFrom:
return rel.RelatingPort
def get_connected_to(element):
# Note: this code is for IFC2X3. IFC4 has a different approach.
results = []
for rel in element.HasPorts:
for rel2 in rel.RelatingPort.ConnectedTo:
results.extend([r.RelatedElement for r in rel2.RelatedPort.ContainedIn if r.RelatedElement != element])
return results
def get_connected_from(element):
# Note: this code is for IFC2X3. IFC4 has a different approach.
results = []
for rel in element.HasPorts:
for rel2 in rel.RelatingPort.ConnectedFrom:
results.extend([r.RelatedElement for r in rel2.RelatingPort.ContainedIn if r.RelatedElement != element])
return results