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
- IfcGeometricCurveSet
- IfcShellBasedSurfaceModel
- IfcTriangulatedFaceSet
IfcTriangulatedIrregularNetwork
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:
Simplified: Geometric Curve Set (left) - Shell Based Surface Model (middle) - Triangulated Face Set (right)
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 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
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
Is planned, but not implemented yet.