Linie | |
Line | |
Ligne |
The IfcLine is an unbounded line parameterized by an IfcCartesianPoint and an IfcVector. The magnitude of the IfcVector affects the parameterization of the line, but it does not bound the line.
NOTE A line segment is defined using either the IfcPolyline with two Points, or the IfcTrimmedCurve with BasisCurve being an IfcLine.
EXAMPLE Figure 521 illustrates an unbounded IfcLine and a bounded IfcTrimmedCurve. A bounded line starting at 0.,0. and ending at 0.,2. can be defined by:
- IfcLine with IfcVector.Magnitude: 2.0 AND IfcTrimmedCurve with Trim1: 0. and Trim2: 1. (and trimming preference being parameter);
- IfcLine with IfcVector.Magnitude: 1.0 AND IfcTrimmedCurve with Trim1: 0. and Trim2: 2. (and trimming preference being parameter);
- IfcLine AND IfcTrimmedCurve with Trim1::IfcCartesianPoint [0.,0.] and Trim2::IfcCartesianPoint [0.,2.] (and trimming preference being Cartesian) - the IfcVector.Magnitude has no effect;
- IfcPolyline with Points[1] being 0.,0. and Points[2] being 0.,2.
- IfcIndexedPolyCurve with two indices, pointing into a point list providing the coordinates (0.,0.) and (0.,2.).
Figure 521 — Unbounded IfcLine and bounded IfcTrimmedCurve |
NOTE Definition according to 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 curve is parameterized as follows:P = Pnt
V = Dir
λ(u) = P + uV and the parametric range is: -∞ < u < ∞
NOTE Entity adapted from line defined in ISO 10303-42
HISTORY New entity in IFC1.0
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
1 | Pnt | IfcCartesianPoint | The location of the IfcLine. | X | |
2 | Dir | IfcVector | The direction of the IfcLine, the magnitude and units of Dir affect the parameterization of the line. | X |
Rule | Description |
---|---|
SameDim | The dimensionality of the Pnt, provided by IfcCartesianPoint, shall be the same as the dimensionality of the Dir, provided by IfcVector. |
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
IfcRepresentationItem | |||||
LayerAssignment | IfcPresentationLayerAssignment @AssignedItems | S[0:1] | Assignment of the representation item to a single or multiple layer(s). The LayerAssignments can override a LayerAssignments of the IfcRepresentation it is used within the list of Items.
IFC2x3 CHANGE The inverse attribute LayerAssignments has been added. IFC4 CHANGE The inverse attribute LayerAssignment has been restricted to max 1. Upward compatibility for file based exchange is guaranteed. | X | |
StyledByItem | IfcStyledItem @Item | S[0:1] | Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve.
IFC2x3 CHANGE The inverse attribute StyledByItem has been added. | X | |
IfcGeometricRepresentationItem | |||||
IfcCurve | |||||
Dim :=IfcCurveDim(SELF) | IfcDimensionCount | The space dimensionality of this abstract class, defined differently for all subtypes, i.e. for IfcLine, IfcConic and IfcBoundedCurve. | X | ||
IfcLine | |||||
1 | Pnt | IfcCartesianPoint | The location of the IfcLine. | X | |
2 | Dir | IfcVector | The direction of the IfcLine, 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
SameDim : Dir.Dim = Pnt.Dim;
END_ENTITY;
References: IfcRevolvedAreaSolid IfcSurfaceOfRevolution