IfcSectionedSolidHorizontal

Natural language names
Sectioned Solid Horizontal
Change log
ItemSPFXMLChangeDescription
IFC4x1 Final 4.1.0.0
    IfcSectionedSolidHorizontalADDED
IFC4x1 Final 4.1.0.0
    IfcSectionedSolidHorizontalADDED
Semantic definitions at the entity
Entity definition

An IfcSectionedSolidHorizontal is a solid model constructed by sweeping potentially varying cross sections along a curve horizontally.

The solid is generated by sweeping the CrossSections between CrossSectionPositions with linear interpolation of profile points, where the profile normal agrees with the tangent of the Directrix, the profile X axis is oriented perpendicularly to the left of the Directrix (same direction as LateralOffset at IfcDistanceExpression) as facing forward along the directrix, and the profile Y axis is oriented upwards according to FixedAxisVertical.

For sections having cross-section rotated according to a single super-elevation, IfcDerivedProfileDef may be used to indicate such rotation with each ParentProfile referring to the same underlying profile. For sections having cross-section transformed according to multiple super-elevations with points varying independently, each profile may be of a different instance but of same type (e.g. IfcArbitraryClosedProfileDef), and may optionally have cross section points associated to string lines (“guide curves”) using IfcIndexedPolyCurve with IfcCartesianPointList2DLabelled.

Figure 344 illustrates four girders of a bridge having a constant parameterized profile, two guardrails having a constant arbitrary profile (one of them mirrored), and a bridge deck having a variable arbitrary profile.

"spatial structure"

Figure 344 — Sectioned solid horizontal

Informal Propositions:

  1. No two consecutive sections shall intersect.
  2. If the type of sections is not IfcParameterizedProfileDef (i.e. an arbitrary profile), then the number of points and edges should be the same for two consecutive profiles
  3. If the directrix is not tangent continuous, the resulting solid is created by a miter at half angle between the two segments.
  4. Very sharp edges may result in nearly impossible miter; implementer agreements may define acceptable limits for tangent discontinuity or require the directrix to be tangent continuous.
  5. The directrix shall not intersect
Attribute definitions
#AttributeTypeCardinalityDescription G
3CrossSectionPositionsIfcDistanceExpressionL[2:?] List of distance expressions in sequentially increasing order paired with CrossSections, indicating the position of the corresponding section along the Directrix. X
4FixedAxisVerticalIfcBoolean Indicates whether Sections are oriented with the Y axis of each profile facing upwards in +Z direction (True), or vertically perpendicular to the Directrix varying according to slope (False). X
Formal Propositions
RuleDescription
CorrespondingSectionPositionsThe set of cross sections and the set of cross section positions shall be of the same size.
NoLongitudinalOffsetsDistance expressions must not use longitudinal offsets.
Inherited definitions from supertypes
Entity inheritance IfcSectionedSolid IfcSolidModel 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
IfcSolidModel
Dim
:=3
IfcDimensionCountThe space dimensionality of this class, it is always 3. X
IfcSectionedSolid
1DirectrixIfcCurve The curve used to define the sweeping operation. X
2CrossSectionsIfcProfileDefL[2:?] List of cross sections in sequential order along the Directrix. X
IfcSectionedSolidHorizontal
3CrossSectionPositionsIfcDistanceExpressionL[2:?] List of distance expressions in sequentially increasing order paired with CrossSections, indicating the position of the corresponding section along the Directrix. X
4FixedAxisVerticalIfcBoolean Indicates whether Sections are oriented with the Y axis of each profile facing upwards in +Z direction (True), or vertically perpendicular to the Directrix varying according to slope (False). X
Formal representations
XML Specification
 <xs:element name="IfcSectionedSolidHorizontal" type="ifc:IfcSectionedSolidHorizontal" substitutionGroup="ifc:IfcSectionedSolid" nillable="true"/>
 <xs:complexType name="IfcSectionedSolidHorizontal">
  <xs:complexContent>
   <xs:extension base="ifc:IfcSectionedSolid">
    <xs:sequence>
     <xs:element name="CrossSectionPositions">
      <xs:complexType>
       <xs:sequence>
        <xs:element ref="ifc:IfcDistanceExpression" minOccurs="2" maxOccurs="unbounded"/>
       </xs:sequence>
       <xs:attribute ref="ifc:itemType" fixed="ifc:IfcDistanceExpression"/>
       <xs:attribute ref="ifc:cType" fixed="list"/>
       <xs:attribute ref="ifc:arraySize" use="optional"/>
      </xs:complexType>
     </xs:element>
    </xs:sequence>
    <xs:attribute name="FixedAxisVertical" type="ifc:IfcBoolean" use="optional"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
EXPRESS Specification
ENTITY IfcSectionedSolidHorizontal
 SUBTYPE OF (IfcSectionedSolid);
  CrossSectionPositions : LIST [2:?] OF IfcDistanceExpression;
  FixedAxisVertical : IfcBoolean;
 WHERE
  CorrespondingSectionPositions : SIZEOF(CrossSections) = SIZEOF(CrossSectionPositions);
  NoLongitudinalOffsets : SIZEOF(QUERY(temp <* CrossSectionPositions | EXISTS(temp.OffsetLongitudinal))) = 0;
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

Link to this page  Link to this page