-
Notifications
You must be signed in to change notification settings - Fork 25
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
Update Spatial Description needed by IFC Rail #139
Update Spatial Description needed by IFC Rail #139
Conversation
…esElements_update Update IfcRelInterferesElement DocEntity & Documentation
I have tried to follow requirement expressed in #40, to be reviewed and validated by @AlexBrad1eyCT & @SergejMuhic . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some comments and corrections and a request. Also, would appreciate the clarification of how geometry, zone and elements interact in terms of shape representation and placement.
...ore data schemas/Schemas/IfcProductExtension/Entities/IfcRelInterferesElements/DocEntity.xml
Outdated
Show resolved
Hide resolved
</DocAttribute> | ||
<DocAttribute Name="ImpliedOrder" UniqueId="57512488-73cf-44cc-995d-d5e84df6ae44" DefinedType="IfcLogical"> | ||
<Documentation>Logical value indicating whether the interference geometry should be subtracted from the _RelatingElement_ (if TRUE), or whether it should be either subtracted from the _RelatingElement_ or the _RelatedElement_ (if FALSE), or whether no indication can be provided (if UNKNOWN).</Documentation> | ||
<Documentation>Logical value indicating if the _RelatingElement_ has priority over the _RelatedElement_. TRUE value imply that relation is oriented from _RelatingElement_ to _RelatedElement_ (in regards of the _InterferenceType_) and that the _InterferenceGeometry_ should be subtracted from the _RelatingElement_. FASLE value imply that relation has no orientation and that _InterferenceGeometry_ may be subtracted from the _RelatingElement_ or the _RelatedElement_.UNKNOWN value imply that no information about the orientation is provided</Documentation> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The geometry part still is very vague. In my view. for such purposes IfcBooleanResult could also be used. I am struggling to see the purpose of this here. I have a few questions:
- Why put something like that in a sentence if there is a dedicated entity for it? Makes it harder to implement.
- How are the zone and interference geometry supposed to interact? Is interference geometry supposed to be the geometry of the zone?
- In which coordinate system is the interference geometry?
- Are all geometry types in IfcConnectionGeometry (point, curve, surface, volume) allowed and what do subtraction operations mean for each of them?
<Documentation>Logical value indicating if the _RelatingElement_ has priority over the _RelatedElement_. TRUE value imply that relation is oriented from _RelatingElement_ to _RelatedElement_ (in regards of the _InterferenceType_) and that the _InterferenceGeometry_ should be subtracted from the _RelatingElement_. FASLE value imply that relation has no orientation and that _InterferenceGeometry_ may be subtracted from the _RelatingElement_ or the _RelatedElement_.UNKNOWN value imply that no information about the orientation is provided</Documentation> | |
<Documentation>Logical value indicating if the _RelatingElement_ has priority over the _RelatedElement_. TRUE value implies that the relation is oriented from _RelatingElement_ to _RelatedElement_ (with regards to _InterferenceType_) and that the _InterferenceGeometry_ should be subtracted from the _RelatingElement_. FALSE value implies that relation has no orientation and that _InterferenceGeometry_ may be subtracted from the _RelatingElement_ or the _RelatedElement_.UNKNOWN value imply that no information about the orientation is provided</Documentation> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Usage been vague is copy from historical definition of ImpliedOrder
attribute used to define source for geometry of interference. Added usage juste enforce Orientation of relation with specific Interference Types, I will reply only on that new usage (as the historical one is not in the scope of this PR, -> #111)
- to Enforce orientation of the relation, the orientation can be made default behavior if needed (thus this variable may be suppressed)
- Implémentation should either use geometry XOR space, not both (MVDxml rule to be added IMHO)
- Historical usage -> historical choice if any
- historical usage -> historical choice if any
For point 3 & 4 I think @TLiebich may provide answers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, you are right. This relationship was sort of a mess already but now we are also applying it to spatial concepts. I would suggest leaving historical blunders and address:
- quite complicated but I trust you have the cases covered
- okay, we had the same conversation with @czapplitec 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated in new version, resolve if OK for you.
@@ -1,12 +1,25 @@ | |||
The _IfcRelInterferesElements_ objectified relationship indicates that two elements interfere. Interference is a spatial overlap between the two elements. It is a 1 to 1 relationship. The concept of two elements interfering physically or logically is described independently from the elements. The interference may be related to the shape representation of the entities by providing an interference geometry. | |||
The _IfcRelInterferesElements_ objectified relationship indicates that two elements interfere. Interference is a spatial and/or shape interaction between the two elements. It is a 1 to 1 relationship. The concept of two elements interfering physically or logically is described independently from the elements. The interference may be related to the shape representation of the entities by providing an interference geometry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is a spatial interaction and how is it different from a shape interaction?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To me spatial interaction state that footprint associated with SpatialElement have an interaction, in link with the change of paradigm that SpatialElement does not have proper shapes (intrinsic geometrical representation) but only footprint (documentation-related and communication-related area/spaces representation).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we bring this logic somehow into the documentation? Otherwise, it is not specified.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added in the documentation:
The interference may be related to the shape representation of the entities by providing an interference geometry or zone:
* when the interference is between two physical products, the _InterferenceGeometry_ attribute is used to define the physical interference shape, it can be part of the shape of one of the elements used in the relationship or define the interface between the two shapes using a _IfcConnectionGeometry_.
* when the interference is between two spatial objects, the _InterferenceSpace_ attribute is used to define the interference space between the two associated footprints, expressed by a specific _IfcSpatialZone_ of predefined type _IfcSpatialZoneTypeEnum_ INTERFERENCE.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what happens if the RelatingElement is a spatial element, and the RelatedElement is a physical element? Are such combinations allowed at all? Also is it legal to have InterferenceGeometry AND Interference_Space (both relations instantiated)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@TLiebich
This is not explicitly forbidden, but the documentation express only clear homogeneous usage.
IMHO cross usage need a more deep review of this relation -> IFC Tunnel 4.4
Both attributes should not be set together:
- Documented on line 9 (2 lines below)
- @SergejMuhic will add a WHERE clause to forbid this possibility
... data schemas/Schemas/IfcProductExtension/Entities/IfcRelInterferesElements/Documentation.md
Outdated
Show resolved
Hide resolved
... data schemas/Schemas/IfcProductExtension/Entities/IfcRelInterferesElements/Documentation.md
Outdated
Show resolved
Hide resolved
... data schemas/Schemas/IfcProductExtension/Entities/IfcRelInterferesElements/Documentation.md
Outdated
Show resolved
Hide resolved
Minor changes suggested where implemented. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One thing I am still having trouble with is the coordinate system of InterferenceGeometry. It is not your responsibility though (old sins).
Could you add the shape vs spatial interference logic to the documentation?
I would merge after.
@@ -1,12 +1,25 @@ | |||
The _IfcRelInterferesElements_ objectified relationship indicates that two elements interfere. Interference is a spatial overlap between the two elements. It is a 1 to 1 relationship. The concept of two elements interfering physically or logically is described independently from the elements. The interference may be related to the shape representation of the entities by providing an interference geometry. | |||
The _IfcRelInterferesElements_ objectified relationship indicates that two elements interfere. Interference is a spatial and/or shape interaction between the two elements. It is a 1 to 1 relationship. The concept of two elements interfering physically or logically is described independently from the elements. The interference may be related to the shape representation of the entities by providing an interference geometry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we bring this logic somehow into the documentation? Otherwise, it is not specified.
* DocEntity for ImpliedOrder attribute have been simplified * Documentation on IfcRelInterferesElements have been clarified * Documentation state clearly that InterferenceGeometryis for physical product and InterferenceSpace is for spatial objects * Documentation state the not both attribute should be set together
Major update from 12/07 meeting:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I salute you sir @MatthieuPERIN , really nice re-work.
Just one suggestion to better fit the nature of the attribute and a space removed.
... data schemas/Schemas/IfcProductExtension/Entities/IfcRelInterferesElements/Documentation.md
Outdated
Show resolved
Hide resolved
...ore data schemas/Schemas/IfcProductExtension/Entities/IfcRelInterferesElements/DocEntity.xml
Outdated
Show resolved
Hide resolved
…Entities/IfcRelInterferesElements/Documentation.md Co-authored-by: SergejMuhic <sergejs1@gmail.com>
…Entities/IfcRelInterferesElements/DocEntity.xml Co-authored-by: SergejMuhic <sergejs1@gmail.com>
Thanks for the final review @SergejMuhic, all propositions accepted as they clearly improve overall quality ! |
Recast of #40 Pull request.
Linked issue
Resolves #111
Update IfcRelInterferesElement DocEntity & Documentation