A revolved area solid (IfcRevolvedAreaSolid) is a solid created by revolving a planar bounded surface about an axis. Both, the axis and planar bounded surface shall be in the same plane and the axis shall not intersect the interior of the swept area. If the swept area has inner boundaries, i.e. holes defined, then those holes shall be swept into holes of the solid. The direction of revolution is clockwise when viewed along the axis in the positive direction.
NOTE: The IfcRevolvedAreaSolid now directly defines the revolution of a cross section (also referred to as profile). It thereby combines the functionality of the previous IfcAttDrivenRevolvedSegment entity. In contrary to the previous IfcAttDrivenRevolvedSegment, the additional start angle attribute has been omitted. The axis is required to lie in the xy plane of the position coordinate system.
NOTE: Corresponding STEP entity: revolved_area_solid. Please refer to ISO/IS 10303-42:1994, p. 184 for the final definition of the formal standard. The data type of the inherited SweptArea attribute is different, i.e. of type IfcProfileDef. The position attribute has been added to position the cross section used for the revolution.
HISTORY: New entity in IFC Release 1.5, capabilities of this entity have been enhanced in IFC Release 2x.
Informal propositions:
Illustration:
# | Attribute | Type | Cardinality | Description | A |
---|---|---|---|---|---|
3 | Axis | IfcAxis1Placement | [1:1] | Axis about which revolution will take place. | X |
4 | Angle | IfcPlaneAngleMeasure | [1:1] | Angle through which the sweep will be made. This angle is measured from the plane of the sweep. | X |
AxisLine :=IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcCurve() || IfcLine(Axis.Location, IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(Axis.Z,1.0)) | IfcLine | [1:1] | The line of the axis of revolution. | X |
# | Attribute | Type | Cardinality | Description | A |
---|---|---|---|---|---|
IfcRepresentationItem | |||||
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 | [1:1] | Position coordinate system for the swept area. | X |
IfcRevolvedAreaSolid | |||||
3 | Axis | IfcAxis1Placement | [1:1] | Axis about which revolution will take place. | X |
4 | Angle | IfcPlaneAngleMeasure | [1:1] | Angle through which the sweep will be made. This angle is measured from the plane of the sweep. | X |
AxisLine :=IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcCurve() || IfcLine(Axis.Location, IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(Axis.Z,1.0)) | IfcLine | [1:1] | The line of the axis of revolution. | X |
<xs:element name="IfcRevolvedAreaSolid" type="ifc:IfcRevolvedAreaSolid" substitutionGroup="ifc:IfcSweptAreaSolid" nillable="true"/>
<xs:complexType name="IfcRevolvedAreaSolid">
<xs:complexContent>
<xs:extension base="ifc:IfcSweptAreaSolid">
<xs:sequence>
<xs:element name="Axis" type="ifc:IfcAxis1Placement" nillable="true"/>
</xs:sequence>
<xs:attribute name="Angle" type="ifc:IfcPlaneAngleMeasure" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
ENTITY IfcRevolvedAreaSolid
SUBTYPE OF (IfcSweptAreaSolid);
Axis : IfcAxis1Placement;
Angle : IfcPlaneAngleMeasure;
DERIVE
AxisLine : IfcLine := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcCurve() || IfcLine(Axis.Location,
IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(Axis.Z,1.0));
WHERE
WR31 : Axis.Location.Coordinates[3] = 0.0;
WR32 : Axis.Z.DirectionRatios[3] = 0.0;
END_ENTITY;