Class Ifc4x2::IfcSurfaceCurveSweptAreaSolid

Nested Relationships

This class is a nested type of Struct Ifc4x2.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x2::IfcSurfaceCurveSweptAreaSolid : public Ifc4x2::IfcSweptAreaSolid

The IfcSurfaceCurveSweptAreaSolid is the result of sweeping an area along a directrix that lies on a reference surface. The swept area is provided by an IfcProfileDef (or subtypes). The profile definition is based on a 2D coordinate system, which is inserted into the XY plane of the 3D Position coordinate system inherited from the supertype IfcSweptAreaSolid. The following definitions from ISO 10303-42 apply:

A surface curve swept area solid is a type of swept area solid which is the result of sweeping a face along a Directrix lying on a ReferenceSurface. The orientation of the SweptArea is related to the direction of the surface normal. The SweptArea is required to be a curve bounded surface lying in the plane z = 0 and this is swept along the Directrix in such a way that the origin of the local coordinate system used to define the SweptArea is on the Directrix and the local x-axis is in the direction of the normal to the ReferenceSurface at the current point. The resulting solid has the property that the cross section of the surface by the normal plane to the Directrix at any point is a copy of the SweptArea. The orientation of the SweptArea as it sweeps along the Directrix is precisely defined by a Cartesian Transformation Operator 3D with attributes:

LocalOrigin as point (0; 0; 0), Axis1 as the normal N to the ReferenceSurface at the point of the Directrix with parameter u. Axis3 as the direction of the tangent vector t at the point of the Directrix with parameter u. The remaining attributes are defaulted to define a corresponding transformation matrix T(u), which varies with the Directrix parameter u.

NOTE The geometric shape of the solid is not dependent upon the curve parameterization; the volume depends upon the area swept and the length of the Directrix.

The attributes of the Cartesian Transformation Operator (as shown above) should apply to the Position coordinate system, in which the profile is inserted. The Directrix and the ReferenceSurface are positioned within the 3D Position coordinate system.

NOTE Corresponding ISO 10303-42 entity: surface_curve_swept_area_solid. Please refer to ISO 10303-42 ed.2:1999, p. 274 for the definition in the international standard.

HISTORY New entity in IFC2x2.

Informal propositions:

The SweptArea shall lie in the plane z = 0. The Directrix shall lie on the ReferenceSurface.

Public Functions

::Ifc4x2::IfcCurve *Directrix() const

The curve used to define the sweeping operation. The solid is generated by sweeping the SELF\IfcSweptAreaSolid.SweptArea along the Directrix.

void setDirectrix(::Ifc4x2::IfcCurve *v)
bool hasStartParam() const

Whether the optional attribute StartParam is defined for this IfcSurfaceCurveSweptAreaSolid.

double StartParam() const

The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix..

IFC2x4 CHANGE The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange.

void setStartParam(double v)
bool hasEndParam() const

Whether the optional attribute EndParam is defined for this IfcSurfaceCurveSweptAreaSolid.

double EndParam() const

The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix..

IFC2x4 CHANGE The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange.

void setEndParam(double v)
::Ifc4x2::IfcSurface *ReferenceSurface() const

The surface containing the Directrix.

void setReferenceSurface(::Ifc4x2::IfcSurface *v)
const IfcParse::entity &declaration() const
IfcSurfaceCurveSweptAreaSolid(IfcEntityInstanceData *e)
IfcSurfaceCurveSweptAreaSolid(::Ifc4x2::IfcProfileDef *v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D *v2_Position, ::Ifc4x2::IfcCurve *v3_Directrix, boost::optional<double> v4_StartParam, boost::optional<double> v5_EndParam, ::Ifc4x2::IfcSurface *v6_ReferenceSurface)

Public Static Functions

const IfcParse::entity &Class()