Class Ifc4x1::IfcParameterizedProfileDef

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class Ifc4x1::IfcParameterizedProfileDef : public Ifc4x1::IfcProfileDef

The parameterized profile definition defines a 2D position coordinate system to which the parameters of the different profiles relate to. All profiles are defined centric to the origin of the position coordinate system, or more specific, the origin [0.,0.] shall be in the center of the bounding box of the profile.

The Position attribute of IfcParameterizedProfileDef is used to position the profile within the XY plane of the underlying coordinate system of the swept surface geometry, the swept area solid or the sectioned spine. It can be used to position the profile at any point which becomes the origin [0.,0.,0.] of the extruded or rotated surface or solid.

The Position attribute should not be used if the transformation can be specified in a containing object instead. In particular, this applies if the IfcParameterizedProfileDef is referenced as SweptArea in subtypes of IfcSweptAreaSolid or as CrossSections in IfcSectionedSpine.

Several subtypes of IfcParameterizedProfileDef provide shape parameters which are optional. Sending systems should always provide values for these parameters if possible. If these parameters are left unspecified, receiving systems may retrieve values for them by external reference (if a reference to an external document or library is given; see guidance at IfcProfileDef), or estimate them, or simply assume zero values.

HISTORY New entity in IFC2x2.

IFC2x Platform CHANGE The IfcParameterizedProfileDef is introduced as an intermediate new abstract entity that unifies the definition and usage of the position coordinate system for all parameterized profiles. The Position attribute has been removed at all subtypes (like IfcRectangleProfileDef, IfcCircleProfileDef, etc.).

IFC2x3 CHANGE All profile origins are now in the center of the bounding box.

IFC2x4 CHANGE Position attribute made optional (default: identity transformation). Several radius parameters in subtypes have been changed from optional IfcPositiveLengthMeasure (assumed default: 0.) to optional IfcNonNegativeLengthMeasure (default: unspecified). This change allows to explicitly specify zero radius. Sending systems shall export 0. values if parameters are known to be 0. Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference.

Subclassed by Ifc4x1::IfcAsymmetricIShapeProfileDef, Ifc4x1::IfcCircleProfileDef, Ifc4x1::IfcCShapeProfileDef, Ifc4x1::IfcEllipseProfileDef, Ifc4x1::IfcIShapeProfileDef, Ifc4x1::IfcLShapeProfileDef, Ifc4x1::IfcRectangleProfileDef, Ifc4x1::IfcTrapeziumProfileDef, Ifc4x1::IfcTShapeProfileDef, Ifc4x1::IfcUShapeProfileDef, Ifc4x1::IfcZShapeProfileDef

Public Functions

bool hasPosition() const

Whether the optional attribute Position is defined for this IfcParameterizedProfileDef.

::Ifc4x1::IfcAxis2Placement2D *Position() const

Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied.

void setPosition(::Ifc4x1::IfcAxis2Placement2D *v)
const IfcParse::entity &declaration() const
IfcParameterizedProfileDef(IfcEntityInstanceData *e)
IfcParameterizedProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D *v3_Position)

Public Static Functions

const IfcParse::entity &Class()