IfcSectionedSpine是由多个平面横截面和脊椎曲线组成的三维对象的形状表示。形状定义在横截面的第一个元素和最后一个元素之间。截面脊椎可用于表示表面或实体,但未定义横截面之间形状的插值。
所有横截面都必须通过闭合轮廓来定义面积,以便表示实体。所有横截面必须通过开放或闭合轮廓定义曲线,以允许表示曲面。横截面由IfcProfileDef的子类型定义,其中连续的轮廓可以通过转换起始轮廓或上一个连续轮廓来导出。
脊柱曲线应为IfcCompositeCurve类型,其由IfcCompositeCurveSegment表示的每一段应与正好两个连续横截面之间的部分相对应。
下图显示了一个IfcSectionedSpine的示例。
SpineCurve由一条包含两段的ifcComposite曲线给出。段[1]具有IfcPolyline类型的父曲线和一个Transition=CONTSAMEGRADIENT。段[2]有一个ifctrimedCurve类型的父曲线和一个Transition=不连续的。
每个横截面位置位于线段的起点或终点。
每个横截面由横截面位置插入。前两个横截面的类型为IfcRectangleProfileDef,第三个横截面的类型为IfcDerivedProfileDef。
分段柱几何体
下图显示了IfcSectionedSpine的最终结果。主体(透明显示)未完全由交换定义定义定义。
柱切片结果
注:定义根据ISO/CD 10303-42:1992
截面脊柱是由脊柱曲线和若干平面横截面组成的三维物体的形状表示。形状定义在横截面的第一个元素和该集的最后一个元素之间。
注:截面脊椎可用于表示表面或实体,但未定义横截面之间形状的插值。对于实体的表示,所有横截面都是闭合曲线。
注:实体改编自ISO 10303-42中定义的截面_脊椎。
IFC2x中增加的新实体。
非正式提议:
①各横截面按截面位置放置后,不得相交
②横截面按截面位置放置后,不得位于同一平面上
③每段复合曲线的起点或终点应位于复合截面的起点处。
Formal Propositions
Rule | Description |
---|---|
CorrespondingSectionPositions | The set of cross sections and the set of cross section positions shall be of the same size. |
ConsistentProfileTypes | The profile type (either AREA or CURVE) shall be consistent within the list of the profiles defining the cross sections. |
SpineCurveDim | The curve entity which is the underlying spine curve shall have the dimensionality of 3. |
# | 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 | |||||
IfcSectionedSpine | |||||
1 | SpineCurve | IfcCompositeCurve | [1:1] | A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. | X |
2 | CrossSections | IfcProfileDef | L[2:?] | A list of at least two cross sections, each defined within the xy plane of the position coordinate system of the cross section. The position coordinate system is given by the corresponding list CrossSectionPositions. | X |
3 | CrossSectionPositions | IfcAxis2Placement3D | L[2:?] | Position coordinate systems for the cross sections that form the sectioned spine. The profiles defining the cross sections are positioned within the xy plane of the corresponding position coordinate system. | X |
Dim :=3 |
IfcDimensionCount | [1:1] | The dimensionality of the spine curve is always 3. | X |
EXPRESS Specification
ENTITY IfcSectionedSpine SUBTYPE OF (IfcGeometricRepresentationItem); SpineCurve : IfcCompositeCurve; CrossSections : LIST [2:?] OF IfcProfileDef; CrossSectionPositions : LIST [2:?] OF IfcAxis2Placement3D; DERIVE Dim : IfcDimensionCount := 3; WHERE CorrespondingSectionPositions : SIZEOF(CrossSections) = SIZEOF(CrossSectionPositions); ConsistentProfileTypes : SIZEOF(QUERY(temp <* CrossSections | CrossSections[1].ProfileType <> temp.ProfileType)) = 0; SpineCurveDim : SpineCurve.Dim = 3; END_ENTITY;