Example of Constraints
A number of constraints examples are described below. These examples include the purpose of the constraint, each of the constraints values (as you would see on the table of the Enter constraints form) and the constraint combination (as you would see in the field of the Enter constraints form).
Constrain to below the natural surface
This example constrains blocks to those occurring below the natural land surface. The land surface is represented by a DTM, nls1.dtm. Because a specific object and trisolation number are not given, they default to the first trisolation in the DTM file.
Constraint values
a) NOT ABOVE DTM nls 1
Constraint combination
(a)
Constrain to be inside a 3DM
This example constrains blocks to those that lie inside a closed solid which are in the files sol1.dtm or sol2.dtm. The default objects and trisolations are all those which are in the specified files provided that they are closed.
Constraint values
a) INSIDE 3DM sol 1,2
Constraint combination
(a)
Constrain to blocks inside a lease boundary
This example constrains blocks to those that lie within a mining lease boundary. The lease boundary is represented by string 9 segment 2 in the file ml1.str. The boundary is extended vertically through the model in the manner of a cookie cutter. If the string and segment numbers had been left blank then all strings and segments from the file would have been used.
Constraint values
a) INSIDE STRING ml 1 9 2 z
Constraint combination
(a)
Constrain blocks to be below a certain elevation
This example constrains blocks to those that lie below an elevation of 500. There are two ways in which this elevation can be expressed. Elevation 500 (Z=500) is equivalent to the plane equation 0x + 0y + 1z - 500 = 0. The more general form of the PLANE constraint is also given.
Constraint values
EITHER
a) NOT ABOVE Z PLANE 500
OR
| xcoeff | ycoeff | zcoeff | const | ||||
| a) | NOT | ABOVE | PLANE | 0 | 0 | 1 | -500 |
Constraint combination
(a)
Constrain to gold above 3g/t and Proven or Probable resource class
This constrains those blocks whose gold value is 3 or greater and are classified as PROVED or PROBABLE. The absence of an entry for the model field forces the use of the current block model by default (you can constrain by block values from another model).
Constraint values
| a) | NOT | < | BLOCK | gold | 3 |
| b) | = | BLOCK | class | PROVED | |
| c) | = | BLOCK | class | PROBABLE |
Constraint combination
(a AND (b OR c))
Constrain using previously saved constraint files
Any constraint can be saved to a constraint (.con) file and can be reapplied later as a constraint. This example intersects two constraint files con1.con and con2.con. This produces only those blocks that are inside con1 and con2.
Constraint values
| a) | INSIDE | con1 |
| b) | INSIDE | con2 |
Constraint combination
(a AND b)
Complex constraint by combining constraint specifications
This example combines constraints using logical expressions. The constraints mimic the classic sectional estimation technique where sectional outlines (all segments of String 1 in files sec2000.str and sec20100.str) are extended halfway to the next section (in the y direction). The constraint expression gives all blocks that are between the limiting planes, and within the outlines, and then combines each of the subsets formed.
Constraint values
| a) | INSIDE | STRING | sec | 20000 | 1 | |
| b) | ABOVE | Y PLANE | 19050 | |||
| c) | NOT | ABOVE | Y PLANE | 20050 | ||
| d) | INSIDE | STRING | sec | 20100 | 1 | |
| e) | ABOVE | Y PLANE | 20050 | |||
| f) | NOT | ABOVE | Y PLANE | 20150 |
Constraint combination
((a AND b AND c) OR (d AND e AND f))