IFC 4.3.2.20240809 (IFC4X3_ADD2) under development

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.

Table 8.7.3.2.D

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;

8.7.3.2.6 References

Edit on Github


Is this page difficult to understand? Let us know!

8.7.3.2.7 Changelog

8.7.3.2.7.1 IFC4.3_DEV_20bdb3d

  • New resource