You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
IfcRelSequence supports a TimeLag attribute, which stores an IfcLagTime.
The lag time lets you offset the dependency. However, IFC does not differentiate between lag and lead time. This is OK, assuming that the IfcLagTime can store a positive or negative value. However, it is ambiguous as to whether or not the IfcDuration, which is based on ISO 8601, allowed negative values.
I haven't actually read the original ISO 8601, but based on some evidence from a quick search online, it seems as though ISO 8601 actually does not talk about negativity at all. A conservative approach might mean that you should not support negative ISO 8601 values, and instead the IFC schema needs to be extended to capture the potential negativity of a lag time, such as in another new attribute.
An optimistic alternative approach might follow some of the conventions for denoting negativity in durations, but there are a few approaches. For example -P1D or P-1D. So, what happens when you do P-1DT12H? Crazy stuff.
This omission in the spec means that unless you support some form of negative convention, you cannot currently actually practically use IFC for sequencing.
My preference is to simply support a convention to solve this currently, and in the future.
https://forums.buildingsmart.org/t/clarification-on-ifc-support-for-negative-lag-times-negative-ifcdurations-and-lag-vs-lead-times/3605
IfcRelSequence
supports aTimeLag
attribute, which stores anIfcLagTime
.The lag time lets you offset the dependency. However, IFC does not differentiate between lag and lead time. This is OK, assuming that the IfcLagTime can store a positive or negative value. However, it is ambiguous as to whether or not the IfcDuration, which is based on ISO 8601, allowed negative values.
I haven't actually read the original ISO 8601, but based on some evidence from a quick search online, it seems as though ISO 8601 actually does not talk about negativity at all. A conservative approach might mean that you should not support negative ISO 8601 values, and instead the IFC schema needs to be extended to capture the potential negativity of a lag time, such as in another new attribute.
An optimistic alternative approach might follow some of the conventions for denoting negativity in durations, but there are a few approaches. For example
-P1D
orP-1D
. So, what happens when you doP-1DT12H
? Crazy stuff.This omission in the spec means that unless you support some form of negative convention, you cannot currently actually practically use IFC for sequencing.
My preference is to simply support a convention to solve this currently, and in the future.
Further reading on ISO 8601 negativity:
The text was updated successfully, but these errors were encountered: