![]()  | Produkt - Repräsentation der Form | 
![]()  | Product Definition Shape | 
![]()  | Représentation de la forme du produit | 
The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes:
NOTE The definition of this entity relates to the ISO 10303 entity product_definition_shape. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard.
HISTORY New entity in IFC1.5
| # | Attribute | Type | Cardinality | Description | G | 
|---|---|---|---|---|---|
| ShapeOfProduct | IfcProduct @Representation  | S[1:?] | The IfcProductDefinitionShape shall be used to provide a representation for a single instance of IfcProduct.
IFC2x3 CHANGE New inverse attribute. IFC4 CHANGE Inverse relationship cardinality relaxed to be 1:N.  | X | |
| HasShapeAspects | IfcShapeAspect @PartOfProductDefinitionShape  | S[0:?] | Reference to the shape aspect that represents part of the shape or its feature distinctively. | X | 
| Rule | Description | 
|---|---|
| OnlyShapeModel | Only representations of type IfcShapeModel, i.e. either IfcShapeRepresentation or IfcTopologyRepresentation should be used to represent a product through the IfcProductDefinitionShape.__ | 
| # | Attribute | Type | Cardinality | Description | G | 
|---|---|---|---|---|---|
| IfcProductRepresentation | |||||
| 1 | Name | IfcLabel | ? | The word or group of words by which the product representation is known. | X | 
| 2 | Description | IfcText | ? | The word or group of words that characterize the product representation. It can be used to add additional meaning to the name of the product representation. | X | 
| 3 | Representations | IfcRepresentation | L[1:?] | Contained list of representations (including shape representations). Each member defines a valid representation of a particular type within a particular representation context. | X | 
| IfcProductDefinitionShape | |||||
| ShapeOfProduct | IfcProduct @Representation  | S[1:?] | The IfcProductDefinitionShape shall be used to provide a representation for a single instance of IfcProduct.
IFC2x3 CHANGE New inverse attribute. IFC4 CHANGE Inverse relationship cardinality relaxed to be 1:N.  | X | |
| HasShapeAspects | IfcShapeAspect @PartOfProductDefinitionShape  | S[0:?] | Reference to the shape aspect that represents part of the shape or its feature distinctively. | X | |
 <xs:element name="IfcProductDefinitionShape" type="ifc:IfcProductDefinitionShape" substitutionGroup="ifc:IfcProductRepresentation" nillable="true"/>
 <xs:complexType name="IfcProductDefinitionShape">
  <xs:complexContent>
   <xs:extension base="ifc:IfcProductRepresentation">
    <xs:sequence>
     <xs:element name="HasShapeAspects" nillable="true" minOccurs="0">
      <xs:complexType>
       <xs:sequence>
        <xs:element ref="ifc:IfcShapeAspect" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
       <xs:attribute ref="ifc:itemType" fixed="ifc:IfcShapeAspect"/>
       <xs:attribute ref="ifc:cType" fixed="set"/>
       <xs:attribute ref="ifc:arraySize" use="optional"/>
      </xs:complexType>
     </xs:element>
    </xs:sequence>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
ENTITY IfcProductDefinitionShape
 SUBTYPE OF (IfcProductRepresentation);
 INVERSE
  ShapeOfProduct : SET [1:?] OF IfcProduct FOR Representation;
  HasShapeAspects : SET [0:?] OF IfcShapeAspect FOR PartOfProductDefinitionShape;
 WHERE
  OnlyShapeModel : SIZEOF(QUERY(temp <* Representations | 
  (NOT('IFCREPRESENTATIONRESOURCE.IfcShapeModel' IN TYPEOF(temp)))
)) = 0;
END_ENTITY;
  References: IfcProductRepresentationSelect