*IfcShapeModel* represents the concept of a particular geometric and/or topological representation of a product's shape or a product component's shape within a representation context. This representation context has to be a geometric representation context (with the exception of topology representations without associated geometry). The two subtypes are *IfcShapeRepresentation* to cover geometric models that represent a shape, and *IfcTopologyRepresentation* to cover the conectivity of a product or product component. The topology may or may not have geometry associated.

The *IfcShapeModel* can be a shape representation (geometric and/or topologogical) of a product (via *IfcProductDefinitionShape*), or a shape representation (geometric and/or topologogical) of a component of a product shape (via *IfcShapeAspect*).

HISTORY New entity in IFC2x3.

# | Attribute | Type | Description |
---|---|---|---|

IfcRepresentation | |||

1 | ContextOfItems | IfcRepresentationContext | Definition of the representation context for which the different subtypes of representation are valid. |

2 | RepresentationIdentifier | OPTIONAL IfcLabel | The optional identifier of the representation as used within a project. |

3 | RepresentationType | OPTIONAL IfcLabel | The description of the type of a representation context. The representation type defines the type of geometry or topology used for representing the product representation. More information is given at the subtypes IfcShapeRepresentation and IfcTopologyRepresentation. The supported values for context type are to be specified by implementers agreements. |

4 | Items | SET [1:?] OF IfcRepresentationItem | Set of geometric representation items that are defined for this representation. |

RepresentationMap | SET [0:1] OF IfcRepresentationMap FOR MappedRepresentation | Use of the representation within an IfcRepresentationMap. If used, this IfcRepresentation may be assigned to many representations as one of its Items using an IfcMappedItem. Using IfcRepresentationMap is the way to share one representation (often of type IfcShapeRepresentation) by many products. > IFC2x3 CHANGE The inverse attribute LayerAssignments has been added | |

LayerAssignments | SET [0:?] OF IfcPresentationLayerAssignment FOR AssignedItems | Assignment of the whole representation to a single or multiple layer(s). The LayerAssigments can be overridden by LayerAssigments of the IfcRepresentationItem's within the list of Items. > NOTE Implementation agreements can restrict the maximum number of layer assignments to 1. > IFC2x3 CHANGE The inverse attribute LayerAssignments has been added | |

OfProductRepresentation | SET [0:?] OF IfcProductRepresentation FOR Representations | Reference to the product representations to which this individual representation applies. In most cases it is the reference to one or many product shapes, to which this shape representation is applicable. > IFC4 CHANGE Inverse relationship cardinality relaxed to be 0:N. | |

IfcShapeModel | |||

OfShapeAspect | SET [0:1] OF IfcShapeAspect FOR ShapeRepresentations | Reference to the shape aspect, for which it is the shape representation. |

ENTITY IfcShapeModel ABSTRACT SUPERTYPE OF (ONEOF (IfcShapeRepresentation ,IfcTopologyRepresentation)) SUBTYPE OF (IfcRepresentation); INVERSE OfShapeAspect : SET [0:1] OF IfcShapeAspect FOR ShapeRepresentations; WHERE WR11 : (SIZEOF(SELF\IfcRepresentation.OfProductRepresentation) = 1) XOR (SIZEOF(SELF\IfcRepresentation.RepresentationMap) = 1) XOR (SIZEOF(OfShapeAspect) = 1); END_ENTITY;