MODTRI Process

To access this process:

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