Union solids
This function creates a new 3DM by intersecting two 3DMs and saving the triangles of the first 3DM which are outside the second 3DM and the triangles of the second 3DM which are outside the first 3DM.
This function could be used, for example, to model bifurcating ore bodies or to combine a new tunnel with an existing tunnel network.
To run this function: Choose Solids > Solids tools > Union solids, or...
If there is no actual region of intersection between the triangles of the two trisolations the function will store the appropriate combination of the two input trisolations as the result. See the Result section below for more information.
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 trisolation. If there is an area of intersection between the triangles of the two trisolations then this object will contain all the result trisolations. See the Result section below for more information.
Additional object number
Enter the additional object number for the resultant trisolation. If there is an area of intersection between the triangles of the two trisolations then this object will be empty. See the Result section below for more information.
Complete the 3DM/3DM UNION RESULTS STORAGE form and choose Apply to display the prompt:
Select first trisolation
Position the pointer and select the first trisolation. This will display the prompt:
Select second trisolation
For this function the order of selection is not important.
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 will be stored in the objects defined by the entered 'Object number' and 'Additional object number' parameters. This results storage occurs in the following way: If there is an area of intersection between the triangles of the two trisolations then the object defined by 'Object number' will contain the result trisolations. If there is no intersection between the two trisolations and one trisolation is wholly contained by the other trisolation then 'Object number' will contain the outer trisolation. If there is no intersection between the two trisolations and one trisolation is not wholly contained by the other trisolation then 'Object number' will contain the first input trisolation. If there is an area of intersection between the triangles of the two trisolations then the object defined by 'Additional object number' will be empty. If there is no intersection between the two trisolations and one trisolation is wholly contained by the other trisolation then 'Additional object number' will be empty. If there is no intersection between the triangles of the two trisolations and neither trisolation is wholly contained by the other trisolation then 'Additional object number' will contain the second input trisolation.
The neighbour list of the trisolation is set automatically and the direction of the trisolation 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 neighbours of the first trisolation have not been set
The neighbours of the second trisolation have not been set
The first trisolation is not closed
The second trisolation is not closed
The direction of the first trisolation has not been set
The direction of the second trisolation has not been set
The neighbours and the directions for the two trisolations should be set using the Validate functions.
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 (i.e. the minimum intersection segment length of 0.001 units), the spread of the data must not exceed 100000 units.
Note:If either of the input trisolations has validated=false, then the function will exit with an error message. If either of the input trisolations has not had the validated flag set yet then the WARNING: 3DM NOT YET FORMALLY VALIDATED form will be displayed.