You are here: Menu Commands > Solids > Solids tools > File intersection > Intersect solids
GEOVIA Surpac

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...

  • In the Function Chooser, type TRISOLATION FILE 3DM/3DM INTERSECT, and press ENTER.

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
  • Selected: Any other trisolations that exist in this file are copied to the results file.
  • Cleared: Only the intersection results are saved in the results file.
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
  • Selected: The Object ID numbers of the intersected objects are used to name the result file.
  • Cleared: The Object number and Add. object number fields are used to name the result file.
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
  • Selected: The line of contact between the two 3DMs is saved to a string in the result file.
  • Cleared: The line of contact between the 3DMs is not saved.

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
Fatal error in calculations module
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.