Copying elements do not copy connections to prevent mutually exclusive connectivity

This commit is contained in:
Dion Moult
2022-09-20 12:01:40 +10:00
parent fc6bf5e2bb
commit eb48a68dd1
2 changed files with 20 additions and 0 deletions
@@ -161,3 +161,21 @@ class TestCopyClass(test.bootstrap.IFC4):
assert port not in new_ports
assert new_ports[0].is_a("IfcDistributionPort")
assert ifcopenshell.util.system.get_ports(element) == [port]
def test_not_copying_path_connections(self):
element1 = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall")
element2 = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall")
ifcopenshell.api.run(
"geometry.connect_path",
self.file,
relating_element=element1,
related_element=element2,
relating_connection="ATSTART",
related_connection="ATEND",
)
new = ifcopenshell.api.run("root.copy_class", self.file, product=element1)
assert len(self.file.by_type("IfcRelConnectsPathElements")) == 1
assert element1.ConnectedTo
assert element2.ConnectedFrom
assert not new.ConnectedTo
assert not new.ConnectedFrom