Skip to content

Commit

Permalink
Merge pull request bSI-InfraRoom#40 from MatthieuPERIN/IfcRelInterfer…
Browse files Browse the repository at this point in the history
…esElements_update

Update IfcRelInterferesElement DocEntity & Documentation
  • Loading branch information
AlexBrad1eyCT authored and matthieu.perin committed Jul 6, 2021
1 parent 19b739a commit 559cbdb
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 7 deletions.
5 changes: 5 additions & 0 deletions IFC4x3/Constants/i/INTERFERENCE_1YJr7LhNL3efA_mK43uKGl.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<DocConstant xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="INTERFERENCE_1YJr7LhNL3efA_mK43uKGl" Name="INTERFERENCE" UniqueId="624f51d5-ad75-43a2-92be-c14103e1442f">
<Documentation>The spatial zone is used to define an interference between SpatialElements</Documentation>
</DocConstant>

Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,14 @@
<DocAttribute Name="InterferenceGeometry" UniqueId="434aa7d7-1bd7-4773-a678-7ab1055f88f0" DefinedType="IfcConnectionGeometry" AttributeFlags="1" XsdFormat="attribute">
<Documentation></Documentation>
</DocAttribute>
<DocAttribute Name="InterferenceSpace" UniqueId="4f546c0f-73ea-401b-aa48-bfaa954b18ba" DefinedType="IfcSpatialZone" AttributeFlags="1" AggregationLower="0" XsdFormat="element">
<Documentation>Optional attribute that express the interfering space for Spatial Elements</Documentation>
</DocAttribute>
<DocAttribute Name="InterferenceType" UniqueId="a92075e8-181d-4233-bd6a-e3efed6da830" DefinedType="IfcIdentifier" AttributeFlags="1">
<Documentation>Optional identifier that describes the nature of the interference. Examples include &apos;&apos;Clash&apos;&apos;, &apos;&apos;ProvisionForVoid&apos;&apos; (physical elements), and �Crosses�, �PassesThrough� �PassesOver� �PassesUnder� (spatial elements).</Documentation>
<Documentation>Optional identifier that describes the nature of the interference.</Documentation>
</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>
</DocAttribute>
</Attributes>
<WhereRules>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,24 @@
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.

* When the interference geometry is available it can be passed by the optional attribute _InterferenceGeometry_ pointing to _IfcConnectionGeometry_. The connection geometry is provided as a point, curve, surface, or solid within the placement coordinate systems of the connecting elements. The _IfcConnectionVolumeGeometry_ is the default type to be used for interference in 3D space, as indicated in e.g. clash detections.
* When the interference geometry is available it can be passed by the optional attribute _InterferenceGeometry_ pointing to _IfcConnectionGeometry_. The connection geometry is provided as a point, curve, surface, or volume within the local placement coordinate systems of the connecting elements. The _IfcConnectionVolumeGeometry_ is the default type to be used for interference in 3D space, as indicated in e.g. clash detections.
* If the interference geometry is omitted then the interference is provided as a logical relationship. Under this circumstance, the connection point, curve, surface, or solid has to be recalculated by the receiving application.

The _RelatingElement_ and _RelatedElement_ define the two elements in the relationship, that may have different roles. This is controlled by the attribute _ImpliedOrder_.
The _RelatingElement_ and _RelatedElement_ define the two elements in the relationship, that may have different roles. The relation orientation may be required by certain _InterferenceType_ values, this is done by setting the attribute _ImpliedOrder_ accordingly:

* _ImpliedOrder_=TRUE The _RelatingElement_ constitutes the primary element of the interference relationship. If the interference is to be resolved by subtracting the overlapping part, it should be subtracted from the _RelatingElement_. The net result would be the _RelatingElement_ subtracted by the _InterferenceGeometry_. This would be the case in interference relationships where the _RelatedElement_ creates a void in the _RelatingElement_ dynamically.
* _ImpliedOrder_=TRUE The _RelatingElement_ constitutes the primary element of the interference relationship that is oriented from _RelatingElement_ (source) to _RelatedElement_ (target). If the interference is to be resolved by subtracting the overlapping part, it should be subtracted from the _RelatingElement_. The net result would be the _RelatingElement_ subtracted by the _InterferenceGeometry_. This would be the case in interference relationships where the _RelatedElement_ creates a void in the _RelatingElement_ dynamically.
* _ImpliedOrder_=FALSE The _RelatingElement_ and _RelatedElement_ have no priority among each other. If the interference is to be resolved then no information about whether the _InterferenceGeometry_ should be subtracted from the _RelatingElement_ or the _RelatedElement_ can be traced. This would be the case for clash detection results.
* _ImpliedOrder_=UNKNOWN No information about the priorities is provided.


The _IfcConnectionGeometry_ property is used to define the interference shape, it can be part of the shape of one of the elements of the relationship (in the case of clash, overlapping and crossing interference types) or define the interface between the two shapes (in the case of along, over and under interference types).

The _InterferenceType_ property optionally specifies the type of interference between the two elements, two set of default types are provided:
* **Oriented interferences types** imply usage of _ImpliedOrder_ set to TRUE and specific choice of _RelatingElement_ and _RelatedElement_ to be meaningful:
* Crosses: the _RelatingElement_ is crossing the _RelatedElement_ (e.g. Railway crossing a road)
* PassesThrough: the _RelatingElement_ is passing through the _RelatedElement_ (e.g. a Road passing inside a tunnel)
* PassesOver: the _RelatingElement_ is passing over the _RelatedElement_ (e.g a bridge passing over a water canal)
* PassesUnder: the _RelatingElement_ is passing under the _RelatedElement_ (e.g a Pipe passing under a road)
* **Non oriented interferences types** do not imply specific values of _ImpliedOrder_ (but can still be set to precise shape interference calculation)
* Clash: The _RelatingElement_ and _RelatedElement_ have a spatial or shape-based clash
* Along: The _RelatingElement_ and _RelatedElement_ have a common frontier/surface

> HISTORY&nbsp; New entity in IFC4.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
<DocConstant xsi:nil="true" href="TRANSPORT_1PhfhzjfH8KgvO2qDMzC6X" />
<DocConstant xsi:nil="true" href="VENTILATION_0h43vNYpP8ix_JjxabToaE" />
<DocConstant xsi:nil="true" href="RESERVATION_1aVYdOwc5ATPaQXQPp8LLT" />
<DocConstant xsi:nil="true" href="INTERFERENCE_1YJr7LhNL3efA_mK43uKGl" />
<DocConstant xsi:nil="true" href="USERDEFINED_2jovVwvnrBkgc5ik9l6kMP" />
<DocConstant xsi:nil="true" href="NOTDEFINED_3dRd_uKBHD4ebyIpTBlZOm" />
</Constants>
Expand Down

0 comments on commit 559cbdb

Please sign in to comment.