22.214.171.124.1 Semantic definition
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 section profiles by their parameters or by their explicit curve geometry.
- 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.
Use in material association
Beams, columns, and similarly shaped building elements and their type objects may be associated with a section profile definition, combined with material definition, by means of IfcRelAssociatesMaterial together with IfcMaterialProfileSet and IfcMaterialProfileSetUsage. This way, building elements and element types with same section and material can share a common section profile definition and association.
The profile definition in material association is required to be consistent with shape representations of the respective building elements.
A higher-level description of spatial alignment of the section profile of a member (such as centered, bottom-left, in the geometric centroid, and more) can be provided within IfcMaterialProfileSetUsage by means of a cardinal point reference. This can be used redundant to geometric data in order to convey design intent.
Use in shape models
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 of 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.
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.
Figure 126.96.36.199.A and Figure 188.8.131.52.B illustrates use of parameterized profiles within a swept area solid.
The IfcProfileDef is defined within the underlying coordinate system which is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane:
- of IfcSweptSurface.Position or
- of IfcSweptAreaSolid.Position or
- of each list member of IfcSectionedSpine.CrossSectionPositions.
In Figure 184.108.40.206.A to the left, the z axis of the position coordinate system points outwards of the drawing plane.
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.
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). Figure 220.127.116.11.C and Figure 18.104.22.168.D illustrates the resulting area or curve depending on ProfileType.
Profile specification by external reference
If the profile is standardized by a norm or a catalogue, a reference to this norm or catalogue should be provided by means of HasExternalReference. This inverse relationship is used to associate an IfcExternalReference (notably IfcClassificationReference or IfcLibraryReference) with the profile.
IfcClassificationReference is used to refer to a profile norm (a common standard or manufacturer's standard). In this case,
- IfcClassificationReference.ItemReference contains the formal profile designation from the norm. (On the other hand, IfcProfileDef.ProfileName contains a displayable name which may not necessarily be the same as the formal designation.)
- IfcClassificationReference.Name carries the short name of the profile norm.
- Optionally, the norm can be further described by IfcClassificationReference.ReferencedSource.
IfcLibraryReference is used to refer to a library which contains profile definitions. In this case,
- IfcLibraryReference.ItemReference contains the identifier of the profile within the library and is meant to be machine-readable (in contrast to IfcProfileDef.ProfileName which should be human-readable).
- IfcLibraryReference.Location and .Name or .ReferencedLibrary further describe the library.
If an external reference is provided, sending systems shall ensure that the shape of the profile definition object agrees with the definitions in the referenced classification or library.
Direct instances of IfcProfileDef
Usually, only subtypes of IfcProfileDef should be instantiated. In some special cases, e.g. if the profile object is used for purposes other than geometric models (e.g. for structural analysis models), it may be possible to directly instantiate IfcProfileDef and further specify the profile only by external reference or by profile properties. The latter are tracked by the inverse attribute HasProperties.
22.214.171.124.2 Entity inheritance
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.
Human-readable name of the profile, for example according to a standard profile table. As noted above, machine-readable standardized profile designations should be provided in IfcExternalReference.ItemReference.
|HasExternalReference||SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects||
Reference to external information, e.g. library, classification, or document information, which is associated with the profile.
|HasProperties||SET [0:?] OF IfcProfileProperties FOR ProfileDefinition||
Additional properties of the profile, for example mechanical properties.
126.96.36.199.4 Property sets
188.8.131.52.5 Concept usage
|Property Sets for Profiles||General||
This concept can be applied to the following resources:
184.108.40.206.6 Formal representation
ENTITY IfcProfileDef SUPERTYPE OF (ONEOF (IfcArbitraryClosedProfileDef ,IfcArbitraryOpenProfileDef ,IfcCompositeProfileDef ,IfcDerivedProfileDef ,IfcOpenCrossProfileDef ,IfcParameterizedProfileDef)); ProfileType : IfcProfileTypeEnum; ProfileName : OPTIONAL IfcLabel; INVERSE HasExternalReference : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects; HasProperties : SET [0:?] OF IfcProfileProperties FOR ProfileDefinition; END_ENTITY;