Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows:
P = Pnt
V = Dir
l(u) = P + uV
and the parametric range is -¥ < u < ¥
NOTE Corresponding STEP entity: line. Please refer to ISO/IS 10303-42:1994, p.37 for the final definition of the formal standard. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item.
HISTORY New class in IFC Release 1.0
# | Attribute | Type | Cardinality | Description | A |
---|---|---|---|---|---|
1 | Pnt | IfcCartesianPoint | [1:1] | The location of the line. | X |
2 | Dir | IfcVector | [1:1] | The direction of the line, the magnitude and units of Dir affect the parameterization of the line. | X |
Rule | Description |
---|---|
WR1 | The dimensionality of the location (IfcCartesianPoint) shall be the same as of the direction (IfcVector). |
# | Attribute | Type | Cardinality | Description | A |
---|---|---|---|---|---|
IfcRepresentationItem | |||||
IfcGeometricRepresentationItem | |||||
IfcCurve | |||||
Dim :=IfcCurveDim(SELF) | IfcDimensionCount | [1:1] | The space dimensionality of this abstract class, defined differently for all subtypes, i.e. for IfcLine, IfcConic and IfcBoundedCurve. | X | |
IfcLine | |||||
1 | Pnt | IfcCartesianPoint | [1:1] | The location of the line. | X |
2 | Dir | IfcVector | [1:1] | The direction of the line, the magnitude and units of Dir affect the parameterization of the line. | X |
<xs:element name="IfcLine" type="ifc:IfcLine" substitutionGroup="ifc:IfcCurve" nillable="true"/>
<xs:complexType name="IfcLine">
<xs:complexContent>
<xs:extension base="ifc:IfcCurve">
<xs:sequence>
<xs:element name="Pnt" type="ifc:IfcCartesianPoint" nillable="true"/>
<xs:element name="Dir" type="ifc:IfcVector" nillable="true"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
ENTITY IfcLine
SUBTYPE OF (IfcCurve);
Pnt : IfcCartesianPoint;
Dir : IfcVector;
WHERE
WR1 : Dir.Dim = Pnt.Dim;
END_ENTITY;