Class Ifc4::IfcShapeRepresentation

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcShapeRepresentation : public Ifc4::IfcShapeModel

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 (for example, ‘SweptSolid’, or ‘Brep’), the inherited attribute RepresentationIdentifier is used to denote the part of the representation captured by the IfcShapeRepresentation (for example, ‘Axis’, ‘Body’).

Several representation identifiers for shape representation are included as predefined values for RepresentationIdentifier:

Box Bounding box as simplified 3D box geometry of an element

Annotation 2D annotations not representing elements

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

Surface 3D Surface representation, e.g. of an analytical surface, of an elementplane)

Body 3D Body representation, e.g. as wireframe, surface, or solid model, of an element

Lighting Representation of emitting light as a light source within a shape representation

Several representation types for shape representation are included as predefined values for RepresentationType:

Curve2D 2 dimensional curve

Curve3D 3 dimensional curve

Surface2D 2 dimensional surface (a region on ground view)

Surface3D 3 dimensional surface

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

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

additional types

some additional representation types are provided:

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 1: string values for the inherited attribute ‘RepresentationType’.

NOTE The definition of this entity relates to the ISO 10303 entity shape_representation. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard.

HISTORY New entity in IFC Release 1.5.

IFC2x4 CHANGE The RepresentationType’s ‘Curve3D’, ‘Surface2D’, ‘Surface3D’, ‘AdvancedBrep’, ‘LightSource’, and the RepresentationIdentifier ‘Lighting’ have been added.

Public Functions

const IfcParse::entity &declaration() const
IfcShapeRepresentation(IfcEntityInstanceData *e)
IfcShapeRepresentation(::Ifc4::IfcRepresentationContext *v1_ContextOfItems, boost::optional<std::string> v2_RepresentationIdentifier, boost::optional<std::string> v3_RepresentationType, IfcTemplatedEntityList<::Ifc4::IfcRepresentationItem>::ptr v4_Items)

Public Static Functions

const IfcParse::entity &Class()