8.7.3.2 IfcAlignmentHorizontalSegment
8.7.3.2.1 Semantic definition
Individual segment along the IfcAlignmentHorizontal, being defined in the x/y coordinate space. Each single horizontal alignment segment has an optional associated segment definition. The placement of IfcAlignmentHorizontalSegment and the IfcCurveSegment StartPlacement correspond to each other.
The following information can be calculated (and is therefore not exchanged explicitly to avoid redundancy and inconsistencies)
- the end point (from start point, direction, segment length and curve parameter)
- the start distance along (from the end distance along of the previous segment, or the start distance along of the horizontal alignment (if it is the first segment)
- the end distance along (from the start distance and the segment length)
- the end direction (from the curve parameter, the start direction and the segment length)
- the point of intersection (from the start direction and the end direction)
The following checks can be done to validate the correct exchange:
- continuity – does the calculated end point of the previous segment matches with the provided start point of this segment
- tangential continuity – does the calculated end direction of the previous segment matches with the provided start direction of this segment
8.7.3.2.2 Entity inheritance
8.7.3.2.3 Attributes
# | Attribute | Type | Description |
---|---|---|---|
IfcAlignmentParameterSegment (2) | |||
1 | StartTag | OPTIONAL IfcLabel |
Tag to annotate the start point of the alignment segment. |
2 | EndTag | OPTIONAL IfcLabel |
Tag to annotate the end point of the alignment segment. |
Click to show 2 hidden inherited attributes Click to hide 2 inherited attributes | |||
IfcAlignmentHorizontalSegment (7) | |||
3 | StartPoint | IfcCartesianPoint |
The start point of the segment defined by a Cartesian point. |
4 | StartDirection | IfcPlaneAngleMeasure |
The direction of the tangent at the start point. Direction value 0. indicates a curve with a start tangent along the positive x-axis. Values increases counter-clockwise, and decreases clockwise. Depending on the plane angle unit, either degree or radians, the sensible range is -360° ≤ n ≤ 360° (or -2π ≤ n ≤ 2π). Values larger then a full circle (>|360°| or >|2 π| shall not be used. |
5 | StartRadiusOfCurvature | IfcLengthMeasure |
For a NONLINEAR horizontal segment type the radius of the curve at the start point (Placement of the segment). For CIRCULAR type it is constant i.e. StartRadiusOfCurvature and EndRadiusOfCurvature are always the same. For LINE type, both StartRadiusOfCurvature and EndRadiusOfCurvature is 0. If the radius is 0 it shall be interpreted as INFINITE. Positive values imply a CCW direction whereas negative CW. |
6 | EndRadiusOfCurvature | IfcLengthMeasure |
For a NONLINEAR horizontal segment type the radius of the curve at the end point. If the radius is 0 it shall be interpreted as INFINITE. Positive values imply a CCW direction whereas negative CW. |
7 | SegmentLength | IfcNonNegativeLengthMeasure |
The length along the curve. |
8 | GravityCenterLineHeight | OPTIONAL IfcPositiveLengthMeasure |
Optional attribute require for the exchange of Vienna bend transition segment. |
9 | PredefinedType | IfcAlignmentHorizontalSegmentTypeEnum |
Predefined type of the horizontal alignmnent segment. |
8.7.3.2.4 Examples
8.7.3.2.5 Formal representation
ENTITY IfcAlignmentHorizontalSegment
SUBTYPE OF (IfcAlignmentParameterSegment);
StartPoint : IfcCartesianPoint;
StartDirection : IfcPlaneAngleMeasure;
StartRadiusOfCurvature : IfcLengthMeasure;
EndRadiusOfCurvature : IfcLengthMeasure;
SegmentLength : IfcNonNegativeLengthMeasure;
GravityCenterLineHeight : OPTIONAL IfcPositiveLengthMeasure;
PredefinedType : IfcAlignmentHorizontalSegmentTypeEnum;
END_ENTITY;