The general consensus is that non-rooted entities may be reused if they are identical for the purposes of optimisation. However, can someone clarify whether this breaks the semantic meaning of an IfcTaskTime, and whether or not an EXPRESS constraint needs to be put in place?
IfcTaskTime is not rooted. However, its semantic meaning is only complete when coupled with an
IfcTask when the
IfcTaskTime has a
DurationType set to
WORKTIME. In this case, the meaning comes from the
IfcWorkCalendar which is assigned to the
IfcTask, not the
Therefore, if two identical task times were recycled / optimised to attach to two different
IfcTask entities with two different
IfcWorkCalendar associations, applications / viewers will calculate elapsed time incorrectly.
Can anybody confirm this, as well as check if there is a constraint in the schema I have missed?