Create solid by intersecting 2 DTMs
This function creates a 3DM by intersecting triangles in the two source DTMs and saving the triangles from the first (upper) DTM which are above the second DTM and inside the line of intersection between the two DTMs and the triangles from the second (lower) DTM which are below the first DTM and inside the line of intersection between the two DTMs.
To run this function: Choose Surfaces > Clip or intersect DTMs > Create solid by intersecting 2 DTMs, or Solids > Solids tools > File intersection > Intersect two DTMs to create a solid, or...
The intersection process is demonstrated by considering a cross section through two intersecting DTMs.
|
1. upper DTM 2. lower DTM 3. resulting intersect DTM |
If there is no actual region of intersection between the triangles of the two trisolations the function will give no result.
This function could be used, for example, to combine a ground terrain profile with a proposed pit profile to find the volume of material which must be extracted to create the pit.
Graphics layer name
Enter the name of the graphics layer in which the resultant trisolation will be stored. This must be a new graphics layer, that is, it cannot be the same as any layer currently in the system.
Object number
Enter the object number for the resultant trisolations.
Complete the DTM/DTM INTERSECT RESULTS STORAGE form and choose Apply to display the prompt:
select upper trisolation
Position the pointer and select the upper trisolation. This will display the prompt:
select lower trisolation
For this function the upper trisolation must be selected first and the lower trisolation must be selected second.
Note: If you select the lower trisolation first and the upper trisolation second the function will proceed but the results will not necessarily be 3DMs.
Processing
The triangles of each of the trisolations are intersected and subdivided to create a network of triangles which share common edges.
Triangles are then deleted from each of the modified trisolations. The triangles which are deleted are determined using the triangle retention criterion stated at the start of this section. Finally the remaining triangles are combined to give the resultant object.
While the triangle intersections are being performed, two triangles may be found that intersect to form a very small intersection segment (less than 0.001 units). If not corrected this could lead to numerical error in the calculations. To combat this the functions use CONSOLIDATION, a process where triangle vertices are moved fractionally (at most at a third decimal place level) to avoid a very small intersection segment. Once CONSOLIDATION has occurred the triangle intersection process restarts. The limit on the number of times CONSOLIDATION is allowed is 50. If this level is reached the function will terminate with an error message.
Messages
If CONSOLIDATION occurs during the triangle intersection process the following messages will appear and the triangle intersection process will be restarted:
Trisolation consolidation has occurred, first trisolation count = xxx, second trisolation count = yyy
Restarting triangle intersection process
Result
The result of this operation is a series of N distinct 3DMs stored as trisolations 1 to N of the specified object number. The neighbour list of each of the trisolations is set automatically and the direction of each of the trisolations is set to SOLID by default. The two source trisolations are erased from the screen and are replaced by the resultant trisolation. The original source trisolations are not altered or deleted and can easily be redisplayed.
The newly created object is not saved to a file automatically. To do so you must save using Save File.
The debug files "consolidation_triangles1.str" and "bad_triangle1.str"
To act as a guide to help you resolve any problems that might occur to prevent the intersection function completing, Surpac outputs the vertices of any problem triangles encountered in the two debug string files consolidation_triangles1.str and bad_triangle1.str. For more details on the use of these debug files see here.
Warning
There is no region of intersection between the two trisolations
Errors
The first group of error messages are associated with sanity checks on the input data:
This layer is currently in the system. A brand new layer must be chosen for the results
Same trisolation has been chosen twice
This prohibits double clicking on the same trisolation.
The first trisolation is closed and is therefore not a valid DTM
By definition a DTM cannot be closed.
The second trisolation is closed and is therefore not a valid DTM
By definition a DTM cannot be closed.
The selected were not created on the same plane.
The DTMs used must be created on the same plane. Choose different DTMs, recreate the DTMs on the same plane, or transform the data in one of the DTMs to match the plane of the other.
The next group of error messages are associated with errors which arise during the calculations:
The maximum number of consolidations has occurred
More than 50 CONSOLIDATION restarts have occurred. The recommended course of action is to use the debug string files consolidation_triangles1.str and bad_triangle1.str to manually correct the problems see here.
The line of intersection is not closed
It is a prerequisite of the Intersect Trisolations functions that the line of intersection between the two trisolations is closed.
Fatal retriangulation error
Fatal error in calculations module
The recommended course of action is to use the debug string files consolidation_triangles1.str and bad_triangle1.str to manually correct the problems see here.
Extent of data is too large to give accurate results with current settings
The spread of the data is too large to give accurate results with the current settings of the sensitivity parameters in the CONSOLIDATION module. To comply with the current settings (that is, the minimum intersection segment length of 0.001 units), the spread of the data must not exceed 100000 units.