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?
An 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 IfcTaskTime
.
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?