8.7.3.4 IfcAlignmentVerticalSegment(线形垂直段)
8.7.3.4.1 语义定义(Semantic definition)
沿 IfcAlignmentVertical 的独立段,在沿程距离/z坐标空间中定义。
垂直线形由首尾相连的段定义。垂直线形曲线几何在平面中定义,其中x = 沿水平方向的沿程距离,y = 高度(或高程)。段连接处的过渡不强制要求相切,IfcSegment Transition 枚举明确指定了过渡类型。
定义了以下垂直线形段类型:
- 直线段 - IfcAlignmentVerticalSegmentTypeEnum .LINE
- 圆弧段 - IfcAlignmentVerticalSegmentTypeEnum .ARC
- 抛物线弧段 - IfcAlignmentVerticalSegmentTypeEnum .PARABOLICARC(可描述对称抛物线,非对称抛物线可通过定义两个对称抛物线段创建)
- 具有线性曲率变化的过渡段 - IfcAlignmentVerticalSegmentTypeEnum .CLOTHOID
对于每个垂直线形段,提供以下非冗余信息:
- 起点(以沿程距离/高度坐标表示)
- 起始坡度(以水平为0的比率度量,上坡为正,下坡为负),通常在1 < n < -1之间(相当于100% < n < -100%的百分比,或45° < n < -45°的角度,但可能出现更高值)
- 长度(作为沿程距离的水平长度,非曲线段长度)
- 圆弧段和抛物线弧段所需的曲线参数
以下信息可计算得出(因此为避免冗余和不一致,不显式交换):
- 终点沿程距离(根据沿程距离和段长度计算)
- 终点高度(根据起点沿程距离、坡度、长度和曲线参数计算)
- 终点方向(根据起点方向、段长度和曲线参数计算)
- 竖向交点(根据起点方向和终点方向计算)
可通过以下检查验证正确交换:
- 连续性 – 前一段计算得出的终点沿程距离是否与本段提供的起点沿程距离匹配
- 切向连续性 – 前一段计算得出的终点坡度是否与本段提供的起点坡度匹配

8.7.3.4.2 实体继承(Entity inheritance)
8.7.3.4.3 特性(Attributes)
| # | 特性(Attributes) | 类型 | 描述 |
|---|---|---|---|
| IfcAlignmentParameterSegment (2) | |||
| 1 | StartTag | OPTIONAL IfcLabel |
用于注释线形段起点的标签。 |
| 2 | EndTag | OPTIONAL IfcLabel |
用于注释线形段终点的标签。 |
| 点击显示 2 个隐藏的继承特性 点击隐藏 2 个继承特性 | |||
| IfcAlignmentVerticalSegment (7) | |||
| 3 | StartDistAlong | IfcLengthMeasure |
沿对应 IfcAlignmentHorizontal 测量的水平线形沿程距离。 |
| 4 | HorizontalLength | IfcNonNegativeLengthMeasure |
作为段沿水平线形的沿程距离测量的长度。 |
| 5 | StartHeight | IfcLengthMeasure |
起点相对于 IfcAlignment 坐标系在 Z 方向的高程。 |
| 6 | StartGradient | IfcRatioMeasure |
段的起始坡度。 |
| 7 | EndGradient | IfcRatioMeasure |
段的终点坡度。对于 PredefinedType='.CONSTANTGRADIENT.' 的情况,该值与 StartGradient 相同。 |
| 8 | RadiusOfCurvature | OPTIONAL IfcLengthMeasure |
抛物线或圆弧的半径。正值表示逆时针方向,负值表示顺时针方向。
|
| 9 | PredefinedType | IfcAlignmentVerticalSegmentTypeEnum |
垂直线形段的预定义类型。 |
8.7.3.4.4 形式化表示(Formal representation)
ENTITY IfcAlignmentVerticalSegment
SUBTYPE OF (IfcAlignmentParameterSegment);
StartDistAlong : IfcLengthMeasure;
HorizontalLength : IfcNonNegativeLengthMeasure;
StartHeight : IfcLengthMeasure;
StartGradient : IfcRatioMeasure;
EndGradient : IfcRatioMeasure;
RadiusOfCurvature : OPTIONAL IfcLengthMeasure;
PredefinedType : IfcAlignmentVerticalSegmentTypeEnum;
END_ENTITY;