Sectioned Solid |
Item | SPF | XML | Change | Description | IFC4x1 Release Candidate 3 |
---|---|---|---|---|
IfcSectionedSolid | ADDED |
An IfcSectionedSolid is an abstract base type for solids constructed by sweeping potentially variable cross sections along a directrix.
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
1 | Directrix | IfcCurve | The curve used to define the sweeping operation. | X | |
2 | CrossSections | IfcProfileDef | L[2:?] | List of cross sections in sequential order along the Directrix. | X |
Rule | Description |
---|---|
DirectrixIs3D | The curve entity which is the underlying directrix shall have the dimensionality of 3. |
ConsistentProfileTypes | The profile type (either AREA or CURVE) shall be consistent within the list of the profiles defining the cross sections. |
SectionsSameType | The entity type for each section must be the same. |
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
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.
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 | |
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.
IFC2x3 CHANGE The inverse attribute StyledByItem has been added. | X | |
IfcGeometricRepresentationItem | |||||
IfcSolidModel | |||||
Dim :=3 | IfcDimensionCount | The space dimensionality of this class, it is always 3. | X | ||
IfcSectionedSolid | |||||
1 | Directrix | IfcCurve | The curve used to define the sweeping operation. | X | |
2 | CrossSections | IfcProfileDef | L[2:?] | List of cross sections in sequential order along the Directrix. | X |
<xs:element name="IfcSectionedSolid" type="ifc:IfcSectionedSolid" abstract="true" substitutionGroup="ifc:IfcSolidModel" nillable="true"/>
<xs:complexType name="IfcSectionedSolid" abstract="true">
<xs:complexContent>
<xs:extension base="ifc:IfcSolidModel">
<xs:sequence>
<xs:element name="Directrix" type="ifc:IfcCurve" 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:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
ENTITY IfcSectionedSolid
ABSTRACT SUPERTYPE OF(IfcSectionedSolidHorizontal)
SUBTYPE OF (IfcSolidModel);
Directrix : IfcCurve;
CrossSections : LIST [2:?] OF IfcProfileDef;
WHERE
DirectrixIs3D : Directrix.Dim = 3;
ConsistentProfileTypes : SIZEOF(QUERY(temp <* CrossSections | CrossSections[1].ProfileType <> temp.ProfileType)) = 0;
SectionsSameType : SIZEOF(QUERY(temp <* CrossSections | TYPEOF(CrossSections[1]) :<>: TYPEOF(temp))) = 0;
END_ENTITY;