IFC 4.3.x development

8.15.3.9 IfcCompositeProfileDef

Change log

IFC4

additionswhere_rulesInvariantProfileType
additionswhere_rulesNoRecursion
deletionswhere_rulesWR1
deletionswhere_rulesWR2

IFC4X1

modificationswhere_rules NoRecursion definitionChanged from sizeof(query(temp <* Profiles | 'ifc4.ifccompositeprofiledef' in typeof(temp))) = 0 to sizeof(query(temp <* Profiles | 'ifc4x1.ifccompositeprofiledef' in typeof(temp))) = 0

IFC4X2

modificationswhere_rules NoRecursion definitionChanged from sizeof(query(temp <* Profiles | 'ifc4x1.ifccompositeprofiledef' in typeof(temp))) = 0 to sizeof(query(temp <* Profiles | 'ifc4x2.ifccompositeprofiledef' in typeof(temp))) = 0

IFC4X3_RC3

modificationswhere_rules NoRecursion definitionChanged from sizeof(query(temp <* Profiles | 'ifc4x2.ifccompositeprofiledef' in typeof(temp))) = 0 to sizeof(query(temp <* Profiles | 'ifc4x3_rc3.ifccompositeprofiledef' in typeof(temp))) = 0

8.15.3.9.1 Semantic definitions at the entity

The IfcCompositeProfileDef defines the profile by composition of other profiles. The composition is given by a set of at least two other profile definitions. Any profile definition (except for another composite profile) can be used to construct the composite.

HISTORY  New entity in IFC2x.

Figure 314 illustrates the composite profile definition. The IfcCompositeProfileDef does not define an own position coordinate system, it is directly defined in the underlying coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either:

Or in case of sectioned spines it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The IfcCompositeProfileDef is defined using other profile definitions. Those other profile definitions are directly inserted into the underlying coordinate system.

  • In case of parameterized profile definitions, the Position attribute of those standard profiles is used to place the profiles relatively to each other.
  • In case of arbitrary profile definitions, each Cartesian coordinate is given directly within the underlying coordinate system.

NOTE  The black coordinate axes show the underlying coordinate system of the swept surface or swept area solid.

"composite"

Twin profiles special case

If twin profiles are modeled by profile composition, the base profile should only be specified once. It is then included into the composite profile directly and additionally indirectly via IfcMirroredProfileDef. For example, a double angle made of two L100x10 with 10mm air gap between them, i.e. a | | shape, can be modeled as

```

single_L : IfcLShapeProfileDef := IfcLShapeProfileDef(AREA, 'L100X100X10',
    IfcAxis2Placement2D(IfcCartesianPoint(((.100+.010)/2., .0)), ?),
    .100, .100, .010, .012, ?, 0., ?, ?);
 
double_L : IfcCompositeProfileDef := IfcCompositeProfileDef(AREA, 'double angle',
    (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile');

```

8.15.3.9.1 Attributes

# Attribute Type Description
IfcProfileDef
1 ProfileType IfcProfileTypeEnum 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.
2 ProfileName OPTIONAL IfcLabel 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_.
HasExternalReferenceSET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjectsReference to external information, e.g. library, classification, or document information, which is associated with the profile.

> IFC4 CHANGE New inverse attribute
HasProperties SET [0:?] OF IfcProfileProperties FOR ProfileDefinition Additional properties of the profile, for example mechanical properties.

> IFC4 CHANGE New inverse attribute
IfcCompositeProfileDef
3 Profiles SET [2:?] OF IfcProfileDef The profiles which are used to define the composite profile.
4 Label OPTIONAL IfcLabel The name by which the composition may be referred to. The actual meaning of the name has to be defined in the context of applications.

8.15.3.9.2 Entity inheritance

dot_inheritance IfcCompositeProfileDef IfcCompositeProfileDef IfcProfileDef IfcProfileDef IfcCompositeProfileDef->IfcProfileDef IfcProfileDef_children 5 more... IfcProfileDef_children->IfcProfileDef

8.15.3.9.3 Definitions applying to General Usage

8.15.3.9.3.1 Property Sets for Objects

PsetName
'Pset_ProfileMechanical'

8.15.3.9.4 Formal representations

ENTITY IfcCompositeProfileDef
 SUBTYPE OF (IfcProfileDef);
	Profiles : SET [2:?] OF IfcProfileDef;
	Label : OPTIONAL IfcLabel;
 WHERE
	InvariantProfileType : SIZEOF(QUERY(temp <* Profiles | temp.ProfileType <> Profiles[1].ProfileType)) = 0;
	NoRecursion : SIZEOF(QUERY(temp <* Profiles | 'IFC4X3_DEV_a1492713.IFCCOMPOSITEPROFILEDEF' IN TYPEOF(temp))) = 0;
END_ENTITY;