ifcsurfacecurveswepareasolid是沿基准面上的准线扫描一个区域的结果。扫描区域由IfcProfileDef的子类型提供。轮廓由隐式笛卡尔变换运算符放置在扫掠的起点处,其中轮廓法线与该点处的准线切线一致,轮廓的x轴与曲面法线一致。在准线的任意一点上,扫掠轮廓原点位于准线上,轮廓的法线指向准线的切线,此时轮廓的x轴与曲面法线相同。
注:轮廓区域的法线必须与任意给定点的准线切线相同。如果准线在起点处有一个直线段,则该线段必须垂直于起点处的轮廓。
准线和参考面位于对象坐标系内。扫掠操作开始于StartParam,参数值根据曲线参数化提供。如果没有提供StartParam,则start默认为准线的开始。扫掠操作结束在EndParam处,参数值根据曲线参数化提供。如果没有提供EndParam,则end默认为准线的末端。实体的几何形状不依赖于曲线参数化;体积取决于扫掠面积和准线长度。
注意StartParam和EndParam在默认情况下不是标准化的,它们取决于曲线的参数化。但是,在IfcCompositeCurve中使用ifcreParametersEdCompositeCurveSegment作为准线,可以显式地重新参数化基础扫描曲线。当闭合曲线,如IfcCircle或IfcEllipse作为准线时,StartParam和EndParam不应超过参数范围,它们不应大于360°。
示例:参考曲面是位于三维空间并位于对象坐标系中的任何曲面(平面、圆柱、复合)。在大多数情况下,它是一个平面或挤压表面。准线位于曲面上,对于平面,可以将其定义为多段线或复合曲线;对于圆柱形或其他非平面参考面,通常可以将其定义为该基准面上的p曲线。
在准线的任何一点上,都可以构造一个平面。隐式平面位置坐标系的原点在准线处。位置坐标系的轴3(z轴,或法线)与该点的准线切线相同,位置坐标系的轴1(x轴,或u)与该点参考曲面的法线相同。构建轴2(y轴,或v)。
如果省略继承的位置属性,则不会重新定位扫描实体的结果实体。否则,将使用“位置”属性建立的坐标系相对于对象坐标系重新定位实体。
——曲面曲线-面积-实体参数
示例图举例说明了使用圆柱形参考面和p曲线扫描矩形的示例。不提供位置,因此不会重新定位生成的扫描实体。上图显示了预期结果。
注意准线的起点位于对象坐标系的原点,如图所示,只是巧合。准线的开始和扫描操作的开始可能在对象坐标系内的任何点,并且只取决于准线的位置。
——表面曲线-湿区-固体结果
注:定义根据ISO/CD 10303-42:1992
曲面曲线扫掠区域实体是一种扫掠区域实体,它是沿位于参考曲面上的准线扫掠面的结果。与曲面的法线方向有关。
转弯区域要求是平面z=0中的曲线边界曲面,该曲面沿准线扫掠,使用于定义转弯区域的局部坐标系的原点位于准线上,局部x轴位于当前点参考曲面的法线方向。生成的实体具有这样的特性:曲面的横截面由法线平面到准线的任意点都是sweprea的副本。
旋转区域沿准线扫掠时的方向由具有以下属性的笛卡尔变换运算符3D精确定义:
①局部原点作为点(0,0,0),
②轴1为在参数为u的准线点处基准面的法线N。
③轴3为参数为u的准线点处切线向量t的方向。
④其余属性默认为定义对应的变换矩阵T(u),它随准线参数u而变化。
注:实体改编自ISO 10303-42中定义的曲面、曲线、扫掠面积、实体。
IFC2x2中增加的新实体。
非正式提议:
●转向区域应位于隐式平面z=0。
●准线应位于基准面上。
Formal Propositions
Rule | Description |
---|---|
DirectrixBounded | If the values for StartParam or EndParam are omited, then the Directrix has to be a bounded or closed curve.
IFC4 CHANGE New WHERE rule. |
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
IfcRepresentationItem | |||||
LayerAssignment | IfcPresentationLayerAssignment @AssignedItems |
S[0:1] | Assignment of the representation item to a single or multiple layer(s). The LayerAssignments can 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 |
IfcSurfaceCurveSweptAreaSolid | |||||
3 | Directrix | IfcCurve | [1:1] | The curve used to define the sweeping operation. The solid is generated by sweeping the SELFIfcSweptAreaSolid.SweptArea along the Directrix. | X |
4 | StartParam | IfcParameterValue | [0:1] | The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix. | X |
5 | EndParam | IfcParameterValue | [0:1] | The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix. | X |
6 | ReferenceSurface | IfcSurface | [1:1] | The surface containing the Directrix. | X |
EXPRESS Specification
ENTITY IfcSurfaceCurveSweptAreaSolid
SUBTYPE OF (IfcSweptAreaSolid);
Directrix : IfcCurve;
StartParam : OPTIONAL IfcParameterValue;
EndParam : OPTIONAL IfcParameterValue;
ReferenceSurface : IfcSurface;
WHERE
DirectrixBounded : (EXISTS(StartParam) AND EXISTS(EndParam)) OR (SIZEOF(['IFCGEOMETRYRESOURCE.IFCCONIC', 'IFCGEOMETRYRESOURCE.IFCBOUNDEDCURVE'] * TYPEOF(Directrix)) = 1);
END_ENTITY;