IfcProfileDef

Natural language names
Profil
Profile Def
D茅finition de profil
Change log
ItemSPFXMLChangeDescription
IFC2x3 to IFC4
    IfcProfileDefMODIFIEDInstantiation changed from ABSTRACT.
Semantic definitions at the entity
Entity 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.

HISTORY  New entity in IFC1.5, the capabilities have been extended in IFC2x. Profiles can now support swept surfaces and swept area solids with inner boundaries. It had been renamed from IfcAttDrivenProfileDef.
IFC4 CHANGE  Changed from ABSTRACT to non-abstract for uses which do not require an explicitly defined geometry. Added inverse attributes HasProperties and HasExternalReference.

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 aligment 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:

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.

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.

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 422 illustrates use of parameterized profiles within a swept area solid.

Example of standard profile definition

Position
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 the figure to the left, the z axis of the position coordinate system points outwards of the drawing plane.

Note: The subtype IfcParameterizedProfileDef optionally provides an additional 2D position coordinate system relative to the underlying coordinate system of the IfcProfileDef.

use within swept area solids

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:

Figure 422 — Profile sweeping

Profile types

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 423 illustrates the resulting area or curve depending on ProfileType.

area without thickness
ProfileType = AREA
closed curve
ProfileType = CURVE

Figure 423 — Profile types

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,

IfcLibraryReference is used to refer to a library which contains profile definitions. In this case,

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.

Attribute definitions
#AttributeTypeCardinalityDescription G
1ProfileTypeIfcProfileTypeEnum 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
2ProfileNameIfcLabel? 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. X
HasExternalReferenceIfcExternalReferenceRelationship
@RelatedResourceObjects
S[0:?]Reference to external information, e.g. library, classification, or document information, which is associated with the profile.
IFC4 CHANGE New inverse attribute
X
HasPropertiesIfcProfileProperties
@ProfileDefinition
S[0:?]Additional properties of the profile, for example mechanical properties.
IFC4 CHANGE New inverse attribute
X
Inherited definitions from supertypes
Entity inheritance IfcArbitraryClosedProfileDef IfcArbitraryOpenProfileDef IfcCompositeProfileDef IfcDerivedProfileDef IfcParameterizedProfileDef
Attribute inheritance
#AttributeTypeCardinalityDescriptionG
IfcProfileDef
1ProfileTypeIfcProfileTypeEnum 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
2ProfileNameIfcLabel? 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. X
HasExternalReferenceIfcExternalReferenceRelationship
@RelatedResourceObjects
S[0:?]Reference to external information, e.g. library, classification, or document information, which is associated with the profile.
IFC4 CHANGE New inverse attribute
X
HasPropertiesIfcProfileProperties
@ProfileDefinition
S[0:?]Additional properties of the profile, for example mechanical properties.
IFC4 CHANGE New inverse attribute
X
Definitions applying to General Usage

 Instance diagram


Concept usage

Property Sets for Objects

The Property Sets for Objects concept template applies to this entity as shown in Table 682.

PsetNameProperties
Pset_ProfileMechanical
TemplatePropertyNameValue
Single ValueMassPerLengthIfcMassPerLengthMeasure
Single ValueCrossSectionAreaIfcAreaMeasure
Single ValuePerimeterIfcPositiveLengthMeasure
Single ValueMinimumPlateThicknessIfcPositiveLengthMeasure
Single ValueMaximumPlateThicknessIfcPositiveLengthMeasure
Single ValueCentreOfGravityInXIfcLengthMeasure
Single ValueCentreOfGravityInYIfcLengthMeasure
Single ValueShearCentreZIfcLengthMeasure
Single ValueShearCentreYIfcLengthMeasure
Single ValueMomentOfInertiaYIfcMomentOfInertiaMeasure
Single ValueMomentOfInertiaZIfcMomentOfInertiaMeasure
Single ValueMomentOfInertiaYZIfcMomentOfInertiaMeasure
Single ValueTorsionalConstantXIfcMomentOfInertiaMeasure
Single ValueWarpingConstantIfcWarpingConstantMeasure
Single ValueShearDeformationAreaZIfcAreaMeasure
Single ValueShearDeformationAreaYIfcAreaMeasure
Single ValueMaximumSectionModulusYIfcSectionModulusMeasure
Single ValueMinimumSectionModulusYIfcSectionModulusMeasure
Single ValueMaximumSectionModulusZIfcSectionModulusMeasure
Single ValueMinimumSectionModulusZIfcSectionModulusMeasure
Single ValueTorsionalSectionModulusIfcSectionModulusMeasure
Single ValueShearAreaZIfcAreaMeasure
Single ValueShearAreaYIfcAreaMeasure
Single ValuePlasticShapeFactorYIfcPositiveRatioMeasure
Single ValuePlasticShapeFactorZIfcPositiveRatioMeasure

