Log In   View a printable version of the current page.
Annotate Geometry (FP)
Added by Jeffrey Wix, last edited by Janice Wix on Mar 17, 2007  (view change)
Labels: 
(None)


Annotate Geometry

Overview

Annotation can provide for geometry that can have globally unique identification and that can also have attached property sets. This can be useful in a number of cases where geometric representation items are used to describe particular ideas within a model that require such identification and that may have additional properties but for which it may not be appropriate at this time to include fully semantically defined entities.
Operationally, annotation geometry provides similar features to those found in generalised CAD systems whereby a geometric item is qualified by extended data (as opposed to the more general semantic definition within IFC that defines an entity first and considers shape representation to be a property).

In IFC, annotation geometry can provide specific 0D, 1D, 2D, and 3D geometric items as annotation points, curves, surfaces and volumes. Guidance on the usage of each of these types is shown below. More specific detail of values that should be assigned to attributes and property sets that may be attached to annotation geometry are given in the exchange requirements that use the services of this functional part. Within the exchange requirements, reference to particular dimensional usage of annotation geometry is given as a parameter to the functional part request as:

-          fp_annotate_geometry[representation] where representation stands for the specific geometric representation used and identified from other functional parts 
Examples of the usage of annotation geometry that may be further elaborated in exchange requirements include:

-          Datum points for sites, buildings etc.

-          Survey points

-          Lines of constant value for contours

-          Sightlines
 

Results

Representation of annotation geometry that is qualified through the provision of a globally unique identifier and to which property sets can be attached.
 
 

Description Entity/Pset/Functional Part MAN REC OPT
Define the placement for the annotation.
 
Placement may be specifically referenced or it may be considered in terms of the coordinates of the underlying geometric representation
fp_place_object    
Define the particular geometric representation item that is to form the basis of the annotation geometry.      
For a 0D geometric representation that is a point. fp_represent_cartesian_point      
For a 1D geometric representation that is a line fp_represent_line      
For a 1D geometric representation that is a polyline fp_represent_polyline      
For a 1D geometric representation that is a trimmed curve fp_represent_trimmed_curve      
For a 1D geometric representation that is a composite curve fp_represent_composite_curve      
For a 1D geometric representation that is a b sline curve fp_represent_b_spline_curve      
For a 2D geometric representation that is a face based surface model fp_represent_face_based_surface_model      
For a 2D geometric representation that is a shell based surface model fp_represent_shell_based_surface_model      
For a 3D geometric representation that is a facetted boundary representation. Fp_represent_facetted_brep_solid_model      
Assign the geometric representation item as the shape representation.
 
Note that for annotation geometry, the set of representation items that form the shape representation shall contain only one member.
IfcShapeRepresentation.RepresentationItems::<representation as selected>    
Set the geometric representation context of the shape representation.
The representation context identifier may be specified.
Then representation context type should be specified according to the circumstances in which the functional part is being used. Context type should be established by agreement between implementers.
IfcRepresentation.ContextOfItems::fp_geometric_representation_context    
Set the representation identifier for the annotation
For annotation geometry, the value of the shape representation identifier must be asserted and should be set to 'Annotation'
IfcShapeRepresentation.RepresentationIdentifier
where
RepresentationIdentifier = 'Annotation'
   
Set the representation type for the annotation
The type of the shape representation must be asserted and should be set according to the type of geometric representation used. These are further defined in exchange requirements
IfcShapeRepresentation.RepresentationType    
Assign the shape representation as a product representation.
 
Note that for annotation geometry, the set of representations that form the product representation shall contain only one member.
IfcProductRepresentation.Representations    
Additional information for the product representation may be given through the name and description attributes. IfcProductRepresentataion.Name
IfcProductRepresentation.Description
   
Assign the geometric representation item to an annotation occurrence IfcAnnotation.Representation ::IfcProductRepresentation    
Identify the object type to be used for the annotation.
 
Specific values for the object type attribute are specified in particular exchange requirements. Note that this value is used to denote the semantic meaning of the annotation geometry.
IfcAnnotation.ObjectType    
Apply the owner history information IfcAnnotation.OwnerHistory::fp_apply_owner_history    
An informative name and description may be given to the annotation if required.
 
This can be valuable in further qualifying the role and purpose of the annotation geometry.
IfcAnnotation.Name
IfcAnnotation.Description
   
Note that annotation may be related to a particular spatial structure
 
Although reference to this functional part is shown as optional, it is expected that it will be asserted in most cases.
fp_contains_in_spatial_structure    

 

IFC Entities Required

  • IfcAnnotation
  • IfcGeometricRepresentationItem
  • IfcObject
  • IfcObjectDefinition
  • IfcProduct
  • IfcProductRepresentation
  • IfcRepresentationItem
  • IfcRepresentation
  • IfcRoot
  • IfcShapeRepresentation

IFC Datatypes Required

  • IfcGloballyUniqueId
  • IfcLabel
  • IfcText

IFC Functions Required

  • -

