From 53aa7a8abbfcf2829d45723fb6197de93eeac19d Mon Sep 17 00:00:00 2001 From: Sigma Dimensions <79010126+myoualid@users.noreply.github.com> Date: Sun, 21 May 2023 12:45:04 +0100 Subject: [PATCH] ios api task fix: remove orphan IfcRelNests when deleting tasks --- .../ifcopenshell/api/sequence/remove_task.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_task.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_task.py index 485d2c23ea..a7e7708b08 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_task.py +++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_task.py @@ -76,6 +76,13 @@ class Usecase: ) elif not inverse.RelatedObjects: self.file.remove(inverse) + elif self.settings["task"] in inverse.RelatedObjects: + related_objects = list(inverse.RelatedObjects) + related_objects.remove(self.settings["task"]) + if not related_objects: + self.file.remove(inverse) + else: + inverse.RelatedObjects = related_objects elif inverse.is_a("IfcRelAssignsToControl"): if ( inverse.RelatingControl == self.settings["task"]