IFC 4.4.0.0 build 20261005 (IFC4X4_DEV_20260525) ⚠ buildingSMART Working Draft. All content is under development.

  • Help suggest improvements
  • Get user or developer support

4.2.2.1.9 Helmert Transition Segment

The Helmert transition segment is a special case of a fourth order spiral where the curvature rate of change is a quadratic function and the terms are dependent on the length L measured from the inflection point. The parameter value is defined as the deflection i.e. bearing angle &Theta.

The terms for the first half of the segment: QuadraticTerm = L/√2 rest are 0.

Terms for the second half of the segment: QuadraticTerm = -L/√2 LinearTerm = L/4 Constant = -1

The following diagram shows the generic classes and relationships used when applying this concept.

%3 IfcCurveSegment IfcCurveSegment      LayerAssignment [0:1]      StyledByItem [0:1] 1. Transition [1:1]      UsingCurves [1:?] 2. Placement [1:1] 3. SegmentStart [1:1] 4. SegmentLength [1:1] 5. ParentCurve [1:1] IfcSecondOrderPolynomialSpiral IfcSecondOrderPolynomialSpiral      LayerAssignment [0:1]      StyledByItem [0:1] 1. Position [1:1] QuadraticTerm 2. QuadraticTerm [1:1] LinearTerm 3. LinearTerm [0:1] Constant 4. ConstantTerm [0:1] IfcCurveSegment:ParentCurve1->IfcSecondOrderPolynomialSpiral:IfcSecondOrderPolynomialSpiral0 IfcLengthMeasure_0 IfcLengthMeasure IfcCurveSegment:SegmentStart1->IfcLengthMeasure_0:IfcLengthMeasure0 IfcLengthMeasure_1 IfcLengthMeasure IfcCurveSegment:SegmentLength1->IfcLengthMeasure_1:IfcLengthMeasure0 IfcSecondOrderPolynomialSpiral:QuadraticTerm1->IfcLengthMeasure_0:IfcLengthMeasure0 IfcSecondOrderPolynomialSpiral:LinearTerm1->IfcLengthMeasure_1:IfcLengthMeasure0 IfcReal IfcReal IfcSecondOrderPolynomialSpiral:ConstantTerm1->IfcReal:IfcReal0
Figure 4.2.2.1.9.A

Edit on Github

4 contributor(s): bSI-BotEvandro AlfieriThomas KrijnenstefkeB
Last change: Clarify README by removing unnecessary details closes buildingSMART/IFC4.x-IF#152 Removed explanation of SegmentStart and SegmentLength. by Evandro Alfieri on 2026-06-04T09:27:58+02:00

Is this page difficult to understand? Let us know!