Skip to content

Add note on ordering of starting referent when nested in IfcAlignment#984

Open
RickBrice wants to merge 1 commit intobuildingSMART:masterfrom
RickBrice:patch-13
Open

Add note on ordering of starting referent when nested in IfcAlignment#984
RickBrice wants to merge 1 commit intobuildingSMART:masterfrom
RickBrice:patch-13

Conversation

@RickBrice
Copy link
Copy Markdown

Proposed language provides clarity as to the proper ordering of IfcReferent, IfcAlignmentHorizontal, IfcAlignmentVertical, and IfcAlignmentCant.

I believe that it should also be a rule that IfcReferent should be in a separate IfcRelNests relationship with IfcAlignment from the layout alignments because the represent different concepts (stationing and layouts). However, there is not such a rule currently stated.

If such a rule where to be adopted, the language proposed in this PR should be revised.


A mapping between the *business logic* and its *geometry definition* in IFC is described by the concept templates related to the alignment geometry.

> NOTE Alignment layouts _IfcAlignmentHorizontal_, _IfcAlignmentVertical_, and _IfcAlignmentCant_ nest _IfcAlignment_ with an _IfcRelNests_ relationship. _IfcRelNests.RelatedObjects_ is an ordered list. The proper order of the alignment layouts is _IfcAlignmentHorizontal_, _IfcAlignmentVertical_, and _IfcAlignmentCant_. When _IfcReferent_ is used to define the start station of the alignment, and it is located within the same _IfcRelNests.RelatedObjects_ list as the alignment layouts, it must precede _IfcAlignmentHorizontal_.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not think this is necessary. The different usage instances are already clear enough that these are two separate concepts. We could think of adding a better description to the usages though.

I don't know why it is called Object Nesting (this is the name of the concept template) since the usage is configured and was provided a better name (not important for this PR though):
image

And Alignment Layout:
image

Not sure why this one has no reference to a template. I guess we need to fix the documentation on a different level then.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The text you provided only addresses inclusion of layouts, not their order. The order is implied in several places in the specification, but never explicitly stated.

Copy link
Copy Markdown
Contributor

@SergejMuhic SergejMuhic Aug 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I disagree, an order is implied in the usage (also encoded in the mvdxml). I agree that there is no explicit text saying that but following good principles in writing technical documentation, information should not be repeated if it can be derived from images, structures etc.

If you still think this is important, this addition should not be on IfcAlignment but on the usages section, so line 75 onwards. I would say the same for the geometry informal propositions, especially in IFC4.4 when these have been finally formalised.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

following good principles in writing technical documentation, information should not be repeated if it can be derived from images, structures etc.

I disagree with this - images should support and illustrate the requirements defined in text, they don't replace the need for text. But this is not worthy of further debate.

For me, the bottom line is IfcRelNests is an order collection. The required order must be clearly stated somewhere. I am agreeable with it being in the Concept Usage section 5.4.3.1.5.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking at the documentation again, The Nesting Concept template already explicitly states an ordered composition:
https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/concepts/Object_Composition/Nesting/content.html

Reflecting on your request, if the configuration of the Nesting Concept Template (includes any of the subtypes) already features restrictions for various element types, then the usage documentation needs to state the cardinalities and the required order. I would propose to address all usages then, to make it consistent.

@aothms
Copy link
Copy Markdown
Collaborator

aothms commented Aug 25, 2025

proper ordering

I agree that a decision needs to be made. An ordered relationship was chosen so we shouldn't be ambiguous as to what orderings are allowed. I think I would prefer to state the opposite "No ordering is imposed even though an ordered relationship was chosen to model to the profiles and referents of an alignment; future editions of the specification may impose additional requirements", but any decision is better than no decision so I'm also happy to support this.

We should probably defer this decision to IFC4.4 though (or later..) as we should be careful not affect compatibility, even with textual statements.

CC @civilx64 for a new rule when merged / decided.

@evandroAlfieri evandroAlfieri added before-NWI Issue to be resolved before the IFC NWI (New Work Item) submission to the next ISO cycle. IF To be checked with IFC Implementers Forum labels Apr 10, 2026
@github-project-automation github-project-automation Bot moved this to NEXT (To Do) in IFC4x-IF 2026 Apr 10, 2026
@evandroAlfieri evandroAlfieri changed the title Update IfcAlignment.md Add note on ordering of starting referent when nested in IfcAlignment Apr 10, 2026
@evandroAlfieri
Copy link
Copy Markdown
Contributor

note for me. Relates to #982

@evandroAlfieri evandroAlfieri added after-NWI Issue to be resolved after the IFC NWI (New Work Item) submission to the next ISO cycle. and removed before-NWI Issue to be resolved before the IFC NWI (New Work Item) submission to the next ISO cycle. labels Apr 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

after-NWI Issue to be resolved after the IFC NWI (New Work Item) submission to the next ISO cycle. IF To be checked with IFC Implementers Forum

Projects

Status: FINIDNG SOLUTION

Development

Successfully merging this pull request may close these issues.

4 participants