Class Ifc4x1::IfcIShapeProfileDef¶
Defined in File Ifc4x1.h
Nested Relationships¶
This class is a nested type of Struct Ifc4x1.
Inheritance Relationships¶
Base Type¶
public Ifc4x1::IfcParameterizedProfileDef
(Class Ifc4x1::IfcParameterizedProfileDef)
Class Documentation¶
-
class
Ifc4x1
::
IfcIShapeProfileDef
: public Ifc4x1::IfcParameterizedProfileDef¶ IfcIShapeProfileDef defines a section profile that provides the defining parameters of a symmetrical ‘I’ section to be used by the swept surface geometry or the swept area solid. The I-shape profile has values for its overall depth, width and its web and flange thickness. Additionally a fillet radius may be given. It represents a I-section that is symmetrical about its major and minor axes; and that has both top and bottom flanges being equal and centred on the web.
IfcIShapeProfileDef can also be used to model I sections with sloped or rounded flanges. The slope and radius cannot be expressed in explicit attributes, but they may be retrieved by reference to an external document or library. See IfcProfileDef for guidance on external references for profile definitions.
HISTORY New entity in IFC2x.
IFC2x4 CHANGE Type of FilletRadius relaxed to allow for zero radius.
Figure 318 illustrates parameters of the I-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:
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. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound). Parameter
The parameterized profile is defined by a set of parameter attributes, see attribute definition below.
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 lower left corner) the attribute values of IfcAxis2Placement2D are:
Location = IfcCartesianPoint(,) RefDirection = NIL (defaults to 1.,0.)
Parameter If the FilletRadius is given, it is equally applied to all four corners created by the web and flanges.
Figure 318 — I-shape profile
Public Types
-
typedef IfcTemplatedEntityList<IfcIShapeProfileDef>
list
¶
Public Functions
-
double
OverallWidth
() const¶ Total extent of the width, defined parallel to the x axis of the position coordinate system.
-
void
setOverallWidth
(double v)¶
-
double
OverallDepth
() const¶ Total extent of the depth, defined parallel to the y axis of the position coordinate system.
-
void
setOverallDepth
(double v)¶
-
double
WebThickness
() const¶ Thickness of the web of the I-shape. The web is centred on the x-axis and the y-axis of the position coordinate system.
-
void
setWebThickness
(double v)¶
-
double
FlangeThickness
() const¶ Flange thickness of the I-shape. Both, the upper and the lower flanges have the same thickness and they are centred on the y-axis of the position coordinate system.
-
void
setFlangeThickness
(double v)¶
-
bool
hasFilletRadius
() const¶ Whether the optional attribute FilletRadius is defined for this IfcIShapeProfileDef.
-
double
FilletRadius
() const¶ The fillet between the web and the flange.
-
void
setFilletRadius
(double v)¶
-
bool
hasFlangeEdgeRadius
() const¶ Whether the optional attribute FlangeEdgeRadius is defined for this IfcIShapeProfileDef.
-
double
FlangeEdgeRadius
() const¶
-
void
setFlangeEdgeRadius
(double v)¶
-
bool
hasFlangeSlope
() const¶ Whether the optional attribute FlangeSlope is defined for this IfcIShapeProfileDef.
-
double
FlangeSlope
() const¶
-
void
setFlangeSlope
(double v)¶
-
IfcIShapeProfileDef
(IfcEntityInstanceData *e)¶
-
IfcIShapeProfileDef
(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D *v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional<double> v8_FilletRadius, boost::optional<double> v9_FlangeEdgeRadius, boost::optional<double> v10_FlangeSlope)¶
-
typedef IfcTemplatedEntityList<IfcIShapeProfileDef>