Union two DTMs
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.
To run this function: Choose Solids > Solids tools > File Intersection > Union solids, or...
This function operates on objects that exist in files and saves the result to a new DTM file. In addition to the trisolations that are created from the intersection, the line of contact between the 2 3DMs may be saved to a specified string number if required.
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.
This function could be used, for example, to model bifurcating ore bodies or to combine a new tunnel with an existing tunnel network.
This function allows you to display the UNION 2 3DMs TO CREATE A NEW 3DM form.
Define the first object
Location, Id number, Object number, Trisolation number
The first trisolation that is to be used must be defined by entering a suitable value for each of these fields to define the file, object and trisolation of interest.
Retain other trisolations
By responding with Y to this field any other trisolations that may exist in this file will be copied into the result file. By responding with N to this field, only the intersection results will be saved to the result file.
Define the second object
Location, Id number, Object number, Trisolation number
The second trisolation that is to be used must be defined by entering a suitable value for each of these fields to define the file, object and trisolation of interest.
Define the result file to be created
Location, Id number, Object number, Add. object number
The result of the intersection will be saved to the file and object number(s) defined by these inputs.
Contact string
The line of contact, represented by a string of 1 or more segments may also be saved to the resultant string file that is created. Enter the string number that the line of contact is to be saved as. To prevent the contact line from being saved a string number of zero may be entered.
Complete the UNION 2 3DMs TO CREATE A NEW 3DM form and choose Apply to perform the intersection.
Processing
The specified DTM files are loaded and the trisolations are intersected to produce the desired result. On completion of the intersection process the results are saved to the specified DTM and string files, including a string representing the line of contact if it was requested.
More detailed information on some of the processing methods of this function can be found in the section on Trisolation Intersections where a function that mimics the behaviour of this function, in a 3D Graphics environment, exists.
Result
The result of this operation will be stored in the objects defined by the entered 'Object number' and 'Add. 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 'Add. 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 'Add. 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 'Add. object number' will contain the second input trisolation.
The neighbour list of the result trisolations are set automatically and the direction of the trisolation is set to SOLID by default. The line of contact will also exist with the string number requested, provided it was not zero.
This function has proved to be robust in the vast majority of cases. However for certain data sets you may find that the function either exits with a warning message during processing or produces a result which is not closed as expected. These errors will have occurred because the function has had difficulty in creating new triangles along the line of intersection of the two trisolations to join them together smoothly. These problems arise due to one of the following situations:
- a vertex of a triangle in one of the trisolations is very close to a vertex of a triangle of the other trisolation;
- a vertex of a triangle in one of the trisolations is very close to an edge of a triangle of the other trisolation;
- an edge of a triangle in one of the trisolations is very close to an edge of a triangle of the other trisolation.
The recommended course of action is to display the 2 trisolations in the 3D Graphics module and examine the region (or regions) where the two trisolations intersect to check for these conditions and make appropriate adjustments to correct the problem. Note you should only need to move vertices in the region(s) where the two trisolations intersect. After making some changes, and saving them of course, attempt to perform the intersection again.
An alternative course of action is to use String Maths to shift all the points of one of the trisolations by a small amount, e.g. at the second or third decimal place, and attempt the intersection again.
Warning
There is no region of intersection
between the two trisolations
No result will be created since an intersection cannot be found.
Errors
The first group of error messages are associated with sanity checks on the input data:
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 shift the position of triangle vertices of one of the trisolations slightly.
The line of intersection is not
closed
It is a prerequisite of the Trisolation intersection functions that the line of intersection between the two trisolations is closed. If this is not so then the intersection cannot be performed.
Fatal retriangulation error
Fatal error in calculations module
The recommended course of action is to shift the position of triangle vertices of one of the trisolations slightly. This process was described in detail above.
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.