From 403412e08836b02470c9e535c06efa9cc9a4eea9 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 5 May 2021 12:48:48 +1000 Subject: [PATCH] Support importing activity and calendar assignments from P6 --- src/ifcp6/ifcp6/p62ifc.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/ifcp6/ifcp6/p62ifc.py b/src/ifcp6/ifcp6/p62ifc.py index 7384991a4c..c128b2e1f6 100644 --- a/src/ifcp6/ifcp6/p62ifc.py +++ b/src/ifcp6/ifcp6/p62ifc.py @@ -124,6 +124,7 @@ class P62Ifc: "FinishDate": datetime.datetime.fromisoformat(activity.find("pr:FinishDate", self.ns).text), "PlannedDuration": datetime.timedelta(hours=float(activity.find("pr:PlannedDuration", self.ns).text)), "Status": activity.find("pr:Status", self.ns).text, + "CalendarObjectId": activity.find("pr:CalendarObjectId", self.ns).text, "ifc": None, } @@ -346,6 +347,15 @@ class P62Ifc: "ScheduleDuration": activity["PlannedDuration"] if activity["PlannedDuration"] else None, }, ) + if activity["CalendarObjectId"]: + ifcopenshell.api.run( + "control.assign_control", + self.file, + **{ + "relating_control": self.calendars[activity["CalendarObjectId"]]["ifc"], + "related_object": activity["ifc"], + }, + ) def create_rel_sequences(self): self.sequence_type_map = {