Intersect two 3DMs
You use this function to create a new 3DM by intersecting two 3DMs and saving the appropriate combination of the two input trisolations. For example, you can use this function to determine the volume extracted from an ore body by a tunnel or drive. You can save the line of contact between the two 3DMs to a specified string number.
To run this function: Choose Solids > Solids tools > File Intersection > Intersect solids, or...
If there is no 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.
| Field | Description |
|---|---|
| Define the intersected objects | |
| Location | The file name and location for the 3DM you want to intersect. |
| Id number | The ID number of the 3DM you want to intersect. |
| Object range | The objects in the 3DM that you want to intersect. |
| Trisolation range | The trisolations in the 3DM that you want to want to intersect. |
| Retain other trisolations |
|
| Define the intersecting object | |
| Location | The file name and location for the intersecting 3DM. |
| Id number | The ID number for the intersecting 3DM. |
| Object number | The object in the 3DM that you want to use to intersect. |
| Trisolation number | The trisolation in the 3DM that you want to use to intersect. |
| Define result file to be created | |
| Location | The name and location of the file created from the intersection. |
| Id number | The ID number of the file created from the intersection. |
| Use intersected object ID number |
|
| Object number | The object number for the resulting trisolations. |
| Add. object number | The additional object number. This contains the resulting trisolations that are in the region of intersection between the intersecting and intersected 3DMs. |
| Contact string |
|
Result
The result of this operation is a 3DM stored as the specified object number. If there is no area of intersection between the triangles of the two trisolations, and one trisolation is wholly contained within the other trisolation, then the result will be the inner trisolation.
The neighbour list of the trisolation is set automatically and the direction of the trisolation is set to SOLID by default.
Troubleshooting
This function works without errors in the majority of cases. However, for certain data sets you might find that the function either stops with a warning message during processing, or produces a result which is not closed. These errors occur because the function has not been able to create new triangles along the line of intersection of the two trisolations to join them together smoothly. These problems arise because of one of the following conditions:
- a vertex of a triangle of one of the trisolations is very close to a vertex of a triangle of the other trisolation;
- a vertex of a triangle of one of the trisolations is very close to an edge of a triangle of the other trisolation;
- an edge of a triangle of one of the trisolations is very close to an edge of a triangle of the other trisolation.
If you see this error, you should display the two trisolations in Graphics and examine the region (or regions) where the two trisolations intersect to check for these conditions, and make appropriate adjustments to correct the problem. After making some changes, and saving them, you can attempt to perform the intersection again.
An alternative is that you could use String Maths to shift all the points of one of the trisolations by a small amount, for example, at the second or third decimal place, and attempt the intersection again.
| Message | Description |
|---|---|
There is no region of intersection between the two trisolations
|
No result will be created because an intersection cannot be found. |
The neighbours of the first trisolation have not been set
|
The neighbours for the two trisolations should be set using the Validate functions. |
The neighbours of the second trisolation have not been set
|
The neighbours for the two trisolations should be set using the Validate functions. |
The first trisolation is not closed
|
You can check that the two trisolations are closed using the Validate functions. |
The second trisolation is not closed
|
You can check that the two trisolations are closed using the Validate functions. |
The direction of the first trisolation has not been set
|
The directions for the two trisolations should be set using the Validate functions. |
The direction of the second trisolation has not been set
|
The directions for the two trisolations should be set using the Validate functions. |
The maximum number of consolidations has occurred
|
More than 50 CONSOLIDATION restarts have occurred. You can resolve this issue by shifting the position of triangle vertices of one of the trisolations slightly. |
The line of intersection is not closed
|
The line of intersection between the two trisolations must be closed, or the trisolation intersection functions cannot be performed. |
Fatal retriangulation error
|
You need to shift the position of triangle vertices of one of the trisolations slightly. |
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. |
Note: If either of the input trisolations has validated=false, then the function will stop with an error message.
If either of the input trisolations has not had the validated flag set then the WARNING: 3DM NOT YET FORMALLY VALIDATED form is displayed.