Terrain Models - dd-bim/City2BIM GitHub Wiki

The shape of a terrain can be described in three different ways. To link an Object with its geometric representation, the entity IfcShapeRepresentation is used. In the IFC 2x3 scheme, this can be done very easy be using IfcGeometricCurveSet or more complex with IfcShellBasedSurfaceModel. With IFC4 the representation via IfcTriangulatedFaceSet is possible.

Overview

The following table gives you a overview about the shape settings (adapted form Romanschek et al., 2019):

IfcGeometric-CurveSet IfcShellBased-SurfaceModel IfcTriangulated-FaceSet IfcIrregular-TriangulatedFaceSet
Grid possible no no no
Points possible no no no
Points & breaklines best no no no
TIN possible good best best
TIN with explicit break edges, holes and voids no no no best

The following graphic shows Concepts for Geometric Representation that IFCTerrain is able to export:

Shape Representation Overview

Simplified: Geometric Curve Set (left) - Shell Based Surface Model (middle) - Triangulated Face Set (right)

Shape Representation schematic

IfcGeometricCurveSet

According to the entity definition,

"The IfcGeometricCurveSet is used for the exchange of shape representation of a collection of (2D or 3D) points and curves only".

It contains a list of elements that form the shape representation of the IfcGeometricCurveSet object. Contrary to the IfcGeometricSet from which it inherits the element list, IfcGeometricCurveSet can not have surface objects in its geometric set. It consists stricly of points and curves as stated above.

IfcGeometricCurveSet - buildingSMART

IfcShellBasedSurfaceModel

IfcShellBasedSurfaceModel represents a shape by a set of open or closed shells. The singular shells themselves have a dimensionality of 2 and shall not overlap each other. The complete IfcShellBasedSurfaceModel has a dimensionality of 3.

IfcShellBasedSurfaceModel - buildingSMART

IfcTriangulatedFaceSet

NOTE: The type IfcTriangulatedFaceSet is only available in schema IFC4 and NOT in IFC2x3!

The IfcTriangulatedFaceSet is a tessellated face set with all faces being bound by triangles.

The faces are constructed by implicit polylines defined by three Cartesian points. The coordinates of each point are provided by an index into an ordered list of Cartesian points provided by the two-dimensional list CoordIndex, where

  • the first dimension of the two-dimensional list addresses the list of triangular faces
  • the second dimension of the two-dimensional list provides exactly three indices into the IfcCartesianPointList referenced by Coordinates defined at the supertype IfcTessellatedFaceSet. Each index points to a Cartesian point being a vertex of the triangle.

IfcTriangulatedFaceSet - buildingSMART

IfcTriangulatedIrregularNetwork

Is planned, but not implemented yet.

IfcTriangulatedIrregularNetwork - buildingSMART

⚠️ **GitHub.com Fallback** ⚠️