buildingSMART / buildingSMART/IFC4.x-development
Product Linear Placement vs Product Relative Positioning
- Dominant language
- Python
- Stars
- 234
- Forks
- 123
- Avg merge
- 15h 4m
- Merged PRs (30d)
- 5
Description
> In the context of positioning... which is independent from the underlying geometry....you would navigate to the alignment by means of 4.1.5.8 Product Relative Positioning.
> When you want to add actual geometry...4.1.7.4.2 Product Linear Placement
>
> The concept of ObjectPlacement is entirely independent of geometry representation.
> An IfcProduct, with or without geometry, can and must be positioned uniformly using ObjectPlacement.
> What, then, does "4.1.5.8 Product Relative Positioning" provide that cannot already be expressed through ObjectPlacement?
>
> I am sharing Thomas' understanding and only a bit confused by
> IfcAlignment, where the curve is within its shape representation
>
> In my understanding IfcPointByDistanceExpression gives position along IfcAlignment curve as whole, not against particular segment.
>
_Originally posted by @I-Sokolov in [#974](https://github.com/buildingSMART/IFC4.x-development/issues/974#issuecomment-4646489092)_
> The concept of ObjectPlacement is entirely independent of geometry representation.
Yes, and I never claimed the opposite. But if you look at `IfcLinearPlacement` and its reliance on `IfcPointByDistanceExpression,` you cannot deny that a curve must be present.
4.1.5.8 Product Relative Positioning - provides relative positioning to either an `IfcReferent` or an `IfcAlignment`. Say you have an `IfcReferent.STATION` and want to express that an `IfcSign` is at that station. That `IfcReferent` must be on some `IfcAlignment` for the station equation in the `IfcReferent` to make sense, so this `IfcReferent.STATION` has `Product Relative Positioning` to the `IfcAlignment`. Treat it as the semantic layer of the relative Linear Referencing Method from ISO 19148.
The ISO 19148 ILinearElement interface requires the following data points to be measure along:
- Linear Referencing Method (is in the `Pset_LinearReferencingMethod`)
- measure (e.g. IfcReferents with station equations)
- start (Referent Nesting on IfcAlignment)
One of the requirements for `IfcAlignment` was that it does not have to have a representation necessarily. Not all exchanges require a visualisation and according to ISO 19148, as long as it is known along what, how, the start and the actual measurement is being performed, the position is defined.
Contributor guide
Research direction
Start by comparing the specification sections 4.1.5.8 Product Relative Positioning and 4.1.7.4.2 Product Linear Placement, including IfcLinearPlacement, IfcPointByDistanceExpression, IfcReferent, and IfcAlignment. Review the ISO 19148 requirements cited in the discussion; done means the distinction and intended use are resolved and captured as an agreed specification clarification.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100