#### 8.5.3.5 IfcVirtualGridIntersection

| Intersection virtuelle de grille
| Schnittpunkt von Rasterlinien

IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection.

The two intersecting axes (IntersectingAxes) define the intersection point, which exact location (in terms of the Cartesian point representing the intersection) has to be calculated from the geometric representation of the two participating curves.

> NOTE The IfcGrid local placement, that can be provided relative to the local placement of another spatial structure element, has to be taken into account for calculating the absolute placement of the IfcVirtualGridIntersection. Where rules and informal rules ensure, that the IntersectingAxes belong to the same IfcGrid

Offset values may be given (OffsetDistances). If given, the position within the list of OffsetDistances corresponds with the position within the list of IntersectingAxes. Therefore:

- OffsetDistances[1] sets the offset to IntersectingAxes[1],
- OffsetDistances[2] sets the offset to IntersectingAxes[2], and
- OffsetDistances[3] sets the offset to the virtual intersection in direction of the orientation of the cross product of IntersectingAxes[1] and the orthogonal complement of the IntersectingAxes[1] (which is the positive or negative direction of the z axis of the design grid position).

The following figures explain the usage of the OffsetDistances and IntersectingAxes attributes.

| Figure 102 illustrates two offset distances given where the virtual intersection is defined in the xy plane of the grid axis placement.
Figure 102 — Virtual grid intersection with two offsets |

| Figure 103 illustrates three offset distances given where the virtual intersection is defined by an offset (in direction of the z-axis of the design grid placement) to the virtual intersection in the xy plane of the grid axis placement.
Figure 103 — Virtual grid intersection with three offsets |

The distance of the offset curve (OffsetDistances[n]) is measured from the basis curve. The distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) This can be reverted by the SameSense attribute at IfcGridAxis which may switch the sense of the AxisCurve.

| Figure 104 illustrates an example of a negative offset where the figure shows the side of the offset. IntersectingAxes[1].AxisCurve is an IfcTrimmedCurve with an IfcCircle as BasisCurve and SenseAgreement = TRUE. IntersectingAxes[1].SameSense = TRUE. OffsetDistances[1] is a negative length measure
Figure 104 — Virtual grid intersection negative offset |

> HISTORY New entity in IFC1.5.

> IFC2x CHANGE Renamed from IfcConstraintRelIntersection.

Informal Propositions:

1. Both, IntersectingAxes[1] and IntersectingAxes[2] shall be two IfcGridAxis defined by the same IfcGrid.
2. IntersectingAxes[1] and IntersectingAxes[2] shall not be part of the same row of grid axes, i.e. both shall not be within the same set of IfcGrid.UAxes or IfcGrid.VAxes of the corresponding IfcGrid.

XSD Specification:

<xs:element name="IfcVirtualGridIntersection" type="ifc:IfcVirtualGridIntersection" substitutionGroup="ifc:Entity" nillable="true"/>
<xs:complexType name="IfcVirtualGridIntersection">
<xs:complexContent>
<xs:extension base="ifc:Entity">
<xs:sequence>
<xs:element name="IntersectingAxes">
<xs:complexType>
<xs:sequence>
<xs:element ref="ifc:IfcGridAxis" minOccurs="2" maxOccurs="2"/>
</xs:sequence>
<xs:attribute ref="ifc:itemType" fixed="ifc:IfcGridAxis"/>
<xs:attribute ref="ifc:cType" fixed="list-unique"/>
<xs:attribute ref="ifc:arraySize" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="OffsetDistances" use="optional">
<xs:simpleType>
<xs:restriction>
<xs:simpleType>
<xs:list itemType="ifc:IfcLengthMeasure"/>
</xs:simpleType>
<xs:minLength value="2"/>
<xs:maxLength value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>

EXPRESS Specification:

ENTITY IfcVirtualGridIntersection;

IntersectingAxes | : | LIST [2:2] OF UNIQUE IfcGridAxis;
OffsetDistances | : | LIST [2:3] OF IfcLengthMeasure;

END_ENTITY;

Attribute Definitions:

IntersectingAxes | : | Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes.
OffsetDistances | : | Offset distances to the grid axes. If given, it defines virtual offset curves to the grid axes. The intersection of the offset curves specify the virtual grid intersection.

Inheritance Graph:

ENTITY IfcVirtualGridIntersection

| ENTITY IfcVirtualGridIntersection

IntersectingAxes | : | LIST [2:2] OF UNIQUE IfcGridAxis;
OffsetDistances | : | LIST [2:3] OF IfcLengthMeasure;

END_ENTITY;

Link to this page