Class Ifc4x1::IfcAnnotation

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x1::IfcAnnotation : public Ifc4x1::IfcProduct

Definition from IAI: An annotation is a graphical representation within the geometric (and spatial) context of a project, that adds a note or meaning to the objects which constitutes the project model. Annotations include additional line drawings, text, dimensioning, hatching and other forms of graphical notes.

NOTE Additional presentation information (often 2D) such as tag number, hatching, etc., that is directly related to a particular product representation is included within the IfcProductDefinitionShape having various IfcShapeRepresentation’s of the IfcElement (and its subtypes). Only those presentation information, that cannot be directly related to a single product, have to be wrapped within the IfcAnnotation.

If available, the annotation should be related to the spatial context of the project, by containing the annotation within the appropriate level of the building structure (site, building, storey, or space). This is handled by the IfcRelContainedInSpatialStructure relationship.

HISTORY: New entity in Release IFC2x Edition 2.

Use definition

The IfcAnnotation can provide specific 0D, 1D, and 2D geometric items as representation of the annotation, offering annotation point, curves, and surfaces.

‘Annotation point’ is an annotation provided by a point that has additional semantic. The inherited attribute ObjectType should be used to capture the type of point annotation, some predefined values are:

‘Survey’: A survey point has a set of cartesian coordinates determined by its location at point. These coordinates are determined relative to the coordinates of a reference point, which acts as the datum for the survey. The difference in elevation of the survey points enables terrain to be determined.

‘Annotation curve’ is an annotation provided by a curve that has additional semantic. The inherited attribute ObjectType should be used to capture the type of curve annotation, some predefined values are:

‘ContourLine’: A line of constant elevation typically used on geographic maps where the spacing of lines at constant intervals of elevation may be used as an indication of slope.

‘IsoBar’: A line of constant pressure typically used on weather maps or to show pressure gradient in spaces, chambers or externally.

‘IsoLux’: A line of constant illumination typically used to show the distribution of illumination levels and/or daylighting in a space or externally.

‘IsoTherm’: A line of constant temperature typically used to show the distribution and effect of heating or cooling within a space or to show temperature distribution on a geographic map.

‘Annotation surface’ is an annotation provided by a surface that has additional semantic. The inherited attribute ObjectType should be used to capture the type of surface annotation, some predefined values are:

‘SurveyArea’: A surface patch based on survey points.

Geometry Use Definitions

The geometric representation of any IfcAnnotation is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representations.

Local Placement

The local placement for any IfcAnnotation is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement, which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that.

If the relative placement is not used, the absolute placement is defined within the world coordinate system.

Geometric Representations

The standard representation of IfcAnnotation is defined using ‘Annotation2D’, when using 2D geometry, hatching and text, ‘GeometricCurveSet’ when using points and curves, or, when including als surfaces, the ‘GeometricSet’ geometry. Geometric representation items may be styled items by adding the style information.

Annotation2D Representation This representation is used, when the representation of the IfcAnnotation includes specific drafting representation elements. The Annotation may have:

subtypes of IfcPoint, IfcCurve being 2D

directly as Items, or within an IfcGeometricCurveSet

subtypes of IfcAnnotationFillArea for hatches

subtypes of IfcDefinedSymbol for symbols

subtypes of IfcTextLiteral for text

subtypes of IfcDraughtingCallout for dimensions

The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘Annotation’

RepresentationType : ‘Annotation2D’

Annotation Curve Representation This representation is used, when the representation of the IfcAnnotation does not includes specific drafting representation elements. The Annotation may have:

subtypes of IfcPoint, IfcCurve being 2D

directly as Items, or within an IfcGeometricCurveSet

The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘Annotation’

RepresentationType : ‘GeometricCurveSet’

Annotation Surface Representation This representation is used, when the representation of the IfcAnnotation does includes surfaces. The Annotation may have:

subtypes of IfcPoint, IfcCurve, or IfcSurface

directly as Items, or within an IfcGeometricCurveSet

The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘Annotation’

RepresentationType : ‘GeometricSet’

Public Types

typedef IfcTemplatedEntityList<IfcAnnotation> list

Public Functions

IfcTemplatedEntityList<IfcRelContainedInSpatialStructure>::ptr ContainedInStructure() const
const IfcParse::entity &declaration() const
IfcAnnotation(IfcEntityInstanceData *e)
IfcAnnotation(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation *v7_Representation)

Public Static Functions

const IfcParse::entity &Class()