From ca77a895e0aa276825861f993ee3dac37cd23444 Mon Sep 17 00:00:00 2001 From: Sigma Dimensions <79010126+myoualid@users.noreply.github.com> Date: Tue, 2 May 2023 02:31:48 +0100 Subject: [PATCH] IOS.API consider removing baseline tasks when deleting tasks --- .../ifcopenshell/api/sequence/remove_task.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_task.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_task.py index 26075223cf..485d2c23ea 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_task.py +++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_task.py @@ -110,6 +110,16 @@ class Usecase: related_objects = list(inverse.RelatedObjects) related_objects.remove(self.settings["task"]) inverse.RelatedObjects = related_objects + elif inverse.is_a("IfcRelAssignsToObject"): + if ( + inverse.RelatingObject == self.settings["task"] + or len(inverse.RelatedObjects) == 1 + ): + self.file.remove(inverse) + else: + related_objects = list(inverse.RelatedObjects) + related_objects.remove(self.settings["task"]) + inverse.RelatedObjects = related_objects elif inverse.is_a("IfcRelAssignsToProcess"): self.file.remove(inverse)