Geometric Control – Difference Model¶
Difference Model¶
You can create a difference model either as a point cloud or a triangle net. If you check a theoretical model with a point cloud, the result will be a point cloud. If you check a theoretical model with a triangle net, the result will be a triangle net. You cannot use layers in models as the theoretical model. Triangle nets in models must first be copied to the application layer.
It is always straightforward to check triangle nets copied from Gemini models, but triangle nets from CAD systems may have a structure that can cause problems, as described in a separate section below.
To check surfaces in Gemini models for roads, intersections, and pits, you must first copy the surfaces to the application layer as triangle nets. Use the Copy geometry from command list function to the application layer for this purpose.
Example¶
![]()
- Max. distance of interest: 0.5 m
- Min. tolerance: 50 mm
- Max. tolerance: 100 mm
- 7 intervals

After the check, you will see key figures in the horizontal list window. The properties displayed depend on whether the result is a point cloud or a triangle net.
Point Cloud¶
| Attribute | Code | Description |
|---|---|---|
| S_JOBRESULT | S10 Geometric control accepted | Point cloud for accepted points |
| S13 Geometric control rejected low | Point cloud for rejected points outside the minimum tolerance | |
| S14 Geometric control rejected high | Point cloud for rejected points outside the maximum tolerance | |
| MinTolerance | Minimum tolerance | |
| MaxTolerance | Maximum tolerance | |
| MeanDistance | Average distance from point to triangle net | |
| StdDev | Standard deviation for the points | |
| Accepted | Percentage of points accepted in the check | |
| PointsTested | Number of points included in the check | |
| Percentage | Percentage of checked points within the intervals rejected low, accepted, and rejected high. This number will be 100 if you do not select separate point clouds |
S13 and S14 are generated when Create separate point cloud for points outside tolerance is selected.
You may notice that PointsTested can differ from the number of points in the point cloud. PointsTested, or the point selection, includes all points in the point cloud except those outside the maximum distance of interest.
![]()
Color information is written to all points, providing a graphical representation of deviations in both plan and 3D views.
Triangle Net¶
In this case, the triangle net objects in the result receive the attribute DifferenceModelPart. You get a triangle net for each interval, for example, Rejected low, Accepted, and Rejected high if you have selected three intervals. In addition, you get a triangle net with the attribute value Outside for those parts of the measured model that are outside the theoretical model.
Legend¶
A legend is also created, which you can insert into the model or on presentation drawings.

Example of a legend
For presentation drawings, you should not use map extracts when you have point clouds. These can quickly become large vector files that are cumbersome to work with. We recommend exporting the 3D view to an image file (File - Export - Image file...) and inserting this (Insert - Various files - Insert file...) instead of a map extract.
triangle nets That Do Not Form a Complete Surface¶
The triangle net must form a complete surface (manifold surface), meaning that a triangle can only have one neighboring triangle. An example where edge lines can have multiple triangles is two triangle boxes stacked on top of each other.

Two triangle boxes stacked on top of each other can result in multiple neighboring triangles
Triangles must also not overlap, as this does not make sense in a geometric control.
If the triangle net does not meet these requirements, the program will issue a warning and report how many triangles are excluded from the check.
Currently, such triangle nets must be cleaned up manually.
Suggested Workaround¶
Here is a suggestion that works for situations where you need to check vertical walls:
Workaround
- Select the triangle net and choose Explode object(s) from the right mouse button menu.
- Sort the triangles by area and select all with 2D area = 0 (i.e., vertical surfaces).
- Choose Reverse selection from the right mouse button menu and delete the selection.
- Select the triangles and choose Join objects from the right mouse button menu.
Another workaround is to sort the triangles by 3D area so that the largest are at the top of the list. When you then join them again, the largest will be first in the triangle net and thus included in the check.