buildingSMART / buildingSMART/IFC4.x-development

Product Linear Placement vs Product Relative Positioning

Open
#1,133 3 comments 0 reactions 0 assignees View on GitHub
( ! )
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.