Class Ifc4x1::IfcRevolvedAreaSolid

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class Ifc4x1::IfcRevolvedAreaSolid : public Ifc4x1::IfcSweptAreaSolid

An IfcRevolvedAreaSolid is a solid created by revolving a cross section provided by a profile definition about an axis. The axis and the cross section shall be in the same plane. NOTE Both the axis and the cross section are required to lie in the xy plane of the object position coordinate system. The following definitions from ISO 10303-42 apply:

A revolved area solid is a solid formed by revolving a planar bounded surface about an axis. The axis shall be in the plane of the surface and the axis shall not intersect the interior of the bounded surface. The bounded surface may have holes which will sweep into holes in the solid. The direction of revolution is clockwise when viewed along the axis in the positive direction. More precisely if A is the axis location and d is the axis direction and C is an arc on the surface of revolution generated by an arbitrary point p on the boundary of the swept area, then C leaves p in direction d x (p - A) as the area is revolved.

Figure 262 illustrates geometric parameters of the revolved solid. The revolved area solid defines the revolution of a 2D area (given by a profile definition) by an axis and angle. The result is a solid. The swept area is given by a profile definition. This profile is defined:

as a 2D bounded curve within the xy plane of the position coordinate system, as a 2D bounded curve with holes within the xy plane of the position coordinate system, or as a 2D primitive, defined within a 2D position coordinate system, that is placed relative to the xy plane of the position coordinate system

The AxisLine can have any orientation within the XY plane, it does not have to be parallel to the y-axis as shown in the illustration.

Figure 262 — Revolved area solid geometry

NOTE Corresponding ISO 10303-42 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:

The AxisLine shall lie in the plane of the SweptArea (as defined at supertype IfcSweptAreaSolid). The AxisLine shall not intersect the interior of the SweptArea (as defined at supertype IfcSweptAreaSolid). The Angle shall be between 0° and 360°, or 0 and 2π (depending on the unit type for IfcPlaneAngleMeasure).

Texture Use Definition For side faces, textures are aligned facing upright along the sides with origin at the first point of an arbitrary profile, and following the outer bound of the profile counter-clockwise (as seen from above). For parameterized profiles, the origin is defined at the +Y extent for rounded profiles (having no sharp edge) and the first sharp edge counter-clockwise from the +Y extent for all other profiles. Textures are stretched or repeated on each side along the outer boundary of the profile according to RepeatS. Textures are stretched or repeated on each side along the outermost (longest) revolution path according to RepeatT, where coordinates are compressed towards the axis of revolution. For top and bottom caps, textures are aligned facing front-to-back, with the origin at the minimum X and Y extent. Textures are stretched or repeated on the top and bottom to the extent of each face according to RepeatS and RepeatT. For profiles with voids, textures are aligned facing upright along the inner side with origin at the first point of an arbitrary profile, and following the inner bound of the profile clockwise (as seen from above). For parameterized profiles, the origin of inner sides is defined at the +Y extent for rounded profiles (having no sharp edge such as hollow ellipses or rounded rectangles) and the first sharp edge clockwise from the +Y extent for all other profiles.

Figure 263 illustrates default texture mapping with a repeated texture (RepeatS=True and RepeatT=True). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up. For an IfcRevolvedAreaSolid having a profile of IfcTShapeProfileDef and revolved at 22.5 degrees, the side texture coordinate origin is the first corner counter-clockwise from the +Y axis, which equals (-0.5*IfcTShapeProfileDef.OverallWidth, +0.5*IfcTShapeProfileDef.OverallDepth), while the top (end cap) texture coordinates start at (-0.5*IfcTShapeProfileDef.OverallWidth, -0.5*IfcTShapeProfileDef.OverallDepth).

Figure 263 — Revolved area solid textures

Subclassed by Ifc4x1::IfcRevolvedAreaSolidTapered

Public Types

typedef IfcTemplatedEntityList<IfcRevolvedAreaSolid> list

Public Functions

::Ifc4x1::IfcAxis1Placement *Axis() const

Axis about which revolution will take place.

void setAxis(::Ifc4x1::IfcAxis1Placement *v)
double Angle() const

The angle through which the sweep will be made. This angle is measured from the plane of the swept area provided by the XY plane of the position coordinate system.

void setAngle(double v)
const IfcParse::entity &declaration() const
IfcRevolvedAreaSolid(IfcEntityInstanceData *e)
IfcRevolvedAreaSolid(::Ifc4x1::IfcProfileDef *v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D *v2_Position, ::Ifc4x1::IfcAxis1Placement *v3_Axis, double v4_Angle)

Public Static Functions

const IfcParse::entity &Class()