Fix bug when deleting elements may possibly create an invalid containment relationship

This commit is contained in:
Dion Moult
2022-09-23 23:26:29 +10:00
parent 13a387cc73
commit b7eaefee50
2 changed files with 25 additions and 2 deletions
@@ -65,8 +65,9 @@ class Usecase:
if not inverse.RelatedObjects:
self.file.remove(inverse)
elif inverse.is_a("IfcRelAggregates"):
if inverse.RelatingObject == self.settings["product"]:
if inverse.RelatingObject == self.settings["product"] or len(inverse.RelatedObjects) == 1:
self.file.remove(inverse)
elif len(inverse.RelatedObjects) == 1:
elif inverse.is_a("IfcRelContainedInSpatialStructure"):
if inverse.RelatingStructure == self.settings["product"] or len(inverse.RelatedElements) == 1:
self.file.remove(inverse)
self.file.remove(self.settings["product"])