Class Ifc4::IfcLShapeProfileDef¶
Defined in File Ifc4.h
Nested Relationships¶
This class is a nested type of Struct Ifc4.
Inheritance Relationships¶
Base Type¶
public Ifc4::IfcParameterizedProfileDef
(Class Ifc4::IfcParameterizedProfileDef)
Class Documentation¶
-
class
Ifc4
::
IfcLShapeProfileDef
: public Ifc4::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:
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)¶
-
IfcLShapeProfileDef
(IfcEntityInstanceData *e)¶
-
IfcLShapeProfileDef
(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc4::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)¶
-
typedef IfcTemplatedEntityList<IfcLShapeProfileDef>