The cubic transition segment is modelled with IfcPolynomialCurve with certain restrictions. The size of the attribute CoefficientsY is restricted to 4. The cubic term is on position 4. In general, the CoefficietsX size would be restricted to 2 and values specified as [0, 1]. This produces the following result:
y = CoefficientsX[3]*x³, where other values in CoefficientsY are 0.
Figure 11 illustrates an instance diagram.
![]() |
Figure 11 — Cubic Transition Segment |
<?xml version="1.0" encoding="utf-8"?>
<ConceptTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" uuid="27d2cc42-f560-4879-9c8e-3547bcadf796" name="Cubic Transition Segment" applicableSchema="IFC4" applicableEntity="IfcCurveSegment">
<Rules>
<AttributeRule AttributeName="ParentCurve">
<EntityRules>
<EntityRule EntityName="IfcPolynomialCurve">
<AttributeRules>
<AttributeRule AttributeName="CoefficientsX">
<EntityRules>
<EntityRule EntityName="IfcReal" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="CoefficientsY">
<EntityRules>
<EntityRule EntityName="IfcReal" />
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</Rules>
</ConceptTemplate>