IfcRevolvedAreaSolid

ifcRevedAreaSolid是通过围绕轴旋转截面轮廓定义提供的横截面创建的实体。

生成的实体由IfcSweptAreaSolid.位置相对于对象坐标系。如果提供,则允许重新定位旋转实体。如果未提供,则默认为当前对象坐标系。在重新定位之前,轴线和横截面应在同一平面上。

注:轴和横截面都要求位于对象位置坐标系的xy平面上。

 

 

 

如图显示出旋转实体的几何参数。旋转区域实体定义了二维区域(由轮廓定义给出)的轴和角度的旋转。结果是可靠的。扫掠区域由轮廓定义给出。

配置文件定义为:

①作为一个二维基本体,这里的ifcretangleprofiledef,相对于对象坐标系的xy平面放置

②由于没有提供二维外形位置坐标系,这里IfcParameterizedProfileDef.位置=NIL,定位轮廓时不转换为对象坐标系的xy平面(默认情况下,以0.0为中心)。不旋转)

③由于此处未提供位置坐标系,因此不会重新定位生成的扫掠实体IfcSweptAreaSolid.位置=无。

轴线可以在XY平面内有任何方向,它不必如图所示与y轴平行。

 

 

 

如图说明了旋转区域实体的几何参数和附加定位参数。旋转区域实体定义二维区域通过轴和角度的旋转。由参数化轮廓定义提供的二维区域可以相对于对象坐标系进行定位(默认情况下为0.0。不旋转)。可以在实体坐标系内重新定位对象。

要扫掠的轮廓定义为:

①作为一个二维基本体,这里的ifcretangleprofiledef,相对于对象坐标系的xy平面放置

②提供了一个二维外形位置坐标系,用于相对于xy平面定位外形(此处位于矩形的一角)

③生成的扫掠实体将重新定位,在这里它将移动到局部z并沿x轴旋转15'。

 

注:定义根据ISO/CD 10303-42:1992

旋转面实体是通过绕轴旋转平面有界曲面而形成的实体。轴线应在表面平面内,且轴线不得与有界表面的内部相交。有界曲面可能有孔,这些孔将扫入实体中的孔中。当沿轴的正方向观察时,旋转方向为顺时针方向。更精确地说,如果A是轴位置,d是轴方向,C是扫描区域边界上任意点p生成的旋转曲面上的圆弧,则C在该区域旋转时沿方向Dx(p-A)离开p。

注:实体改编自ISO 10303-42中定义的旋转截面实体。

IFC1.5中的增加的新实体

 

非正式提议:

①轴线应位于转向区域的平面内(定义见超类型IfcSweptAreaSolid)。

②轴线不得与转向区域的内部相交(定义见超类型IfcSweptAreaSolid)。

③角度应介于0°和360°之间或0到2π之间(取决于IFC面板角度测量的单位类型)。

 

纹理使用定义

从第一个侧面,顺时针方向与轮廓的侧面对齐。对于参数化外形,对于圆形外形(没有锐边),原点定义在+Y范围,对于所有其他外形,从+Y范围逆时针定义第一个锐边。根据重复,纹理沿着轮廓的外边界在每一侧拉伸或重复。根据repeat,纹理沿着最外层(最长)旋转路径在每一侧拉伸或重复,其中坐标被压缩到旋转轴。

 

对于顶部和底部封口,纹理从前到后对齐,原点位于最小X和Y范围。根据重复和重复,纹理在顶部和底部拉伸或重复到每个面的程度。

 

对于具有空洞的截面轮廓,纹理沿内侧垂直对齐,原点位于任意截面轮廓的第一个点,并沿着轮廓的内部边界顺时针(如上图所示)。对于参数化外形,对于圆形外形(没有锐边,如空心椭圆或圆角矩形),内侧原点定义在+Y范围,对于所有其他外形,从+Y范围顺时针定义第一个锐边。

 

上图说明了具有重复纹理(RepeatS=True和repeat=True)的默认纹理映射。左侧的图像显示了纹理,其中S轴指向右侧,T轴指向上。右侧的图像显示应用于几何体的纹理,其中X轴指向右侧,Y轴指向左侧,Z轴指向上。对于轮廓为IfcTShapeProfileDef且旋转角度为22.5度的IfcrVolvedAreaSolid,侧面纹理坐标原点是从+Y轴开始逆时针方向的第一个角点,等于(-0.5)*IfcTShapeProfileDef.OverallWidth,+0.5*IfcTShapeProfileDef.总深度),

 而顶部(端盖)纹理坐标从(-0.5)*IfcTShapeProfileDef.OverallWidth,-0.5*IfcTShapeProfileDef.总深度).

 

Formal Propositions

RuleDescription
AxisStartInXY The start of the axis shall lie in the XY plane of the position coordinate system.
AxisDirectionInXY The direction of the axis shall be parallel to the XY plane of the position coordinate system.
 

 

 

 

 

 

Attribute inheritance

#AttributeTypeCardinalityDescriptionC
IfcRepresentationItem
  LayerAssignment IfcPresentationLayerAssignment
@AssignedItems
S[0:1] Assignment of the representation item to a single or multiple layer(s). The LayerAssignmentscan override a LayerAssignments of the IfcRepresentation it is used within the list of Items. X
  StyledByItem IfcStyledItem
@Item
S[0:1] Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve. X
IfcGeometricRepresentationItem
IfcSolidModel
  Dim
:=3
IfcDimensionCount [1:1] The space dimensionality of this class, it is always 3. X
IfcSweptAreaSolid
1 SweptArea IfcProfileDef [1:1] The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. X
2 Position IfcAxis2Placement3D [0:1] Position coordinate system for the resulting swept solid of the sweeping operation. The position coordinate system allows for re-positioning of the swept solid. If not provided, the swept solid remains within the position as determined by the cross section or by the directrix used for the sweeping operation. X
IfcRevolvedAreaSolid
3 Axis IfcAxis1Placement [1:1] Axis about which revolution will take place. X
4 Angle IfcPlaneAngleMeasure [1:1] The angle through which the sweep will be made. This angle is measured from the plane of the swept area provided by the XY plane of the position coordinate system. X
  AxisLine
:=IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcCurve() || IfcLine(Axis.Location, IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(Axis.Z,1.0))
IfcLine [1:1] The line of the axis of revolution. X
 

EXPRESS Specification

ENTITY IfcRevolvedAreaSolid
 SUPERTYPE OF(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
  AxisStartInXY : Axis.Location.Coordinates[3] = 0.0;
  AxisDirectionInXY : Axis.Z.DirectionRatios[3] = 0.0;
END_ENTITY;

 

posted @ 2020-09-15 15:16  西北逍遥  阅读(349)  评论(0编辑  收藏  举报