IFC 4.3.2.20240423 (IFC4X3_ADD2) under development

4.1.4.4.1.1 Alignment Layout - Horizontal, Vertical and Cant

Nesting relationships between IfcAlignment and the three layouts, with respective segments, that may define it (i.e., IfcAlignmentHorizontal, IfcAlignmentVerticalSegment, IfcAlignmentCant).

When defining the list of segments for the business logic (i.e., IfcAlignmentHorizontalSegment, IfcAlignmentVerticalSegment, IfcAlignmentCantSegment):

  1. A zero-length segment shall be added, at the end of the list of segments for IfcAlignmentSegment.DesignParameters.
  2. If the geometry definition is also present, then each of the zero-length segments shall have a IfcCurveSegment counterpart - of length zero.

The following diagram shows the generic classes and relationships used when applying this concept. In addition, concepts may have particular importance to common or standardised industry practices and scenarios. For these specific usage scenarios, the table below shows a recommended list of general usage patterns that users may adopt.

G IfcAlignment IfcAlignment 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1]      HasAssignments [0:?]      Nests [0:1]      IsNestedBy [0:?]      HasContext [0:1]      IsDecomposedBy [0:?]      Decomposes [0:1]      HasAssociations [0:?] 5. ObjectType [0:1]      IsDeclaredBy [0:1]      Declares [0:?]      IsTypedBy [0:1]      IsDefinedBy [0:?] 6. ObjectPlacement [0:1] 7. Representation [0:1]      ReferencedBy [0:?]      PositionedRelativeTo [0:?]      ReferencedInStructures [0:?]      ContainedInStructure [0:1]      Positions [0:?] 8. PredefinedType [0:1] IfcRelNests_0 IfcRelNests 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1] 5. RelatingObject [1:1] 6. RelatedObjects [1:?] IfcAlignment:IsNestedBy1->IfcRelNests_0:RelatingObject0 IfcAlignmentHorizontal IfcAlignmentHorizontal 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1]      HasAssignments [0:?]      Nests [0:1]      IsNestedBy [0:?]      HasContext [0:1]      IsDecomposedBy [0:?]      Decomposes [0:1]      HasAssociations [0:?] 5. ObjectType [0:1]      IsDeclaredBy [0:1]      Declares [0:?]      IsTypedBy [0:1]      IsDefinedBy [0:?] 6. ObjectPlacement [0:1] 7. Representation [0:1]      ReferencedBy [0:?]      PositionedRelativeTo [0:?]      ReferencedInStructures [0:?] IfcRelNests_0:RelatedObjects1->IfcAlignmentHorizontal:IfcAlignmentHorizontal0 IfcAlignmentVertical IfcAlignmentVertical 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1]      HasAssignments [0:?]      Nests [0:1]      IsNestedBy [0:?]      HasContext [0:1]      IsDecomposedBy [0:?]      Decomposes [0:1]      HasAssociations [0:?] 5. ObjectType [0:1]      IsDeclaredBy [0:1]      Declares [0:?]      IsTypedBy [0:1]      IsDefinedBy [0:?] 6. ObjectPlacement [0:1] 7. Representation [0:1]      ReferencedBy [0:?]      PositionedRelativeTo [0:?]      ReferencedInStructures [0:?] IfcRelNests_0:RelatedObjects1->IfcAlignmentVertical:IfcAlignmentVertical0 IfcAlignmentCant IfcAlignmentCant 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1]      HasAssignments [0:?]      Nests [0:1]      IsNestedBy [0:?]      HasContext [0:1]      IsDecomposedBy [0:?]      Decomposes [0:1]      HasAssociations [0:?] 5. ObjectType [0:1]      IsDeclaredBy [0:1]      Declares [0:?]      IsTypedBy [0:1]      IsDefinedBy [0:?] 6. ObjectPlacement [0:1] 7. Representation [0:1]      ReferencedBy [0:?]      PositionedRelativeTo [0:?]      ReferencedInStructures [0:?] 8. RailHeadDistance [1:1] IfcRelNests_0:RelatedObjects1->IfcAlignmentCant:IfcAlignmentCant0 IfcRelNests_1 IfcRelNests 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1] 5. RelatingObject [1:1] 6. RelatedObjects [1:?] IfcAlignmentHorizontal:IsNestedBy1->IfcRelNests_1:RelatingObject0 IfcRelNests_2 IfcRelNests 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1] 5. RelatingObject [1:1] 6. RelatedObjects [1:?] IfcAlignmentVertical:IsNestedBy1->IfcRelNests_2:RelatingObject0 IfcRelNests_3 IfcRelNests 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1] 5. RelatingObject [1:1] 6. RelatedObjects [1:?] IfcAlignmentCant:IsNestedBy1->IfcRelNests_3:RelatingObject0 IfcAlignmentSegment_0 IfcAlignmentSegment 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1]      HasAssignments [0:?]      Nests [0:1]      IsNestedBy [0:?]      HasContext [0:1]      IsDecomposedBy [0:?]      Decomposes [0:1]      HasAssociations [0:?] 5. ObjectType [0:1]      IsDeclaredBy [0:1]      Declares [0:?]      IsTypedBy [0:1]      IsDefinedBy [0:?] 6. ObjectPlacement [0:1] 7. Representation [0:1]      ReferencedBy [0:?]      PositionedRelativeTo [0:?]      ReferencedInStructures [0:?] 8. DesignParameters [1:1] IfcRelNests_1:RelatedObjects1->IfcAlignmentSegment_0:IfcAlignmentSegment0 IfcAlignmentHorizontalSegment IfcAlignmentHorizontalSegment 1. StartTag [0:1] 2. EndTag [0:1] 3. StartPoint [1:1] 4. StartDirection [1:1] 5. StartRadiusOfCurvature [1:1] 6. EndRadiusOfCurvature [1:1] 7. SegmentLength [1:1] 8. GravityCenterLineHeight [0:1] 9. PredefinedType [1:1] IfcAlignmentSegment_0:DesignParameters1->IfcAlignmentHorizontalSegment:IfcAlignmentHorizontalSegment0 IfcAlignmentSegment_1 IfcAlignmentSegment 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1]      HasAssignments [0:?]      Nests [0:1]      IsNestedBy [0:?]      HasContext [0:1]      IsDecomposedBy [0:?]      Decomposes [0:1]      HasAssociations [0:?] 5. ObjectType [0:1]      IsDeclaredBy [0:1]      Declares [0:?]      IsTypedBy [0:1]      IsDefinedBy [0:?] 6. ObjectPlacement [0:1] 7. Representation [0:1]      ReferencedBy [0:?]      PositionedRelativeTo [0:?]      ReferencedInStructures [0:?] 8. DesignParameters [1:1] IfcRelNests_2:RelatedObjects1->IfcAlignmentSegment_1:IfcAlignmentSegment0 IfcAlignmentVerticalSegment IfcAlignmentVerticalSegment 1. StartTag [0:1] 2. EndTag [0:1] 3. StartDistAlong [1:1] 4. HorizontalLength [1:1] 5. StartHeight [1:1] 6. StartGradient [1:1] 7. EndGradient [1:1] 8. RadiusOfCurvature [0:1] 9. PredefinedType [1:1] IfcAlignmentSegment_1:DesignParameters1->IfcAlignmentVerticalSegment:IfcAlignmentVerticalSegment0 IfcAlignmentSegment_2 IfcAlignmentSegment 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1]      HasAssignments [0:?]      Nests [0:1]      IsNestedBy [0:?]      HasContext [0:1]      IsDecomposedBy [0:?]      Decomposes [0:1]      HasAssociations [0:?] 5. ObjectType [0:1]      IsDeclaredBy [0:1]      Declares [0:?]      IsTypedBy [0:1]      IsDefinedBy [0:?] 6. ObjectPlacement [0:1] 7. Representation [0:1]      ReferencedBy [0:?]      PositionedRelativeTo [0:?]      ReferencedInStructures [0:?] 8. DesignParameters [1:1] IfcRelNests_3:RelatedObjects1->IfcAlignmentSegment_2:IfcAlignmentSegment0 IfcAlignmentCantSegment IfcAlignmentCantSegment 1. StartTag [0:1] 2. EndTag [0:1] 3. StartDistAlong [1:1] 4. HorizontalLength [1:1] 5. StartCantLeft [1:1] 6. EndCantLeft [0:1] 7. StartCantRight [1:1] 8. EndCantRight [0:1] 9. PredefinedType [1:1] IfcAlignmentSegment_2:DesignParameters1->IfcAlignmentCantSegment:IfcAlignmentCantSegment0
Figure 4.1.4.4.1.1.A

General Usage

ApplicableEntity
IfcAlignment
Table 4.1.4.4.1.1.B

Edit on Github


Is this page difficult to understand? Let us know!