IfcSectionedSpine

Natural language names
Geometrische Achse mit Querschnitten
Sectioned Spine
Semantic definitions at the entity
Entity definition

An IfcSectionedSpine is a representation of the shape of a three dimensional object composed by a number of planar cross sections, and a spine curve. The shape is defined between the first element of cross sections and the last element of the cross sections. A sectioned spine may be used to represent a surface or a solid but the interpolation of the shape between the cross sections is not defined.

All cross sections have to define areas by a closed profile to allow for the representation of a solid. All cross sections have to define curves by an open or closed profile to allow for the representation of a surface. The cross sections are defined by subtypes of IfcProfileDef, where the consecutive profiles may be derived by a transformation of the start profile or the previous consecutive profile.

The spine curve shall be of type IfcCompositeCurve, each of its segments represented by IfcCompositeCurveSegment shall correspond to the part between exactly two consecutive cross-sections.

Figure 498 illustrates an example of an IfcSectionedSpine.

"spine 1"

Figure 498 — Sectioned spine geometry

Figure 499 illustrates the final result of the IfcSectionedSpine. The body (shown transparently) is not fully defined by the exchange definition.

"render"

Figure 499 — Sectioned spine result

NOTE  Definition according to ISO/CD 10303-42:1992
A sectioned spine is a representation of the shape of a three dimensional object composed of a spine curve and a number of planar cross sections. The shape is defined between the first element of cross sections and the last element of this set.

NOTE  A sectioned spine may be used to represent a surface or a solid but the interpolation of the shape between the cross-sections is not defined. For the representation of a solid all cross-sections are closed curves.

NOTE  Entity adapted from sectioned_spine defined in ISO 10303-42.

HISTORY  New entity in IFC2x.

Informal Propositions:

  1. none of the cross sections, after being placed by the cross section positions, shall intersect
  2. none of the cross sections, after being placed by the cross section positions, shall lie in the same plane
  3. the local origin of each cross section position shall lie at the beginning or end of a composite curve segment.
Attribute definitions
#AttributeTypeCardinalityDescription G
1SpineCurveIfcCompositeCurve A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. X
2CrossSectionsIfcProfileDefL[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
3CrossSectionPositionsIfcAxis2Placement3DL[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
IfcDimensionCountThe dimensionality of the spine curve is always 3. X
Formal Propositions
RuleDescription
CorrespondingSectionPositionsThe set of cross sections and the set of cross section positions shall be of the same size.
ConsistentProfileTypesThe profile type (either AREA or CURVE) shall be consistent within the list of the profiles defining the cross sections.
SpineCurveDimThe curve entity which is the underlying spine curve shall have the dimensionality of 3.
Inherited definitions from supertypes
Entity inheritance IfcGeometricRepresentationItem IfcRepresentationItem
Attribute inheritance
#AttributeTypeCardinalityDescriptionG
IfcRepresentationItem
LayerAssignmentIfcPresentationLayerAssignment
@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.
IFC2x3 CHANGE  The inverse attribute LayerAssignments has been added.
IFC4 CHANGE  The inverse attribute LayerAssignment has been restricted to max 1. Upward compatibility for file based exchange is guaranteed.
X
StyledByItemIfcStyledItem
@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.
IFC2x3 CHANGE  The inverse attribute StyledByItem has been added.
X
IfcGeometricRepresentationItem
IfcSectionedSpine
1SpineCurveIfcCompositeCurve A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. X
2CrossSectionsIfcProfileDefL[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
3CrossSectionPositionsIfcAxis2Placement3DL[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
IfcDimensionCountThe dimensionality of the spine curve is always 3. X
Formal representations
XML Specification
 <xs:element name="IfcSectionedSpine" type="ifc:IfcSectionedSpine" substitutionGroup="ifc:IfcGeometricRepresentationItem" nillable="true"/>
 <xs:complexType name="IfcSectionedSpine">
  <xs:complexContent>
   <xs:extension base="ifc:IfcGeometricRepresentationItem">
    <xs:sequence>
     <xs:element name="SpineCurve" type="ifc:IfcCompositeCurve" nillable="true"/>
     <xs:element name="CrossSections">
      <xs:complexType>
       <xs:sequence>
        <xs:element ref="ifc:IfcProfileDef" minOccurs="2" maxOccurs="unbounded"/>
       </xs:sequence>
       <xs:attribute ref="ifc:itemType" fixed="ifc:IfcProfileDef"/>
       <xs:attribute ref="ifc:cType" fixed="list"/>
       <xs:attribute ref="ifc:arraySize" use="optional"/>
      </xs:complexType>
     </xs:element>
     <xs:element name="CrossSectionPositions">
      <xs:complexType>
       <xs:sequence>
        <xs:element ref="ifc:IfcAxis2Placement3D" minOccurs="2" maxOccurs="unbounded"/>
       </xs:sequence>
       <xs:attribute ref="ifc:itemType" fixed="ifc:IfcAxis2Placement3D"/>
       <xs:attribute ref="ifc:cType" fixed="list"/>
       <xs:attribute ref="ifc:arraySize" use="optional"/>
      </xs:complexType>
     </xs:element>
    </xs:sequence>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
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;

Link to EXPRESS-G diagram EXPRESS-G diagram

Link to this page  Link to this page