The 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.
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:
HISTORY: New entity in IFC Release 1.5. The entity name was changed from IfcConstraintRelIntersection in IFC Release 2x.
Geometry use definitions:
The following figures explain the usage of the OffsetDistances and IntersectingAxes attributes.
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.
Illustration
example
of a negative offset
|
# | Attribute | Type | Cardinality | Description | A |
---|---|---|---|---|---|
1 | IntersectingAxes | IfcGridAxis | ~L[2:2] | 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. | X |
2 | OffsetDistances | IfcLengthMeasure | L[2:3] | 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. | X |
# | Attribute | Type | Cardinality | Description | A |
---|---|---|---|---|---|
IfcVirtualGridIntersection | |||||
1 | IntersectingAxes | IfcGridAxis | ~L[2:2] | 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. | X |
2 | OffsetDistances | IfcLengthMeasure | L[2:3] | 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. | X |
<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>
ENTITY IfcVirtualGridIntersection;
IntersectingAxes : LIST [2:2] OF UNIQUE IfcGridAxis;
OffsetDistances : LIST [2:3] OF IfcLengthMeasure;
END_ENTITY;