mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-25 17:57:02 +00:00
Add IFC4 support to get_connected_to and get_connected_from functions
This commit is contained in:
@@ -83,18 +83,18 @@ def get_connected_port(port):
|
|||||||
|
|
||||||
|
|
||||||
def get_connected_to(element):
|
def get_connected_to(element):
|
||||||
# Note: this code is for IFC2X3. IFC4 has a different approach.
|
|
||||||
results = []
|
results = []
|
||||||
for rel in element.HasPorts:
|
for port in ifcopenshell.util.system.get_ports(element):
|
||||||
for rel2 in rel.RelatingPort.ConnectedTo:
|
for relConnectsPort in port.ConnectedTo:
|
||||||
results.extend([r.RelatedElement for r in rel2.RelatedPort.ContainedIn if r.RelatedElement != element])
|
for relNest in relConnectsPort.RelatedPort.Nests:
|
||||||
|
results.extend(relNest.RelatingObject)
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
|
||||||
def get_connected_from(element):
|
def get_connected_from(element):
|
||||||
# Note: this code is for IFC2X3. IFC4 has a different approach.
|
# Note: this code is for IFC2X3. IFC4 has a different approach.
|
||||||
results = []
|
results = []
|
||||||
for rel in element.HasPorts:
|
for port in ifcopenshell.util.system.get_ports(element):
|
||||||
for rel2 in rel.RelatingPort.ConnectedFrom:
|
for relConnectsPort in port.ConnectedFrom:
|
||||||
results.extend([r.RelatedElement for r in rel2.RelatingPort.ContainedIn if r.RelatedElement != element])
|
for relNest in relConnectsPort.RelatingPort.Nests:
|
||||||
return results
|
results.extend(relNest.RelatingObject)
|
||||||
|
return results
|
||||||
Reference in New Issue
Block a user