Table 682 — IfcProfileDef Property Sets for Objects



mvdXML Specification
<?xml version="1.0"?>
<ConceptRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" uuid="a0929ea7-2e73-482b-b1f3-007c5006ff24" name="IfcProfileDef" status="sample" applicableRootEntity="IfcProfileDef">
  <Applicability uuid="00000000-0000-0000-0000-000000000000" status="sample">
    <Template ref="a1b71d9f-acd7-43fd-934b-23ed5d773064" />
    <TemplateRules operator="and" />
  </Applicability>
  <Concepts>
    <Concept uuid="2af806c8-9ddc-4ce0-a57c-75b6f8908041" name="Property Sets for Objects" status="sample" override="false">
      <Template ref="f74255a6-0c0e-4f31-84ad-24981db62461" />
      <TemplateRules operator="and">
        <TemplateRule Parameters="PsetName[Value]='Pset_ProfileMechanical'" />
      </TemplateRules>
    </Concept>
  </Concepts>
</ConceptRoot>
Concept inheritance

#ConceptTemplateModel View
IfcProfileDef
Property Sets for ObjectsProperty Sets for ObjectsGeneral Usage
Formal representations
XML Specification
 <xs:element name="IfcProfileDef" type="ifc:IfcProfileDef" substitutionGroup="ifc:Entity" nillable="true"/>
 <xs:complexType name="IfcProfileDef">
  <xs:complexContent>
   <xs:extension base="ifc:Entity">
    <xs:sequence>
     <xs:element name="HasProperties" nillable="true" minOccurs="0">
      <xs:complexType>
       <xs:sequence>
        <xs:element ref="ifc:IfcProfileProperties" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
       <xs:attribute ref="ifc:itemType" fixed="ifc:IfcProfileProperties"/>
       <xs:attribute ref="ifc:cType" fixed="set"/>
       <xs:attribute ref="ifc:arraySize" use="optional"/>
      </xs:complexType>
     </xs:element>
    </xs:sequence>
    <xs:attribute name="ProfileType" type="ifc:IfcProfileTypeEnum" use="optional"/>
    <xs:attribute name="ProfileName" type="ifc:IfcLabel" use="optional"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
EXPRESS Specification
ENTITY IfcProfileDef
 SUPERTYPE OF(ONEOF(IfcArbitraryClosedProfileDef, IfcArbitraryOpenProfileDef, IfcCompositeProfileDef, IfcDerivedProfileDef, IfcParameterizedProfileDef));
  ProfileType : IfcProfileTypeEnum;
  ProfileName : OPTIONAL IfcLabel;
 INVERSE
  HasExternalReference : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects;
  HasProperties : SET [0:?] OF IfcProfileProperties FOR ProfileDefinition;
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

References  References: IfcResourceObjectSelect IfcExtrudedAreaSolidTapered IfcRevolvedAreaSolidTapered IfcSectionedSolid IfcSectionedSpine IfcSweptAreaSolid IfcSweptSurface IfcMaterialProfile IfcCompositeProfileDef IfcDerivedProfileDef IfcProfileProperties IfcSectionProperties

Link to this page  Link to this page