Class Ifc4::IfcAsymmetricIShapeProfileDef

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcAsymmetricIShapeProfileDef : public Ifc4::IfcParameterizedProfileDef

IfcAsymmetricIShapeProfileDef defines a section profile that provides the defining parameters of a singly symmetric I-shaped section. 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.

The inherited attributes are redefined as:

OverallWidth BottomFlangeWidth FlangeThickness BottomFlangeThickness FilletRadius BottomFlangeFilletRadius

The overall width of the profile is implicitly given by the maximum of the bottom flange width and the top flange width.

IfcAsymmetricIShapeProfileDef can also be used to model rail profiles if the application scenario does not require a full explicit shape model of the rail profile. Alternatively, IfcArbitraryClosedProfileDef can be used to provide the exact shape of rail profiles. Either way, a reference to an external document or library should be provided to further define the profile as described at IfcProfileDef.

HISTORY New entity in Release IFC2x Edition 2.

IFC2x3 CHANGE All profile origins are now in the center of the bounding box. The attribute CentreOfGravityInY has been made OPTIONAL.

IFC2x4 CHANGE Bottom flange is not necessarily wider than top flange. TopFlangeThickness changed from OPTIONAL to mandatory. Type of TopFlangeFilletRadius relaxed to allow for zero radius. Trailing attribute CentreOfGravityInY deleted, use respective property in IfcExtendedProfileProperties instead.

Figure 310 illustrates parameters of the asymmetric I-shaped section 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 ‘CentreOfGravityInY’ property in IfcExtendedProfileProperties, if provided, is negative.

Figure 310 — Assymetric I-shape profile

Public Functions

double BottomFlangeWidth() const
void setBottomFlangeWidth(double v)
double OverallDepth() const
void setOverallDepth(double v)
double WebThickness() const
void setWebThickness(double v)
double BottomFlangeThickness() const
void setBottomFlangeThickness(double v)
bool hasBottomFlangeFilletRadius() const

Whether the optional attribute BottomFlangeFilletRadius is defined for this IfcAsymmetricIShapeProfileDef.

double BottomFlangeFilletRadius() const
void setBottomFlangeFilletRadius(double v)
double TopFlangeWidth() const

Extent of the top flange, defined parallel to the x axis of the position coordinate system.

void setTopFlangeWidth(double v)
bool hasTopFlangeThickness() const

Whether the optional attribute TopFlangeThickness is defined for this IfcAsymmetricIShapeProfileDef.

double TopFlangeThickness() const

Flange thickness of the top flange of the I-shape.

void setTopFlangeThickness(double v)
bool hasTopFlangeFilletRadius() const

Whether the optional attribute TopFlangeFilletRadius is defined for this IfcAsymmetricIShapeProfileDef.

double TopFlangeFilletRadius() const

The fillet between the web and the top flange of the I-shape.

void setTopFlangeFilletRadius(double v)
bool hasBottomFlangeEdgeRadius() const

Whether the optional attribute BottomFlangeEdgeRadius is defined for this IfcAsymmetricIShapeProfileDef.

double BottomFlangeEdgeRadius() const
void setBottomFlangeEdgeRadius(double v)
bool hasBottomFlangeSlope() const

Whether the optional attribute BottomFlangeSlope is defined for this IfcAsymmetricIShapeProfileDef.

double BottomFlangeSlope() const
void setBottomFlangeSlope(double v)
bool hasTopFlangeEdgeRadius() const

Whether the optional attribute TopFlangeEdgeRadius is defined for this IfcAsymmetricIShapeProfileDef.

double TopFlangeEdgeRadius() const
void setTopFlangeEdgeRadius(double v)
bool hasTopFlangeSlope() const

Whether the optional attribute TopFlangeSlope is defined for this IfcAsymmetricIShapeProfileDef.

double TopFlangeSlope() const
void setTopFlangeSlope(double v)
const IfcParse::entity &declaration() const
IfcAsymmetricIShapeProfileDef(IfcEntityInstanceData *e)
IfcAsymmetricIShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc4::IfcAxis2Placement2D *v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, boost::optional<double> v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, boost::optional<double> v10_TopFlangeThickness, boost::optional<double> v11_TopFlangeFilletRadius, boost::optional<double> v12_BottomFlangeEdgeRadius, boost::optional<double> v13_BottomFlangeSlope, boost::optional<double> v14_TopFlangeEdgeRadius, boost::optional<double> v15_TopFlangeSlope)

Public Static Functions

const IfcParse::entity &Class()