#### IfcProfileDef

Natural language names

##### Semantic definitions at the entity

Entity definition

Definition from IAI: The IfcProfileDef is the supertype of all definitions of standard and arbitrary profiles within IFC. It is used to define a standard set of commonly used profiles by their parameters or by their explicit curve geometry. Those profile definitions are used within the geometry and geometric model resource to create either swept surfaces, swept area solids, or sectioned spines.

The purpose of the profile definition within the swept surfaces or swept area solids is to define a uniform cross section being swept:

- along a line (extrusion) using IfcSurfaceOfLinearExtrusion or IfcExtrudedAreaSolid
- along a circular arc (revolution) using IfcSurfaceOfRevolution or IfcRevolvedAreaSolid
- along a directrix lying on a reference surface using IfcSurfaceCurveSweptAreaSolid

The purpose fo the profile definition within the sectioned spine is to define a varying cross sections at several positions along a spine curve. The subtype IfcDerivedProfileDef is particularly suited to provide the consecutive profiles to be based on transformations of the start profile and thus maintaining the identity of vertices and edges.

> NOTE: Subtypes of the IfcProfileDef contain parameterized profiles (as subtypes of IfcParameterizedProfileDef) which establish their own 2D position coordinate system, profiles given by explicit curve geometry (either open or closed profiles) and two special types for composite profiles and derived profiles, based on a 2D Cartesian transformation.

- Parameterized profiles are 2D primitives, which are used within the industry to describe cross sections by a description of its parameters.
- Arbitrary profiles are cross sections defined by an outer boundary as bounded curve, which may also include holes, defined by inner boundaries.
- Derived profiles, based on a transformation of a parent profile, are also part of the profile definitions available.
- In addition composite profiles can be defined, which include two or more profile definitions to define the resulting profile.

An IfcProfileDef is treated as bounded area if it is used within swept area solids. In this case, the inside of the profile is part of the profile. The attribute ProfileType is set to AREA. An IfcProfileDef is treated as a curve if it is used within swept surfaces. In this case, the inside of the profile (if the curve is closed) is not part of the profile. The attribute ProfileType is set to CURVE. The optional attribute ProfileName can be used to designate a standard profile type as e.g. given in profile tables for steel profiles.

> HISTORY: New class in IFC Release 1.5, the capabilities have been extended in IFC Release 2x. Profiles can now support swept surfaces and swept area solids with inner boundaries. It had been renamed from IfcAttDrivenProfileDef.

Illustration:

| Position The IfcProfileDef is defined within the underlying coordinate system thtt is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either: IfcSweptSurface.Position IfcSweptAreaSolid.Position or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions Note: The parameterized profile definition defines a 2D position coordinate system, relative to the underlying coordinate system of the IfcProfileDef.
| Sweeping In the later use of the IfcProfileDef within the swept surface or swept area solid, e.g. the IfcExtrudedAreaSolid (here used as an example), the profile boundaries (here based on the 2D position coordinate system of IfcParameterizedProfileDef) are placed within the xy plane of the 3D position coordinate system of the swept surface or swept area solid. The profile is inserted into the underlying coordinate system either: directly in case of using IfcArbitraryClosedProfileDef and IfcArbitraryOpenProfileDef, through an intermediate position coordinate system in case of using IfcParameterizedProfileDef. through an 2D Cartesian transformation operator (applied directly to the curve position when using arbitrary profile definitions, or applied to the position coordinate system when using parameterized profile definitions) in case of using IfcDerivedProfileDef. when using IfcCompositeProfileDef the insertion depends on the subtype of the included sub-profiles.

Table: Use of parameterized profiles within the swept area solid

Use cases:

Results of the different usage of the ProfileType attribute are demonstrated here. The ProfileType defines whether the inside (the bounded area) is part of the profile definition (Area) or not (Curve).

ProfileType = AREA | ProfileType = CURVE

Table: Resulting area or curve depending on ProfileType

Attribute definitions

# | Attribute | Type | Cardinality | Description | A
--- | --- | --- | --- | --- | ---
1 | ProfileType | IfcProfileTypeEnum | [1:1] | Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. | X
2 | ProfileName | - |  | This attribute is out of scope for this model view definition and shall not be set. |

##### Inherited definitions from supertypes

Entity inheritance
Attribute inheritance

# | Attribute | Type | Cardinality | Description | A
--- | --- | --- | --- | --- | ---
IfcProfileDef
1 | ProfileType | IfcProfileTypeEnum | [1:1] | Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. | X
2 | ProfileName | - |  | This attribute is out of scope for this model view definition and shall not be set. |

##### Formal representations

XSD Specification
`<xs:element name="IfcProfileDef" type="ifc:IfcProfileDef" abstract="true" substitutionGroup="ifc:Entity" nillable="true"/>
<xs:complexType name="IfcProfileDef" abstract="true">
<xs:complexContent>
<xs:extension base="ifc:Entity">
<xs:attribute name="ProfileType" type="ifc:IfcProfileTypeEnum" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
`
EXPRESS Specification
`ENTITY IfcProfileDef
ABSTRACT SUPERTYPE OF(ONEOF(IfcArbitraryClosedProfileDef, IfcArbitraryOpenProfileDef, IfcDerivedProfileDef, IfcParameterizedProfileDef));
ProfileType : IfcProfileTypeEnum;
ProfileName : OPTIONAL IfcStrippedOptional;
END_ENTITY;

EXPRESS-G diagram

`

Link to this page