Class Ifc4x1::IfcLShapeProfileDef

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x1::IfcLShapeProfileDef : public Ifc4x1::IfcParameterizedProfileDef

IfcLShapeProfileDef defines a section profile that provides the defining parameters of an L-shaped section (equilateral L profiles are also covered by this entity) 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 shorter leg has the same direction as the positive Position.P[1]-axis, the longer or equal leg the same as the positive Position.P[2]-axis. The centre of the position coordinate system is in the profiles 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 Width changed from OPTIONAL to mandatory. The previously informal rule that the longer leg is the Depth has been formalized. Types of FilletRadius and EdgeRadius were relaxed to allow for zero values. Trailing attributes CentreOfGravityInX and CentreOfGravityInY deleted, use respective properties in IfcExtendedProfileProperties instead. WHERE rule which required Width <= Depth removed.

Figure 319 illustrates parameters of equal-sided and non-equal sided L-shaped section definitions.

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.

In the illustrated example, the ‘CentreOfGravityInX’ and ‘CentreOfGravityInY’ properties in IfcExtendedProfileProperties, if provided, are both negative.

Note: The black coordinate axes show the underlying coordinate system of the swept surface or swept area solid

Position The profile is inserted into the underlying coordinate system of the swept area solid by using the Position attribute. In this example (cardinal point of gravity) the attribute values of IfcAxis2Placement2D are:

Location = IfcCartesianPoint( +|CentreOfGravityInX|, +|CentreOfGravityInY|) RefDirection = NIL (defaults to 1.,0.)

In the illustrated example, the x and y value of Position.Location, i.e. the measures |CentreOfGravityInX| and |CentreOfGravityInY| are both positive. On the other hand, the properties named ‘CentreOfGravityInX’ and ‘CentreOfGravityInY’ in IfcExtendedProfileProperties, if provided, must both be set to 0 now because the centre of gravity of the resulting profile definition is located in the coordinate origin.

Figure 319 — L-shape profile

Public Types

typedef IfcTemplatedEntityList<IfcLShapeProfileDef> list

Public Functions

double Depth() const

Leg length, see illustration above (= h). Same as the overall depth.

void setDepth(double v)
bool hasWidth() const

Whether the optional attribute Width is defined for this IfcLShapeProfileDef.

double Width() const

Leg length, see illustration above (= b). Same as the overall width.

void setWidth(double v)
double Thickness() const

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

void setThickness(double v)
bool hasFilletRadius() const

Whether the optional attribute FilletRadius is defined for this IfcLShapeProfileDef.

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

double EdgeRadius() const

Edge radius according the above illustration (= r2).

void setEdgeRadius(double v)
bool hasLegSlope() const

Whether the optional attribute LegSlope is defined for this IfcLShapeProfileDef.

double LegSlope() const

Slope of the inner face of each leg of the profile.

void setLegSlope(double v)
const IfcParse::entity &declaration() const
IfcLShapeProfileDef(IfcEntityInstanceData *e)
IfcLShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D *v3_Position, double v4_Depth, boost::optional<double> v5_Width, double v6_Thickness, boost::optional<double> v7_FilletRadius, boost::optional<double> v8_EdgeRadius, boost::optional<double> v9_LegSlope)

Public Static Functions

const IfcParse::entity &Class()