When assigning containers, ensure aggregates and containers are mutually exclusive

This commit is contained in:
Dion Moult
2021-10-05 16:46:22 +11:00
parent c105b8f3a7
commit cbc0b8d5d4
3 changed files with 53 additions and 1 deletions
@@ -20,6 +20,12 @@ class Usecase:
if contains_elements and contained_in_structure and contained_in_structure[0] == contains_elements[0]:
return
aggregate = ifcopenshell.util.element.get_aggregate(self.settings["product"])
if aggregate:
ifcopenshell.api.run(
"aggregate.unassign_object", self.file, relating_object=aggregate, product=self.settings["product"]
)
if contained_in_structure:
related_elements = list(contained_in_structure[0].RelatedElements)
related_elements.remove(self.settings["product"])