Class Ifc4::IfcZShapeProfileDef

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcZShapeProfileDef : public Ifc4::IfcParameterizedProfileDef

IfcZShapeProfileDef defines a section profile that provides the defining parameters of a Z-shape section to be used by the swept area solid. 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.

IFC2x Edition 4 CHANGE Type of FilletRadius and EdgeRadius relaxed to allow for zero radius.

Figure 328 illustrates parameters of the Z-shape profile definition.

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

Figure 328 — Z-shape profile

Public Types

typedef IfcTemplatedEntityList<IfcZShapeProfileDef> list

Public Functions

double Depth() const

Web length, see illustration above (= h).

void setDepth(double v)
double FlangeWidth() const

Flange length, see illustration above (= b).

void setFlangeWidth(double v)
double WebThickness() const

Constant wall thickness of web, see illustration above (= ts).

void setWebThickness(double v)
double FlangeThickness() const

Constant wall thickness of flange, see illustration above (= tg).

void setFlangeThickness(double v)
bool hasFilletRadius() const

Whether the optional attribute FilletRadius is defined for this IfcZShapeProfileDef.

double FilletRadius() const

Fillet radius according the above illustration (= r1).

void setFilletRadius(double v)
bool hasEdgeRadius() const

Whether the optional attribute EdgeRadius is defined for this IfcZShapeProfileDef.

double EdgeRadius() const

Edge radius according the above illustration (= r2).

void setEdgeRadius(double v)
const IfcParse::entity &declaration() const
IfcZShapeProfileDef(IfcEntityInstanceData *e)
IfcZShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc4::IfcAxis2Placement2D *v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional<double> v8_FilletRadius, boost::optional<double> v9_EdgeRadius)

Public Static Functions

const IfcParse::entity &Class()