Alignments may be used to provide a layout reference for infrastructure elements.
<?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="48afbff3-893b-4791-94dd-fface6eac658" name="Alignment Attributes" applicableSchema="IFC4" applicableEntity="IfcProduct">
<SubTemplates>
<ConceptTemplate uuid="891b5b0f-21b7-4f1a-87d2-6071e8f25ad7" name="Alignment Cant Attributes" applicableSchema="IFC4" applicableEntity="IfcAlignmentCant">
<Rules>
<AttributeRule AttributeName="Segments">
<EntityRules>
<EntityRule EntityName="IfcAlignmentCantSegment">
<AttributeRules>
<AttributeRule AttributeName="StartTag" />
<AttributeRule AttributeName="EndTag" />
<AttributeRule AttributeName="StartDistAlong">
<EntityRules>
<EntityRule EntityName="IfcLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="HorizontalLength">
<EntityRules>
<EntityRule EntityName="IfcPositiveLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="StartCantLeft">
<EntityRules>
<EntityRule EntityName="IfcLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="EndCantLeft">
<EntityRules>
<EntityRule EntityName="IfcLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="StartCantRight">
<EntityRules>
<EntityRule EntityName="IfcLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="EndCantRight">
<EntityRules>
<EntityRule EntityName="IfcLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="SmoothingLength">
<EntityRules>
<EntityRule EntityName="IfcPositiveLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="PredefinedType">
<EntityRules>
<EntityRule EntityName="IfcAlignmentCantSegmentTypeEnum" />
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</Rules>
</ConceptTemplate>
<ConceptTemplate uuid="9abb858d-493a-4ce1-9a40-9ae26c74dcc8" name="Alignment Horizontal Attributes" applicableSchema="IFC4" applicableEntity="IfcAlignmentHorizontal">
<Rules>
<AttributeRule AttributeName="Segments">
<EntityRules>
<EntityRule EntityName="IfcAlignmentHorizontalSegment">
<AttributeRules>
<AttributeRule AttributeName="StartTag" />
<AttributeRule AttributeName="EndTag" />
<AttributeRule AttributeName="StartPoint">
<EntityRules>
<EntityRule EntityName="IfcCartesianPoint" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="StartDirection">
<EntityRules>
<EntityRule EntityName="IfcPlaneAngleMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="StartRadiusOfCurvature">
<EntityRules>
<EntityRule EntityName="IfcLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="EndRadiusOfCurvature">
<EntityRules>
<EntityRule EntityName="IfcLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="SegmentLength">
<EntityRules>
<EntityRule EntityName="IfcPositiveLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="GravityCenterLineHeight" />
<AttributeRule AttributeName="PredefinedType">
<EntityRules>
<EntityRule EntityName="IfcAlignmentHorizontalSegmentTypeEnum" />
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</Rules>
</ConceptTemplate>
<ConceptTemplate uuid="10c18187-c07c-4e5b-a9be-2e45d5eac8d2" name="Alignment Vertical Attributes" applicableSchema="IFC4" applicableEntity="IfcAlignmentVertical">
<Rules>
<AttributeRule AttributeName="Segments">
<EntityRules>
<EntityRule EntityName="IfcAlignmentVerticalSegment">
<AttributeRules>
<AttributeRule AttributeName="StartTag" />
<AttributeRule AttributeName="EndTag" />
<AttributeRule AttributeName="StartDistAlong">
<EntityRules>
<EntityRule EntityName="IfcLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="HorizontalLength">
<EntityRules>
<EntityRule EntityName="IfcPositiveLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="StartHeight">
<EntityRules>
<EntityRule EntityName="IfcLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="StartGradient">
<EntityRules>
<EntityRule EntityName="IfcLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="EndGradient">
<EntityRules>
<EntityRule EntityName="IfcLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="RadiusOfCurvature">
<EntityRules>
<EntityRule EntityName="IfcPositiveLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="PredefinedType">
<EntityRules>
<EntityRule EntityName="IfcAlignmentVerticalSegmentTypeEnum" />
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</Rules>
</ConceptTemplate>
</SubTemplates>
</ConceptTemplate>