8.15.3.12 IfcIShapeProfileDef(I形轮廓定义)
8.15.3.12.1 语义定义(Semantic definition)
IfcIShapeProfileDef 定义了一个截面轮廓,提供'I'形或'H'形截面的定义参数。I形轮廓具有总高度、宽度以及腹板和翼缘厚度的值。此外,还可以提供圆角半径、翼缘边缘半径和翼缘坡度。此轮廓定义表示一个关于其主轴和次轴对称的I形截面;顶部和底部翼缘相等且以腹板为中心。
图1说明了I形轮廓定义的参数。

位置
参数化轮廓定义了其自身的位置坐标系。基础坐标系由使用该轮廓定义的扫描面积实体定义。它是以下对象的xy平面:
- IfcSweptAreaSolid.Position
通过使用位置偏移,参数化轮廓可以居中定位(使用x,y偏移=0.),或相对于轮廓的任何位置。显式坐标偏移用于定义基点(例如左上边界)。
参数
参数化轮廓由一组参数属性定义,参见下面的属性定义。

位置
通过使用Position属性将轮廓插入到扫描面积实体的基础坐标系中。在此示例中(左下角基点),IfcAxis2Placement2D的属性值为:
Location = IfcCartesianPoint(<1/2 OverallWidth>,<1/2 OverallDepth>)
RefDirection = NIL(默认为1.,0.)
参数 如果给出了FilletRadius,则它同样应用于由腹板和翼缘创建的所有四个角。
8.15.3.12.2 实体继承(Entity inheritance)
8.15.3.12.3 特性(Attributes)
| # | 特性(Attributes) | 类型 | 描述 |
|---|---|---|---|
| IfcProfileDef (4) | |||
| IfcParameterizedProfileDef (1) | |||
| 点击显示 5 个隐藏的继承特性 点击隐藏 5 个继承特性 | |||
| IfcIShapeProfileDef (6) | |||
8.15.3.12.4 形式化命题(Formal propositions)
| 名称 | 描述 |
|---|---|
| ValidFilletRadius |
无可用描述 |
|
|
| ValidFlangeThickness |
无可用描述 |
|
|
| ValidWebThickness |
无可用描述 |
|
|
8.15.3.12.5 属性集
-
Pset_ProfileMechanical
- MassPerLength
- CrossSectionArea
- Perimeter
- MinimumPlateThickness
- MaximumPlateThickness
- CentreOfGravityInX
- CentreOfGravityInY
- ShearCentreZ
- ShearCentreY
- MomentOfInertiaY
- MomentOfInertiaZ
- MomentOfInertiaYZ
- TorsionalConstantX
- WarpingConstant
- ShearDeformationAreaZ
- ShearDeformationAreaY
- MaximumSectionModulusY
- MinimumSectionModulusY
- MaximumSectionModulusZ
- MinimumSectionModulusZ
- TorsionalSectionModulus
- ShearAreaZ
- ShearAreaY
- PlasticShapeFactorY
- PlasticShapeFactorZ
8.15.3.12.6 概念用法(Concept usage)
8.15.3.12.7 形式化表示(Formal representation)
ENTITY IfcIShapeProfileDef
SUBTYPE OF (IfcParameterizedProfileDef);
OverallWidth : IfcPositiveLengthMeasure;
OverallDepth : IfcPositiveLengthMeasure;
WebThickness : IfcPositiveLengthMeasure;
FlangeThickness : IfcPositiveLengthMeasure;
FilletRadius : OPTIONAL IfcNonNegativeLengthMeasure;
FlangeEdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure;
FlangeSlope : OPTIONAL IfcPlaneAngleMeasure;
WHERE
ValidFilletRadius : NOT(EXISTS(FilletRadius)) OR
((FilletRadius <= (OverallWidth - WebThickness)/2.) AND
(FilletRadius <= (OverallDepth - (2. * FlangeThickness))/2.));
ValidFlangeThickness : (2. * FlangeThickness) < OverallDepth;
ValidWebThickness : WebThickness < OverallWidth;
END_ENTITY;