IFC 4.3.2.20240904 (IFC4X3_ADD2) under development

8.18.3.17 IfcShapeRepresentation

RV ⓘ
AbV ⓘ

8.18.3.17.1 Semantic definition

The IfcShapeRepresentation represents the concept of a particular geometric representation of a product or a product component within a specific geometric representation context. The inherited attribute RepresentationType is used to define the geometric model used for the shape representation (e.g. 'SweptSolid', or 'Brep'), the inherited attribute RepresentationIdentifier is used to denote the kind of the representation captured by the IfcShapeRepresentation (e.g. 'Axis', 'Body', etc.).

Several representation identifiers for shape representation are included as predefined values for RepresentationIdentifier. Table 8.18.3.17.A indicates the defined list of values for RepresentationIdentifier.

Identifier Description
CoG Point to identify the center of gravity of an element. This value can be used for validation purposes.
Box Bounding box as simplified 3D box geometry of an element
Annotation 2D or 3D annotations
Axis 2D or 3D Axis, or single line, representation of an element
FootPrint 2D Foot print, or double line, representation of an element, projected to ground view
Profile 3D line representation of a profile being planar, e.g. used for door and window outlines
Surface 3D Surface representation (an analytical surface of an element plane)
Reference 3D representation that is not part of the Body representation. This is used, e.g., for opening geometries, if there are to be excluded from an implicit Boolean operation.
Body 3D Body representation, e.g. as wireframe, surface, or solid model, of an element
Body-FallBack 3D Body representation, e.g. as tessellation, or other surface, or boundary representation, added in addition to the solid model (potentially involving Boolean operations) of an element
Clearance 3D clearance volume of the element. Such clearance region indicates space that should not intersect with the 'Body' representation of other elements, though may intersect with the 'Clearance' representation of other elements.
Lighting Representation of emitting light as a light source within a shape representation
Table 8.18.3.17.A — Representation identifiers

Several representation types for shape representation are included as predefined values for RepresentationType. Table 8.18.3.17.B indicates the defined list of values for RepresentationType.

Type Description
Point 2 or 3 dimensional point(s). Points can be represented by a point list
PointCloud 3 dimensional points represented by a point list. DEPRECATED. Use 'Point' instead.
Curve 2 or 3 dimensional curve(s)
Curve2D 2 dimensional curve(s)
Curve3D 3 dimensional curve(s)
Surface 2 or 3 dimensional surface(s)
Surface2D 2 dimensional surface(s) (a region on ground view)
Surface3D 3 dimensional surface(s)
SectionedSurface swept surface(s) created by sweeping open profiles along a directrix
FillArea 2D region(s) represented as a filled area (hatching)
Text text defined as text literals
AdvancedSurface 3 dimensional b-spline surface(s)
GeometricSet points, curves, surfaces (2 or 3 dimensional)
GeometricCurveSet points, curves (2 or 3 dimensional)
Annotation2D points, curves (2 or 3 dimensional), hatches and text (2 dimensional)
SurfaceModel face based and shell based surface model(s), or tessellated surface model(s)
Tessellation Tessellated surface representation(s) only
Segment partial geometry of curves that shall not be rendered separately from the main curve
SolidModel including swept solid, Boolean results and Brep bodies; more specific types are:
SweptSolid swept area solids, by extrusion and revolution, excluding tapered sweeps
AdvancedSweptSolid swept area solids created by sweeping a profile along a directrix, and tapered sweeps
Brep Faceted Brep's with and without voids
AdvancedBrep Brep's based on advanced faces, with b-spline surface geometry, with and without voids
CSG Boolean results of operations between solid models, half spaces and Boolean results
Clipping Boolean differences between swept area solids, half spaces and Boolean results
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
LightSource light source with (depending on type) position, orientation, light colour, intensity and attenuation
MappedRepresentation representation based on mapped item(s), referring to a representation map. Note: it can be seen as an inserted block reference. The shape representation of the mapped item has a representation type declaring the type of its representation items.
Table 8.18.3.17.B — Representation types

