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 ):
A zero-length segment shall be added, at the end of the list of segments for IfcAlignmentSegment .DesignParameters .
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 UsageTable 4.1.4.4.1.1.B