Class Ifc4x2::IfcSweptDiskSolid

Nested Relationships

This class is a nested type of Struct Ifc4x2.

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class Ifc4x2::IfcSweptDiskSolid : public Ifc4x2::IfcSolidModel

Definition from ISO 10303-42:2002: A swept disk solid is the solid produced by sweeping a circular disk along a three dimensional curve. During the sweeping operation the normal to the plane of the circular disk is in the direction of the tangent to the directrix curve and the center of the disk lies on the directrix. The circular disk may, optionally, have a central hole, in this case the resulting solid has a through hole, or, an internal void when the directrix forms a close curve. The StartParam and EndParam parameter are optional, if not provided they default to the start and end of the Directrix. Only if the Directrix is given by a bounded or by a closed curve, it is permissible to omit the values of StartParam and EndParam. If the transitions between consecutive segments of the Directrix are not tangent continuous, the resulting solid is created by a miter at half angle between the two segments. Informal proposition restricts the permissible angle between two non-tangent continuous segments.

Figure 272 illustrates an example.

Directrix given as IfcCompositeCurve being tangent continuous between its segments Directrix being a bounded and open curve No StartParam and EndParam are provided, start and end default to start and end of the bounded curve of the Directrix

NOTE Although the example shows a Directrix as a composite curve on a planar reference surface, the definition of IfcSweptDiskSolid is not restricted to be based on planer curves. However view definitions or implementer agreements may provide restrictions.

Figure 272 — Swept disk solid geometry

NOTE Corresponding ISO 10303-42 entity: swept_disk_solid. Please refer to ISO/FDIS 10303-42:2002, p. 282 for the definition of the formal standard.

HISTORY New entity in IFC Release 2x2.

IFC2x4 CHANGE The attribute StartParam and EndParam have been made optional.

Informal proposition

If the Directrix curve definition is not tangent continuous, the transition between the segments has to be within an acceptable limit of tangent discontinuity. Very sharp edges may result in nearly impossible miter. Implementer agreements may define acceptable limits for tangent discontinuity. The segments of the Directrix shall be long enough to apply the Radius. In case of an arc segment forming part of the Directrix ,its radius shall be greater then the disk Radius The Directrix shall not be based on an intersecting curve.

Subclassed by Ifc4x2::IfcSweptDiskSolidPolygonal

Public Types

typedef IfcTemplatedEntityList<IfcSweptDiskSolid> list

Public Functions

::Ifc4x2::IfcCurve *Directrix() const

The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix.

void setDirectrix(::Ifc4x2::IfcCurve *v)
double Radius() const

The Radius of the circular disk to be swept along the directrix. Denotes the outer radius, if an InnerRadius is applied.

void setRadius(double v)
bool hasInnerRadius() const

Whether the optional attribute InnerRadius is defined for this IfcSweptDiskSolid.

double InnerRadius() const

This attribute is optional, if present it defines the radius of a circular hole in the centre of the disk.

void setInnerRadius(double v)
bool hasStartParam() const

Whether the optional attribute StartParam is defined for this IfcSweptDiskSolid.

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 IfcSweptDiskSolid.

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)
const IfcParse::entity &declaration() const
IfcSweptDiskSolid(IfcEntityInstanceData *e)
IfcSweptDiskSolid(::Ifc4x2::IfcCurve *v1_Directrix, double v2_Radius, boost::optional<double> v3_InnerRadius, boost::optional<double> v4_StartParam, boost::optional<double> v5_EndParam)

Public Static Functions

const IfcParse::entity &Class()