Navigation

IfcShapeRepresentation

Definition from ISO/CD 10303-42:1992: The shape representation is a specific kind of representation that represents a shape.

Definition from IAI: The IfcShapeRepresentation represents the concept of a particular geometric representation of a product or a product component within a special geometric representation context. Several representation types for shape representation are included as predefined types:

GeometricSet points, curves, surfaces
SurfaceModel face based surface model
SolidModel including swept solid, Boolean results and Brep bodies
more specific types are:
  SweptSolid swept area solids, by extrusion and revolution
  Brep faceted brep's with and without voids
  CSG Boolean results of operations between solid models, half spaces and Boolean results
additional types some additional representation types are given:
  BoundingBox simplistic 3D representation by a bounding box
  SectionedSpine cross section based representation of a spine curve and planar cross sections. It can represent a surface or a solid and the interpolations of the between the cross sections is not defined
  MappedRepresentation representation based on a mapped item, referring to a representation map. Note: it can be seen as an inserted block reference.

The representation type is given as a string value at the inherited attribute 'RepresentationType'.

NOTE: The definition of this entity relates to the STEP entity shape_representation. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard.
ISSUE: See issue logs for changes made in IFC Release 1.5 and IFC Release 2x.
HISTORY: See change log for changes made in IFC Release 2x.

EXPRESS specification:

ENTITY IfcShapeRepresentation
SUBTYPE OF ( IfcRepresentation);
INVERSE
OfShapeAspect  :  SET [0:1] OF IfcShapeAspect FOR ShapeRepresentations;
WHERE
WR1  :  'IFCREPRESENTATIONRESOURCE.IFCGEOMETRICREPRESENTATIONCONTEXT' IN TYPEOF(SELF\IfcRepresentation.ContextOfItems);
WR2  :  EXISTS(SELF\IfcRepresentation.RepresentationType);
WR3  :  (RepresentationType <> 'GeometricSet') OR ((RepresentationType = 'GeometricSet') AND (HIINDEX(SELF\IfcRepresentation.Items) = 1) AND ('IFCGEOMETRICMODELRESOURCE.IFCGEOMETRICSET' IN TYPEOF(SELF\IfcRepresentation.Items[1]))) ;
WR4  :  (RepresentationType <> 'SurfaceModel') OR ((RepresentationType = 'SurfaceModel') AND (('IFCGEOMETRICMODELRESOURCE.IFCSHELLBASEDSURFACEMODEL' IN TYPEOF(SELF\IfcRepresentation.Items[1])) OR ('IFCGEOMETRICMODELRESOURCE.IFCSHELLBASEDSURFACEMODEL' IN TYPEOF(SELF\IfcRepresentation.Items[1]))) AND (HIINDEX(SELF\IfcRepresentation.Items) = 1));
WR5  :  (NOT(RepresentationType IN ['SolidModel', 'SweptSolid', 'CSG', 'Brep'])) OR ((RepresentationType IN ['SolidModel', 'SweptSolid', 'CSG', 'Brep']) AND (SIZEOF(QUERY(temp <* SELF\IfcRepresentation.Items | 'IFCGEOMETRICMODELRESOURCE.IFCSOLIDMODEL' IN TYPEOF(temp))) = SIZEOF(SELF\IfcRepresentation.Items)));
WR6  :  (RepresentationType <> 'SweptSolid') OR ((RepresentationType = 'SweptSolid') AND (SIZEOF(QUERY(temp <* SELF\IfcRepresentation.Items | 'IFCGEOMETRICMODELRESOURCE.IFCSWEPTAREASOLID' IN TYPEOF(temp))) >= 1));
WR7  :  (RepresentationType <> 'CSG') OR ((RepresentationType = 'CSG') AND (SIZEOF(QUERY(temp <* SELF\IfcRepresentation.Items | 'IFCGEOMETRICMODELRESOURCE.IFCBOOLEANRESULT' IN TYPEOF(temp))) >= 1));
WR8  :  (RepresentationType <> 'Brep') OR ((RepresentationType = 'Brep') AND (SIZEOF(QUERY(temp <* SELF\IfcRepresentation.Items | 'IFCGEOMETRICMODELRESOURCE.IFCMANIFOLDSOLIDBREP' IN TYPEOF(temp))) >= 1));
WR9  :  (RepresentationType <> 'BoundingBox') OR ((RepresentationType = 'BoundingBox') AND (HIINDEX(SELF\IfcRepresentation.Items) = 1) AND ('IFCGEOMETRYRESOURCE.IFCBOUNDINGBOX' IN TYPEOF(SELF\IfcRepresentation.Items[1])));
WR10  :  (RepresentationType <> 'SectionedSpine') OR ((RepresentationType = 'SectionedSpine') AND (SIZEOF(QUERY(temp <* SELF\IfcRepresentation.Items | 'IFCGEOMETRICMODELRESOURCE.IFCSECTIONEDSPINE' IN TYPEOF(temp))) >= 1));
WR11  :  (RepresentationType <> 'MappedRepresentation') OR ((RepresentationType = 'MappedRepresentation') AND (HIINDEX(SELF\IfcRepresentation.Items) = 1) AND ('IFCGEOMETRYRESOURCE.IFCMAPPEDITEM' IN TYPEOF(SELF\IfcRepresentation.Items[1])));
END_ENTITY;

Attribute definitions:

OfShapeAspect  :  Reference to the shape aspect, for which it is the shape representation.

Formal Propositions:

WR1  :  The context to which the IfcShapeRepresentation is assign, shall be of type IfcGeometricRepresentationContext.
WR2  :  A representation type should be given to the shape representation.
WR3  :  Contraints to the representation type 'GeometricSet'.
WR4  :  Constraints to the representation type 'SurfaceModel'.
WR5  :  Constraints to the representation type 'SolidModel'.
WR6  :  Constraints to the representation type 'SweptSolid'.
WR7  :  Constraints to the representation type 'CSG'.
WR8  :  Constraints to the representation type 'Brep'.
WR9  :  Constraints to the representation type 'BoundingBox'.
WR10  :  Constraints to the representation type 'SectionedSpine'.
WR11  :  Constraints to the representation type 'MappedRepresentation'.

References (2):

Name Type Referred through Express-G
IfcRepresentation Entity
Subtype
Diagram 2
IfcShapeAspect Entity
Attribute 'ShapeRepresentations'
Diagram 2

Inheritance graph

ENTITY IfcShapeRepresentation;
ENTITY IfcRepresentation;
ContextOfItems  :  IfcRepresentationContext;
RepresentationIdentifier  :  OPTIONAL IfcLabel;
RepresentationType  :  OPTIONAL IfcLabel;
Items  :  SET [1:?] OF IfcRepresentationItem;
INVERSE
OfProductRepresentation  :  SET [0:1] OF IfcProductRepresentation FOR Representations;
ENTITY IfcShapeRepresentation;
INVERSE
OfShapeAspect  :  SET [0:1] OF IfcShapeAspect FOR ShapeRepresentations;
END_ENTITY;