Log In   View a printable version of the current page.
Represent Point Based Surface Model (FP)
Added by Janice Wix, last edited by Janice Wix on Feb 11, 2007  (view change)
Labels: 
(None)


Represent Point Based Surface Model

Overview

Identifies the information requirements for a surface representation through the provision of points and, optionally, breaklines.
A point based surface model may be obtained from:

  • the results of a survey
  • a sample set of points derived from an existing map
  • other point based representation of a spatial region
    Points may be simple geometric points identified in terms of their coordinates or they may be qualified annotation points that have a unique identifier for reference (in which case they have an underlying simple geometric point). In this functional part, only the underlying point representation is considered.
    Breaklines are restricted to only connect points given in the set of survey points. Breaklines, if given, are used to constrain the triangulation

Results

A point based representation is provided from which a surface model may be derived. The representation may contain breaklines.

The following table describes representing a point based surface model in IFC 2x2

Description Entity/Pset/Functional Part MAN REC OPT
Determine the set of points and their location coordinates.
Points are given as 3D cartesian points within the coordinate system of the spatial region concerned.
IfcCartesianPoint.Coordinates::IfcLengthMeasure    
Derive dimensionality of points
Note that the dimensionality of the points is determined by the number of coordinates given (2 or 3)
IfcCartesianPoint.Dim::IfcDimensionCount    
Determine the set of break lines between Cartesian points.
Breaklines should be specified by occurrences of IfcPolyline. The points defining the breakline polyline should already exist as occurrences of the set of points identified.
Dimensionality of break lines should be set to 3.
IfcPolyline.Points::IfcCartesianPoint    
Create a geometric set
Collect together the occurrences of cartesian points and break lines into a geometric set
IfcGeometricSet.Elements::IfcCartesianPoint    
Derive dimensionality of the geometric set
The value of the dimensionality of the geometric set is derived from the value of the dimensionality of the first item in the set of elements within the geometric set. This is determined by the WHERE rule on the entity IfcGeometricSet. It should default to a value of 3 (for a 3 dimensional geometric set)
IfcGeometricSet.Dim::IfcDimensionCount    
Identify a shape representation for the point model.
Specific values of the identifier for the representation are given in exchange requirements.
IfcShapeRepresentation.RepresentationIdentifier::IfcLabel    
Identify a shape type for the point model.
Specific values of the type for the representation are given in exchange requirements.
IfcShapeRepresentation.RepresentationType::IfcLabel    
Assign the geometric set of points and break lines to the shape representation. IfcShapeRepresentation.Items::IfcGeometricSet    

The following table describes modifications that enable an alternative (and recommended) way representing a point based surface model in IFC 2x3 and above

Description Entity/Pset/Functional Part MAN REC OPT
Establish the annotation points
Each annotation point is uniquely identified and established.
       

Set the global unique identifier

IfcAnnotation.GlobalId::IfcGloballyUniqueId    

Apply the owner history

IfcAnnotation.OwnerHistory::fp_apply_owner_history    

Specify the name of the site

IfcAnnotation.Name::IfcLabel    

Specify the description for the site

IfcAnnotation.Description::IfcText    
Get the set of points        

Determine the set of points and their location coordinates.


For points given as IfcAnnotation, there will be a 1:1 correlation with an IfcCartesianPoint and this should be determined for the point based representation.

Points are given as 3D cartesian points within the coordinate system of the spatial region concerned.

IfcAnnotation.Representation::fp_represent_annotation[point]    

The collection of Cartesian points into a geometric set

       

IFC Entities Required

  • IfcAnnotation (** IFC 2x3 and above only)
  • IfcBoundedCurve
  • IfcCartesianPoint
  • IfcCurve
  • IfcGeometricRepresentationItem
  • IfcGeometricSet
  • IfcPoint
  • IfcPolyline
  • IfcRepresentationItem

IFC Datatypes Required

  • IfcDimensionCount
  • IfcGeometricSetSelect
  • IfcGloballyUniqueId (** IFC 2x3 and above only)
  • IfcLabel
  • IfcLengthMeasure
  • IfcText (** IFC 2x3 and above only)

IFC Functions Required

  • -

IDM Functional Parts Required

  • fp_apply_owner_history (** IFC 2x3 and above only)
  • fp_represent_annotation[point] (** IFC 2x3 and above only)

EXPRESS-G

The graphical notation corresponds to the IFC 2x2 release only at this point

EXPRESS Schema

The schema corresponds to the IFC 2x2 release only at this point

SCHEMA FP_REPRESENT_POINT_BASED_SURFACE_MODEL;

  TYPE IfcDimensionCount = INTEGER;
    WHERE
      WR1 : { 0 < SELF <= 3 };
  END_TYPE;

  TYPE IfcLengthMeasure = REAL;
  END_TYPE;

  TYPE IfcGeometricSetSelect = SELECT
    (IfcPoint,
     IfcCurve);
  END_TYPE;

  ENTITY IfcGeometricRepresentationItem
    ABSTRACT SUPERTYPE OF (ONEOF(IfcCurve, IfcPoint))
    SUBTYPE OF(IfcRepresentationItem);
  END_ENTITY;

  ENTITY IfcRepresentationItem
    ABSTRACT SUPERTYPE;
  END_ENTITY;

  ENTITY IfcCurve
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcGeometricRepresentationItem);
    DERIVE
      Dim : IfcDimensionCount := IfcCurveDim(SELF);
  END_ENTITY;

  ENTITY IfcBoundedCurve
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcCurve);
  END_ENTITY;

  ENTITY IfcPolyline
    SUBTYPE OF(IfcBoundedCurve);
      Points : LIST [2:?] OF IfcCartesianPoint;
    WHERE
      WR41 : SIZEOF(QUERY(Temp <* Points | Temp.Dim <> Points[1].Dim)) = 0;
  END_ENTITY;

  ENTITY IfcCartesianPoint
    SUBTYPE OF(IfcPoint);
      Coordinates : LIST [1:3] OF IfcLengthMeasure;
    DERIVE
      Dim         : IfcDimensionCount := HIINDEX(Coordinates);
    WHERE
      WR1 : HIINDEX(Coordinates) >= 2;
  END_ENTITY;

  ENTITY IfcPoint
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcGeometricRepresentationItem);
  END_ENTITY;

  ENTITY IfcGeometricSet;
      Elements : SET [1:?] OF IfcGeometricSetSelect;
    DERIVE
      Dim      : IfcDimensionCount := Elements[1].Dim;
    WHERE
      WR21 : SIZEOF(QUERY(Temp <* Elements | Temp.Dim <> Elements[1].Dim)) = 0;
  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