Class Ifc4::IfcCShapeProfileDef

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcCShapeProfileDef : public Ifc4::IfcParameterizedProfileDef

IfcCShapeProfileDef defines a section profile that provides the defining parameters of a C-shaped section to be used by the swept area solid. This section is typically produced by cold forming steel. Its parameters and orientation relative to the position coordinate system are according to the following illustration. The centre of the position coordinate system is in the profile’s centre of the bounding box.

HISTORY New entity in IFC2x2.

IFC2x3 CHANGE All profile origins are now in the center of the bounding box.

IFC2x4 CHANGE Type of InternalFilletRadius relaxed to allow for zero radius. Trailing attribute CentreOfGravityInX deleted, use respective property in IfcExtendedProfileProperties instead.

Figure 315 illustrates parameters of the C-shape profile definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of:

IfcSweptAreaSolid.Position

By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the ‘CentreOfGravityInX’ property in IfcExtendedProfileProperties, if provided, is negative.

Figure 315 — C-shape profile

Public Types

typedef IfcTemplatedEntityList<IfcCShapeProfileDef> list

Public Functions

double Depth() const

Profile depth, see illustration above (= h).

void setDepth(double v)
double Width() const

Profile width, see illustration above (= b).

void setWidth(double v)
double WallThickness() const

Constant wall thickness of profile (= ts).

void setWallThickness(double v)
double Girth() const

Lengths of girth, see illustration above (= c).

void setGirth(double v)
bool hasInternalFilletRadius() const

Whether the optional attribute InternalFilletRadius is defined for this IfcCShapeProfileDef.

double InternalFilletRadius() const

Internal fillet radius according the above illustration (= r1).

void setInternalFilletRadius(double v)
const IfcParse::entity &declaration() const
IfcCShapeProfileDef(IfcEntityInstanceData *e)
IfcCShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc4::IfcAxis2Placement2D *v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional<double> v8_InternalFilletRadius)

Public Static Functions

const IfcParse::entity &Class()