IfcDerivedProfileDef

Natural language names
abgeleitetes Profil
Derived Profile Def
Définition d'un profil dérivé
Semantic definitions at the entity
Entity definition

IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines.

The transformation effects the position, rotation, mirroring or scale of the profile at the underlying coordinate system, i.e. the coordinate system 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 the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The position and potential rotation of the ParentProfile within the underlying coordinate system is taken into consideration before applying the Cartesian transformation operator.

Note, if only mirroring is required, IfcMirroredProfileDef should be used instead.

HISTORY  New entity in IFC2x.

Figure 413 illustrates examples of derived profiles.

uniform
  </td>
  <td align="left" valign="top">

Parameter
The IfcDerivedProfileDef is defined using the IfcCartesianTransformationOperator2D (CTO), which is applied to the parent profile definition.

Example
The example shows an uniform scaling and a transformation of an IfcRectangleProfileDef to match the lower-left cardinal point. The attributes of the CTO are:

  <blockquote><tt>Axis1 = NIL (defaults to 1.,0.)<br>
  Axis2 = NIL (defaults to 0.,1.)<br>
  LocalOrigin = IfcCartesianPoint(&lt;1/2 XDim&gt;,&lt;1/2 YDim&gt;)<br>
  Scale = 2.<br>
  </tt></blockquote>

Note: The ParentProfile has a Position = IfcCartesianPoint(<1/2 XDim>,<1/2 YDim>) already.

  </td>
</tr>
<tr>
  <td align="left" valign="top" width="405">
non uniform
  </td>
  <td align="left" valign="top">

Parameter
The IfcDerivedProfileDef is defined using non uniform transformationsby applying the IfcCartesianTransformationOperator2DnonUniform as a subtype of the 2D CTO.

Example
The example shows a non-uniform scaling and a translation of an IfcRectangleProfileDef to match the lower-left cardinal point. The attributes of the CTO are:

  <blockquote><tt>Axis1 = NIL (defaults to 1.,0.)<br>
  Axis2 = NIL (defaults to 0.,1.)<br>
  LocalOrigin = IfcCartesianPoint(0.,&lt;1/2 YDim)<br>
  Scale&nbsp; = 1.<br>
  Scale2 = 2.<br>
  </tt></blockquote>

Note: The ParentProfile has a Position = IfcCartesianPoint(<1/2 XDim>,<1/2 YDim>) already.

  </td>
</tr>
<tr>
  <td align="left" valign="top">
mirroring
  </td>
  <td align="left" valign="top">

Parameter
The IfcDerivedProfileDef is defined using mirroring by applying the IfcCartesianTransformationOperator2D (CTO) to the parent profile.

Example
The example shows a mirroring of an IfcLShapeProfileDef to match the centre cardinal point. The attributes of the CTO are:

  <blockquote><tt>Axis1 = (-1.,0.)<br>
  Axis2 = NIL (defaults to 0.,1.)<br>
  LocalOrigin = IfcCartesianPoint(0.,0.)<br>
  Scale = NIL (defaults to 1.)<br>
  </tt></blockquote>

Note: The ParentProfile has a Position = IfcCartesianPoint(0.,0.).

This example is for illustration only. If the transformation results only in mirroring like shown in the example, then IfcMirroredProfileDef should be used instead of IfcDerivedProfileDef.

  </td>
</tr>
<tr>
  <td colspan="2" rowspan="1" align="left" valign="top" width="405">

Note: The following color map applies:

  <ul>
    <li><font size="-1">black coordinate axes show the
	underlying coordinate system of the swept surface, swept area solid, or
	sectioned spine</font></li>

    <li><font size="-1"><font color="#ff0000">red coordinate axes</font>
	show the position coordinate system of the parent profile</font></li>

    <li><font size="-1"><font color="#993300">brown coordinate axes</font>
	show the position coordinate system of the derived profile</font></li>
  </ul>

  </td>
</tr>

Figure 413 — Derived profile

Attribute definitions
#AttributeTypeCardinalityDescription G
3ParentProfileIfcProfileDef The parent profile provides the origin of the transformation. X
4OperatorIfcCartesianTransformationOperator2D Transformation operator applied to the parent profile. X
5LabelIfcLabel? The name by which the transformation may be referred to. The actual meaning of the name has to be defined in the context of applications. X
Formal Propositions
RuleDescription
InvariantProfileTypeThe profile type of the derived profile shall be the same as the type of the parent profile, i.e. both shall be either AREA or CURVE.
Inherited definitions from supertypes
Entity inheritance IfcMirroredProfileDef IfcProfileDef
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
IfcDerivedProfileDef
3ParentProfileIfcProfileDef The parent profile provides the origin of the transformation. X
4OperatorIfcCartesianTransformationOperator2D Transformation operator applied to the parent profile. X
5LabelIfcLabel? The name by which the transformation may be referred to. The actual meaning of the name has to be defined in the context of applications. X
Definitions applying to General Usage

Concept inheritance

#ConceptTemplateModel View
IfcProfileDef
Property Sets for ObjectsProperty Sets for ObjectsGeneral Usage
Formal representations
XML Specification
 <xs:element name="IfcDerivedProfileDef" type="ifc:IfcDerivedProfileDef" substitutionGroup="ifc:IfcProfileDef" nillable="true"/>
 <xs:complexType name="IfcDerivedProfileDef">
  <xs:complexContent>
   <xs:extension base="ifc:IfcProfileDef">
    <xs:sequence>
     <xs:element name="ParentProfile" type="ifc:IfcProfileDef" nillable="true"/>
     <xs:element name="Operator" type="ifc:IfcCartesianTransformationOperator2D" nillable="true" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="Label" type="ifc:IfcLabel" use="optional"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
EXPRESS Specification
ENTITY IfcDerivedProfileDef
 SUPERTYPE OF(IfcMirroredProfileDef)
 SUBTYPE OF (IfcProfileDef);
  ParentProfile : IfcProfileDef;
  Operator : IfcCartesianTransformationOperator2D;
  Label : OPTIONAL IfcLabel;
 WHERE
  InvariantProfileType : SELF\IfcProfileDef.ProfileType = ParentProfile.ProfileType;
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

Link to this page  Link to this page