8.18.3.17.2 Entity inheritance

8.18.3.17.3 Attributes

# Attribute Type Description
IfcRepresentation (7)
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.

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.

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.

Click to show 7 hidden inherited attributes Click to hide 7 inherited attributes
IfcShapeModel (1)
OfShapeAspect SET [0:1] OF IfcShapeAspect FOR ShapeRepresentations

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

Table 8.18.3.17.C

8.18.3.17.4 Formal propositions

Name Description
CorrectContext

The context to which the IfcShapeRepresentation is assign, shall be of type IfcGeometricRepresentationContext.

'IFC4X3_DEV_c85b862.IFCGEOMETRICREPRESENTATIONCONTEXT' 
IN TYPEOF(SELF\IfcRepresentation.ContextOfItems)
CorrectItemsForType

Checks the proper use of Items according to the RepresentationType.

IfcShapeRepresentationTypes(SELF\IfcRepresentation.RepresentationType, SELF\IfcRepresentation.Items)
HasRepresentationIdentifier

A representation identifier should be provided for the shape representation.

EXISTS(SELF\IfcRepresentation.RepresentationIdentifier)
HasRepresentationType

A representation type should be provided for the shape representation.

EXISTS(SELF\IfcRepresentation.RepresentationType)
NoTopologicalItem

No topological representation item shall be directly used for shape representations, with the exception of IfcVertexPoint, IfcEdgeCurve, IfcFaceSurface.

SIZEOF(QUERY(temp <* Items | 
  ('IFC4X3_DEV_c85b862.IFCTOPOLOGICALREPRESENTATIONITEM' IN TYPEOF(temp))
    AND (NOT(SIZEOF(
      ['IFC4X3_DEV_c85b862.IFCVERTEXPOINT',
       'IFC4X3_DEV_c85b862.IFCEDGECURVE',
       'IFC4X3_DEV_c85b862.IFCFACESURFACE'] * TYPEOF(temp)) = 1))
)) = 0
Table 8.18.3.17.D

8.18.3.17.5 Formal representation

ENTITY IfcShapeRepresentation
 SUBTYPE OF (IfcShapeModel);
 WHERE
	CorrectContext : 'IFC4X3_DEV_c85b862.IFCGEOMETRICREPRESENTATIONCONTEXT' 
IN TYPEOF(SELF\IfcRepresentation.ContextOfItems);
	CorrectItemsForType : IfcShapeRepresentationTypes(SELF\IfcRepresentation.RepresentationType, SELF\IfcRepresentation.Items);
	HasRepresentationIdentifier : EXISTS(SELF\IfcRepresentation.RepresentationIdentifier);
	HasRepresentationType : EXISTS(SELF\IfcRepresentation.RepresentationType);
	NoTopologicalItem : SIZEOF(QUERY(temp <* Items | 
  ('IFC4X3_DEV_c85b862.IFCTOPOLOGICALREPRESENTATIONITEM' IN TYPEOF(temp))
    AND (NOT(SIZEOF(
      ['IFC4X3_DEV_c85b862.IFCVERTEXPOINT',
       'IFC4X3_DEV_c85b862.IFCEDGECURVE',
       'IFC4X3_DEV_c85b862.IFCFACESURFACE'] * TYPEOF(temp)) = 1))
)) = 0;
END_ENTITY;

8.18.3.17.6 References

Edit on Github


Is this page difficult to understand? Let us know!

8.18.3.17.7 Changelog

8.18.3.17.7.1 IFC4

  • where rule, CorrectContext
  • where rule, CorrectItemsForType
  • where rule, HasRepresentationIdentifier
  • where rule, HasRepresentationType
  • where rule, NoTopologicalItem
  • where rule, WR21
  • where rule, WR22
  • where rule, WR23
  • where rule, WR24