Class Ifc2x3::IfcAnnotation¶
Defined in File Ifc2x3.h
Nested Relationships¶
This class is a nested type of Struct Ifc2x3.
Inheritance Relationships¶
Base Type¶
public Ifc2x3::IfcProduct
(Class Ifc2x3::IfcProduct)
Class Documentation¶
-
class
Ifc2x3
::
IfcAnnotation
: public Ifc2x3::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¶
-
IfcAnnotation
(IfcEntityInstanceData *e)¶
-
IfcAnnotation
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation)¶
-
typedef IfcTemplatedEntityList<IfcAnnotation>