MODTRI Process
To access this process:
- Enter "MODTRI" into the Command Line and press ENTER.
-
Display the Find Command screen, locate MODTRI and click Run.
See this process in the Command Table.
Process Overview
Convert the visible faces of a regular or sub-celled block model to triangulated wireframe surfaces. The block model is interpreted as a solid model.
Note: This process is much faster than the BLKTRI process and will work better on larger models.
Each selected input model record is treated as an occupied cuboid. MODTRI compares each cell face with neighbouring cells and writes triangles only for faces, or parts of faces, that remain visible.
Internal faces between touching or nearly touching cells are removed. In solid mode, surfaces around enclosed voids are also written and their normals are oriented inwards into the cavity.
You can create full solid shells, top surfaces, bottom surfaces, or combined top and bottom surfaces. Surface extraction can be controlled for solid, plan, east-west section, or north-south section interpretation.
If a ZONE field is supplied, each distinct zone is processed independently. Cells in different zones do not hide each other, the zone value is written to the output triangle file, and one zone can still produce multiple disconnected SURFACE identifiers.
Selected input fields can also be copied to the output triangle file, and an additional output field can be created and populated with a fixed value for downstream workflows.
If the block model is a standard rotated block model then the additional fields X0, Y0, Z0, ANGLE1, ANGLE2, ANGLE3, ROTAXIS1, ROTAXIS2, and ROTAXIS3 are used to calculate the wireframe position.
The standard wireframe GROUP, SURFACE, adjacency and orientation data is output to the wireframe files. Normals for void surfaces will face inwards and can be used in Studio 3 evaluation processes to automatically exclude the evaluation of the void volume.
Input Files
|
Name |
Description |
I/O Status |
Required |
Type |
|
IN |
Input model file. Must contain fields XC, YC, ZC, XINC, YINC, ZINC, XMORIG, YMORIG, ZMORIG, NY, NZ, and IJK. If it is a Rotated Model then it must also include the fields X0, Y0, Z0, ANGLE1, ANGLE2, ANGLE3, ROTAXIS1, ROTAXIS2, and ROTAXIS3. |
Input |
Yes |
Block Model |
Output Files
|
Name |
I/O Status |
Required |
Type |
Description |
|
WIRETR |
Output wireframe triangle file. |
Output |
Yes |
Wireframe Triangle. Standard triangle topology fields are written. Additional fields can also be written using *ZONE, *FLD1 to *FLD5, and *WTOUTFLD. |
|
WIREPT |
Output wireframe point file. |
Output |
Yes |
Wireframe Points |
Optional Fields
|
Name |
Description |
Required |
Type |
|
ZONE |
Optional input field used to define separate processing zones. Cells in different zones do not hide each other. The field can be numeric or alphanumeric and is copied to WIRETR. |
No |
Numeric or Alpha |
|
FLD1 to FLD5 |
Optional input fields copied to WIRETR. Triangle attribute values are derived from the source block-model cell that generated each triangle. |
No |
Field names |
|
WTOUTFLD |
Optional new numeric output field added to WIRETR. Its value is set using @WTOUTVAL. |
No |
Field name |
Parameters
|
Name |
Description |
Required |
Default |
Range |
Values |
|
SURFACE |
Defines which visible surfaces are written. 1 = all visible solid faces. 2 = bottom surface only. 3 = top surface only. 4 = both top and bottom surfaces. |
No |
1 |
1,4 |
1,2,3,4 |
|
PLANE |
Defines the active top and bottom direction when @SURFACE is 2, 3, or 4. 0 = solid-model convention using Z. 1 = XY plane using Z. 2 = XZ plane using Y. 3 = YZ plane using X. |
No |
0 |
0,3 |
0,1,2,3 |
|
COLOUR |
Colour value written to the output triangle file. Values below 1 are raised to 1. |
No |
1 |
1+ |
Numeric |
|
TOLERNCE |
Gap-closing factor used when deciding whether very small gaps between neighbouring cells should be treated as closed. The parameter name is spelt TOLERNCE. |
No |
0.001 |
0+ |
Numeric |
|
WTOUTVAL |
Numeric value written to the output field named by *WTOUTFLD. |
No |
1.0 |
Undefined |
Numeric |
Example
Wireframe a single zone from a grade sub-cell model.
!GENTRA &IN(MODEL),&OUT(TEMP)
SETC ZONE 0
GTC CU 1; SETC ZONE 1
GTC CU 3; SETC ZONE 3
GTC CU 5; SETC ZONE 5
END
OK
!MODTRI &IN(TEMP),&WIREPT(WIREPT),&WIRETR(WIRETR),ZONE=
3
Related topics and activities