IDM Functional Parts Required

  • fp_apply_owner_history
  • fp_place_object
  • fp_repesent_b_spline_curve
  • fp_represent_cartesian_point
  • fp_represent_composite_curve
  • fp_represent_face_based_surface_model
  • fp_represent_faceted_brep_solid_model
  • fp_represent_line
  • fp_represent_polyline
  • fp_represent_shell_based_surface_model
  • fp_represent_trimmed_curve
  • fp_set_geometric_representation_context

EXPRESS-G

EXPRESS Schema

SCHEMA FP_ANNOTATE_GEOMETRY;



TYPE IfcGloballyUniqueId = STRING (22) FIXED;

END_TYPE;

TYPE IfcLabel = STRING;

END_TYPE;

TYPE IfcText = STRING;

END_TYPE;

ENTITY IfcGeometricRepresentationItem

ABSTRACT SUPERTYPE

SUBTYPE OF(IfcRepresentationItem);

END_ENTITY;

ENTITY IfcRepresentationItem

ABSTRACT SUPERTYPE;

END_ENTITY;

ENTITY IfcRepresentation;

RepresentationIdentifier : OPTIONAL IfcLabel;

RepresentationType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : OPTIONAL IfcLabel;

SET \[1:?\] OF IfcRepresentationItem;

ContextOfItems : fp_set_geometric_representation_context;

INVERSE

OfProductRepresentation&nbsp; : SET \[0:1\] OF IfcProductRepresentation FOR Representations;

END_ENTITY;

ENTITY IfcShapeRepresentation

SUBTYPE OF(IfcRepresentation);

WHERE

WR21 : 'IFC2X2_FINAL.IFCGEOMETRICREPRESENTATIONCONTEXT'

IN TYPEOF(SELF\IfcRepresentation.ContextOfItems);

WR22 : SIZEOF(QUERY(temp <\* Items \|

('IFC2X2_FINAL.IFCTOPOLOGICALREPRESENTATIONITEM' IN TYPEOF(temp))

AND (NOT(SIZEOF(

['IFC2X2_FINAL.IFCVERTEXPOINT',

'IFC2X2_FINAL.IFCEDGECURVE',

'IFC2X2_FINAL.IFCFACESURFACE'\] * TYPEOF(temp)) = 1))

 )) = 0;

WR23 : EXISTS(SELF\IfcRepresentation.RepresentationType);

WR24 : IfcShapeRepresentationTypes(SELF\IfcRepresentation.RepresentationType, SELF\IfcRepresentation.Items);

END_ENTITY;

ENTITY fp_set_geometric_representation_context;

INVERSE

RepresentationsInContext : SET OF IfcRepresentation FOR ContextOfItems;

END_ENTITY;

ENTITY IfcProductRepresentation;

 : OPTIONAL IfcLabel;

 : OPTIONAL IfcText;

Representations : LIST \[1:?\] OF IfcRepresentation;

END_ENTITY;

ENTITY IfcProduct

ABSTRACT SUPERTYPE

SUBTYPE OF(IfcObject);

Representation : OPTIONAL IfcProductRepresentation;

WHERE

WR1 : (EXISTS(Representation) AND EXISTS(ObjectPlacement))

OR (EXISTS(Representation) AND

(NOT('IFC2X2_FINAL.IFCPRODUCTDEFINITIONSHAPE' IN TYPEOF(Representation))))

OR (NOT(EXISTS(Representation)));

END_ENTITY;

ENTITY IfcObject

ABSTRACT SUPERTYPE

SUBTYPE OF(IfcObjectDefinition);

ObjectType : OPTIONAL IfcLabel;

WHERE

WR1 : SIZEOF(QUERY(temp <\* IsDefinedBy \| 'IFC2X2_FINAL.IFCRELDEFINESBYTYPE' IN TYPEOF(temp))) <= 1;

END_ENTITY;

ENTITY IfcObjectDefinition

SUBTYPE OF(IfcRoot);

END_ENTITY;

ENTITY IfcRoot

ABSTRACT SUPERTYPE;

GlobalId : IfcGloballyUniqueId;

Name : OPTIONAL IfcLabel;

Description&nbsp; : OPTIONAL IfcText;

OwnerHistory : fp_apply_owner_history;

UNIQUE

UR1 : GlobalId;

END_ENTITY;

ENTITY fp_apply_owner_history;

END_ENTITY;

ENTITY IfcAnnotation

SUBTYPE OF(IfcProduct);

END_ENTITY;

ENTITY fp_place_object;

END_ENTITY;

ENTITY fp_represent_line;

END_ENTITY;

ENTITY fp_represent_polyline;

END_ENTITY;

ENTITY fp_represent_trimmed_curve;

END_ENTITY;

ENTITY fp_represent_composite_curve;

END_ENTITY;

ENTITY fp_represent_b_spline_curve;

END_ENTITY;

ENTITY fp_represent_cartesian_point;

END_ENTITY;



ENTITY fp_represent_face_based_surface_model;

END_ENTITY;



ENTITY fp_represent_shell_based_surface_model;

END_ENTITY;

ENTITY fp_represent_faceted_brep_solid_model;

END_ENTITY;

ENTITY fp_contains_in_spatial_structure;

END_ENTITY;

END_SCHEMA;

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.1.3 Build:#408 Jan 23, 2006) - Bug/feature request - Contact Administrators