mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-19 14:41:25 +00:00
a simplifier workflow and a more consistent coding style
This commit is contained in:
@@ -83,31 +83,34 @@ def get_connected_port(port):
|
|||||||
|
|
||||||
|
|
||||||
def get_connected_to(element):
|
def get_connected_to(element):
|
||||||
from blenderbim.bim.ifc import IfcStore
|
|
||||||
ifcSchema = IfcStore.get_file().schema
|
|
||||||
results = []
|
results = []
|
||||||
if ifcSchema == "IFC4":
|
for port in ifcopenshell.util.system.get_ports(element):
|
||||||
for port in ifcopenshell.util.system.get_ports(element):
|
for relConnectsPort in port.ConnectedTo:
|
||||||
for relConnectsPort in port.ConnectedTo:
|
for disPort in [relConnectsPort.RelatedPort,relConnectsPort.RelatingPort]:
|
||||||
for relNest in relConnectsPort.RelatedPort.Nests:
|
if hasattr(disPort,"Nests"):
|
||||||
results.extend(relNest.RelatingObject)
|
for relNest in disPort.Nests:
|
||||||
elif ifcSchema == "IFC2X3":
|
if relNest.RelatingObject != element:
|
||||||
for port in element.HasPorts:
|
results.append(relNest.RelatingObject)
|
||||||
for relConnectsPort in port.RelatingPort.ConnectedTo:
|
# IFC2X3 only, deprecated in IFC4
|
||||||
results.extend([r.RelatedElement for r in relConnectsPort.RelatedPort.ContainedIn if r.RelatedElement != element])
|
elif hasattr(disPort,"ContainedIn"):
|
||||||
return results
|
for relConPortToElement in disPort.ContainedIn:
|
||||||
|
if relConPortToElement.RelatedElement != element:
|
||||||
|
results.append(relConPortToElement.RelatedElement)
|
||||||
|
return(results)
|
||||||
|
|
||||||
|
|
||||||
def get_connected_from(element):
|
def get_connected_from(element):
|
||||||
from blenderbim.bim.ifc import IfcStore
|
|
||||||
ifcSchema = IfcStore.get_file().schema
|
|
||||||
results = []
|
results = []
|
||||||
if ifcSchema == "IFC4":
|
for port in ifcopenshell.util.system.get_ports(element):
|
||||||
for port in ifcopenshell.util.system.get_ports(element):
|
for relConnectsPort in port.ConnectedFrom:
|
||||||
for relConnectsPort in port.ConnectedFrom:
|
for disPort in [relConnectsPort.RelatedPort,relConnectsPort.RelatingPort]:
|
||||||
for relNest in relConnectsPort.RelatedPort.Nests:
|
if hasattr(disPort,"Nests"):
|
||||||
results.extend(relNest.RelatingObject)
|
for relNest in disPort.Nests:
|
||||||
elif ifcSchema == "IFC2X3":
|
if relNest.RelatingObject != element:
|
||||||
for port in element.HasPorts:
|
results.append(relNest.RelatingObject)
|
||||||
for relConnectsPort in port.RelatingPort.ConnectedFrom:
|
# IFC2X3 only, deprecated in IFC4
|
||||||
results.extend([r.RelatedElement for r in relConnectsPort.RelatingPort.ContainedIn if r.RelatedElement != element])
|
elif hasattr(disPort,"ContainedIn"):
|
||||||
return results
|
for relConPortToElement in disPort.ContainedIn:
|
||||||
|
if relConPortToElement.RelatedElement != element:
|
||||||
|
results.append(relConPortToElement.RelatedElement)
|
||||||
|
return(results)
|
||||||
Reference in New Issue
Block a user