8.8.3.30 IfcRevolvedAreaSolid(旋转面积实体)
8.8.3.30.1 语义定义(Semantic definition)
IfcRevolvedAreaSolid 是通过绕轴旋转由轮廓定义提供的横截面而创建的实体。
生成的实体通过 IfcSweptAreaSolid.Position 相对于对象坐标系进行定位。如果提供,它允许重新定位旋转实体。如果未提供,则默认为当前对象坐标系。在进行任何重新定位之前,轴和横截面应位于同一平面内。
注意 轴和横截面都需要位于对象位置坐标系的 xy 平面内。

- 轮廓定义如下:
- 作为一个二维图元,此处为 IfcRectangleProfileDef,它相对于对象坐标系的 xy 平面放置
- 由于未提供二维轮廓位置坐标系,此处 IfcParameterizedProfileDef.Position = NIL,轮廓在未进行变换的情况下定位到对象坐标系的 xy 平面中(默认情况下,以 0.,0. 为中心且无旋转)
- 生成的扫描实体未被重新定位,因为未提供位置坐标系,此处 IfcSweptAreaSolid.Position = NIL。
AxisLine 可以在 XY 平面内具有任意方向,它不必如图示那样平行于 y 轴。

注意 根据 ISO/CD 10303-42:1992 的定义 旋转面积实体是通过绕轴旋转平面有界表面而形成的实体。轴应位于表面的平面内,且轴不应与有界表面的内部相交。有界表面可以具有孔洞,这些孔洞将扫描成实体中的孔洞。当沿轴的正方向观察时,旋转方向为顺时针。更准确地说,如果 A 是轴的位置,d 是轴的方向,C 是由扫描区域边界上的任意点 p 在旋转表面上生成的弧,则当区域旋转时,C 沿方向 d x (p - A) 离开 p。
注意 实体改编自 ISO 10303-42 中定义的 revolved_area_solid。
非正式命题
- AxisLine 应位于 SweptArea 的平面内(如超类型 IfcSweptAreaSolid 中所定义)。
- AxisLine 不应与 SweptArea 的内部相交(如超类型 IfcSweptAreaSolid 中所定义)。
- Angle 应在 0° 到 360° 之间,或在 0 到 2π 之间(取决于 IfcPlaneAngleMeasure 的单位类型)。
纹理使用定义
对于侧面,纹理沿着侧面朝上对齐,原点位于任意轮廓的第一个点,并逆时针跟随轮廓的外边界(从上方观察)。对于参数化轮廓,原点定义在 +Y 范围处用于圆形轮廓(没有锐利边缘),而对于所有其他轮廓,则定义在从 +Y 范围开始的第一个逆时针锐利边缘处。纹理根据 RepeatS 沿着轮廓的外边界在每个侧面上拉伸或重复。纹理根据 RepeatT 沿着最外层(最长)的旋转路径在每个侧面上拉伸或重复,其中坐标朝向旋转轴压缩。
对于顶部和底部端盖,纹理朝前对齐,原点位于最小 X 和 Y 范围处。纹理根据 RepeatS 和 RepeatT 在顶部和底部拉伸或重复到每个面的范围。
对于带有孔洞的轮廓,纹理沿着内侧朝上对齐,原点位于任意轮廓的第一个点,并顺时针跟随轮廓的内边界(从上方观察)。对于参数化轮廓,内侧的原点定义在 +Y 范围处用于圆形轮廓(没有锐利边缘,例如空心椭圆或圆角矩形),而对于所有其他轮廓,则定义在从 +Y 范围开始的第一个顺时针锐利边缘处。

图 8.8.3.30.C 展示了使用重复纹理(RepeatS=True 且 RepeatT=True)的默认纹理映射。左侧的图像显示了纹理,其中 S 轴指向右侧,T 轴指向上方。右侧的图像显示了应用于几何图形的纹理,其中 X 轴指向后方右侧,Y 轴指向后方左侧,Z 轴指向上方。对于具有 IfcTShapeProfileDef 轮廓并旋转了 22.5 度的 IfcRevolvedAreaSolid,侧面纹理坐标原点是自 +Y 轴逆时针方向的第一个角点,等于 (-0.5IfcTShapeProfileDef.OverallWidth, +0.5IfcTShapeProfileDef.OverallDepth),而顶部(端盖)纹理坐标起始于 (-0.5IfcTShapeProfileDef.OverallWidth, -0.5IfcTShapeProfileDef.OverallDepth)。
8.8.3.30.2 实体继承(Entity inheritance)
-
- IfcSolidModel
- IfcAnnotationFillArea
- IfcBooleanResult
- IfcBoundingBox
- IfcCartesianPointList
- IfcCartesianTransformationOperator
- IfcCsgPrimitive3D
- IfcCurve
- IfcDirection
- IfcFaceBasedSurfaceModel
- IfcFillAreaStyleHatching
- IfcFillAreaStyleTiles
- IfcGeometricSet
- IfcHalfSpaceSolid
- IfcLightSource
- IfcPlacement
- IfcPlanarExtent
- IfcPoint
- IfcSectionedSpine
- IfcSegment
- IfcShellBasedSurfaceModel
- IfcSurface
- IfcTessellatedItem
- IfcTextLiteral
- IfcVector
8.8.3.30.3 特性(Attributes)
| # | 特性(Attributes) | 类型 | 描述 |
|---|---|---|---|
| IfcRepresentationItem (2) | |||
| IfcSolidModel (1) | |||
| IfcSweptAreaSolid (2) | |||
| 点击显示 5 个隐藏的继承特性 点击隐藏 5 个继承特性 | |||
| IfcRevolvedAreaSolid (3) | |||
8.8.3.30.4 形式化命题(Formal propositions)
| 名称 | 描述 |
|---|---|
| AxisDirectionInXY |
轴的方向应平行于位置坐标系的 XY 平面。 |
|
|
| AxisStartInXY |
轴的起点应位于位置坐标系的 XY 平面内。 |
|
|
8.8.3.30.5 形式化表示(Formal representation)
ENTITY IfcRevolvedAreaSolid
SUPERTYPE OF (ONEOF
(IfcRevolvedAreaSolidTapered))
SUBTYPE OF (IfcSweptAreaSolid);
Axis : IfcAxis1Placement;
Angle : IfcPlaneAngleMeasure;
DERIVE
AxisLine : IfcLine := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcCurve() || IfcLine(Axis.Location,
IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(Axis.Z,1.0));
WHERE
AxisDirectionInXY : Axis.Z.DirectionRatios[3] = 0.0;
AxisStartInXY : ('IFC4X3_DEV_62887e3f.IFCCARTESIANPOINT' IN TYPEOF(Axis.Location)) AND (Axis.Location\IfcCartesianPoint.Coordinates[3] = 0.0);
END_ENTITY;