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

Can Products with Linear placement be IfcRelContainedInSpatialStructure #123

Open
eihov opened this issue Nov 9, 2023 · 2 comments
Open

Comments

@eihov
Copy link
Contributor

eihov commented Nov 9, 2023

Problem
The current documentation on Product Linear Placement mentions:

Therefore, similarly to how IfcSpatialElement.ObjectPlacement sets the context for all contained elements, the IfcLinearPositioningElement.ObjectPlacement sets the context for all elements positioned on it. Consequently, each product placement that uses Product Linear Placement references the IfcObjectPlacement of the IfcLinearPositioningElement through IfcLinearPlacement.PlacementRelTo.

Taken from:
https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/concepts/Product_Shape/Product_Placement/Product_Linear_Placement/content.html

The question is then, should we allow Products with a Linear Placement to be contained in spatial structure, even if the documentation says that the ObjectPlacement of IfcSpatialElement sets the context for all contained elements? This means Linear Placement would override the context of the IfcSpatialElement.
Solution(s)
Describe the solution you'd like. If you have multiple options, list all of them.
A clear and concise description of what you want to happen.

Require schema changes?

  • yes
  • no
  • don't know

Require documentation changes?

  • yes
  • no
  • don't know

Rule required

  • No need

Proposal
Update documentation so that it clearly states that Linear Placement overrides the spatial placement context, or something similar.

Reason for overriding: Using Linear Placement doesn't affect more than it needs to.

@jmirtsch
Copy link
Collaborator

I'm not sure I fully understand the issue here. Is the primary question, can an element be contained (directly or inherited) in the spatial structure if the placement is a linear placement?
https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/concepts/Product_Shape/Product_Placement/Product_Local_Placement/content.html notes that when local placement is nominated, that the local placement should be relative to the product that it is contained within, or that it aggregates.
In https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/concepts/Product_Shape/Product_Placement/Product_Linear_Placement/content.html it notes the context of the placement. But I don't believe that there is any constraint then on the element aggregating another element, or being contained in the spatial structure (either of which might have a different object placement).

@evandroAlfieri
Copy link
Contributor

@eihov had to read the documentation a few times, and I'm aligned with Jon. I believe the confusing sentence is this

Therefore, similarly to how IfcSpatialElement.ObjectPlacement sets the context for all contained elements, the IfcLinearPositioningElement.ObjectPlacement sets the context for all elements positioned on it.

  • First of all, it's not clear what "sets the context" means nor imply
  • What is clear, is that when you linearly place an object you can decide (it's optional) to use the PlacementRelTo attribute to specify the ObjectPlacement that your object is relatively placed to. And I'd argue that this is the bit that "sets the context". See image below, you have to chose between (1) or (2).
  • Now that I read it better, I don't think the description of PlacementRelTo is clear. Especially the "when omitted" part.
    • This is clear: in the case of local placement it (the object placement) is established by the geometric representation context.
    • This is less clear: in the case of linear placement it (the object placement) is established by the origin of horizontal alignment of the referenced IfcAlignment Axis. I would have opted for the IfcLocalPlacement of the IfcAlignment, which is relative to the geometric representation context too. So to say, that when the optional attribute is missing, in both cases, it defaults to the same thing. (See image again)
  • Finally, to your original question, I don't see the need for a constraint for spatially contained + linearly placed objects. Definitely a better documentation though

Thoughts?

PlacementRelTo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants