Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarification on IFC support for negative lag times, negative IfcDurations, and lag vs lead times #347

Open
Moult opened this issue Feb 23, 2022 · 0 comments
Labels
allocated Step 1: Review teams should investigate this issue allocated-sequence

Comments

@Moult
Copy link
Collaborator

Moult commented Feb 23, 2022

https://forums.buildingsmart.org/t/clarification-on-ifc-support-for-negative-lag-times-negative-ifcdurations-and-lag-vs-lead-times/3605

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.

Further reading on ISO 8601 negativity:

@Moult Moult added allocated Step 1: Review teams should investigate this issue allocated-sequence labels Feb 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
allocated Step 1: Review teams should investigate this issue allocated-sequence
Projects
None yet
Development

No branches or pull requests

1 participant