mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-13 02:47:48 +00:00
See #3974. WIP review to ensure history removal in API.
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
|
||||
import ifcopenshell
|
||||
import ifcopenshell.api
|
||||
import ifcopenshell.util.element
|
||||
|
||||
|
||||
class Usecase:
|
||||
@@ -138,16 +139,28 @@ class Usecase:
|
||||
def purge_existing_connections_to_other_ports(self):
|
||||
for rel in self.settings["port1"].ConnectedTo or []:
|
||||
if rel.RelatedPort != self.settings["port2"]:
|
||||
history = rel.OwnerHistory
|
||||
self.file.remove(rel)
|
||||
if history:
|
||||
ifcopenshell.util.element.remove_deep2(self.file, history)
|
||||
for rel in self.settings["port1"].ConnectedFrom or []:
|
||||
if rel.RelatingPort != self.settings["port2"]:
|
||||
history = rel.OwnerHistory
|
||||
self.file.remove(rel)
|
||||
if history:
|
||||
ifcopenshell.util.element.remove_deep2(self.file, history)
|
||||
for rel in self.settings["port2"].ConnectedTo or []:
|
||||
if rel.RelatedPort != self.settings["port1"]:
|
||||
history = rel.OwnerHistory
|
||||
self.file.remove(rel)
|
||||
if history:
|
||||
ifcopenshell.util.element.remove_deep2(self.file, history)
|
||||
for rel in self.settings["port2"].ConnectedFrom or []:
|
||||
if rel.RelatingPort != self.settings["port1"]:
|
||||
history = rel.OwnerHistory
|
||||
self.file.remove(rel)
|
||||
if history:
|
||||
ifcopenshell.util.element.remove_deep2(self.file, history)
|
||||
|
||||
def set_connected_to(self):
|
||||
if self.settings["port1"].ConnectedTo:
|
||||
@@ -175,11 +188,17 @@ class Usecase:
|
||||
|
||||
def purge_connected_to(self):
|
||||
for rel in self.settings["port1"].ConnectedTo or []:
|
||||
history = rel.OwnerHistory
|
||||
self.file.remove(rel)
|
||||
if history:
|
||||
ifcopenshell.util.element.remove_deep2(self.file, history)
|
||||
|
||||
def purge_connected_from(self):
|
||||
for rel in self.settings["port1"].ConnectedFrom or []:
|
||||
history = rel.OwnerHistory
|
||||
self.file.remove(rel)
|
||||
if history:
|
||||
ifcopenshell.util.element.remove_deep2(self.file, history)
|
||||
|
||||
def set_realising_element(self):
|
||||
for rel in self.settings["port1"].ConnectedTo or []:
|
||||
|
||||
Reference in New Issue
Block a user