You are on page 1of 13

Constraints

Table of Contents

Overview

 What You'll Learn


 Constraints form.
 Loading a Constrained Block Model
 Review
 Where To Next

Overview

One of the very powerful features of Surpac Block Modelling is the ability to apply constraints. Constraints are the
logical combinations of spatial operators and objects and may be used to control the selection of blocks from which
information may be retrieved and/or into which interpolations may be made.

Constraints can be likened to queries made from relational databases and parallels can be seen with the ``query
constraints'' used to select a range of drill holes in the Surpac Geological Database module. The noticeable difference
being that the flexibility of the Block Model constraints ``engine'' is much greater.

Constraints may be as simple or as complex as you like, and are most commonly used when:

 Filling the Block Model with values


 Producing Reports
 Viewing models in Graphics.
 Loading a constrained portion of a model

The choice of spatial operators you have are:


 ABOVE
 INSIDE
 >
 <
 =

The operator you will use will depend on the nature of your objects. In order to reduce the number of spatial operators
, the word `NOT' is used to imply the opposite of an operation. For example, OUTSIDE would be represented by the
expression NOT INSIDE.

The choice of objects you have are:

 Surpac Vision Digital Terrain Model (DTM)


 Surpac Vision Solid Model (3DM)
 Surpac Vision String
 Y , X and Z Planes

/conversion/tmp/scratch/451436810.doc Page 1 of 13
 Oblique Plane (specified by an equation)
 Block value
 Constraint

What You'll Learn

In the following exercises, you will create and save several constraints, and view the results in the Graphics module.
Later, you will use these constraints when interpolating values for the model.

Objective.

To learn the layout of the constraints form.


1. From the Block Modelling menu choose Constraints - New constraint file.
The ENTER CONSTRAINTS form will be displayed. The Make Constraints function allows you to create a constraint
without having to perform any other function (ie. filling the model with values). This form consists of a number of
different parts which bear examining. The key to working with the Surpac block model is in the mastering of this form.
The Constraint Type is the most important part of this form - by selecting a type of constraint to use other parts of the
form are turned on and off as required. For example the above form is DTM constraint. If you were using an extended
string constraint the data entry fields would be different. You build a constraint up by constructing elements and
transferring them over to the table on the right hand side of the constraints form. Once you have constructed your
constraint, you save it by filling in the ``Constraint combination box'' and the ``Save constraint to'' box.
2. Take some time to familiarise yourself with the layout of the ENTER CONSTRAINTS form.
In the following exercise you will create several constraints so that later, blocks in the model may classified as:
 air
 oxide
 transitional
 fresh

The information you will have to work with is:

TOPO1.STR, TOPO1.DTM (Digital Terrain Model of the Natural Surface) Base of complete weathering is assumed to
be 970 m Elevation, Top of Fresh Rock is assumed to be 950 m Elevation.

Firstly, you will make a constraint to define air blocks.


1. From the Block Modelling menu select Constraints -New constraint file and enter the parameters as shown
below.

/conversion/tmp/scratch/451436810.doc Page 2 of 13
The blocks which lie above the natural surface will be stored in the constraint called air.con. As you have a single
constraint there is no need to specify the constraint combination. When processing is complete, the message window
will indicate that the constraint has been saved. This file, air.con, is a binary file and cannot be viewed or edited
outside of Surpac. A quick and easy way to check the constraint is to view the effect the constraint has on the block
model graphically.

To graphically validate a constraint.


1. From the Block Modelling menu choose Display -- Display block model.
2. Apply the form that appears.
3. From the Display menu select New graphical constraint and enter the parameters as shown below.

Notice that you are adding the saved constraint air, as this is faster than using the DTM again.
4. Use some of the viewing tools to better view the results. (To view in section, use the XZ icon). Turn Hide On
using the Hidden Surface Removal icon and the model will refresh faster on the screen.
In general, always turn Hide On, when viewing Block Models. If Hide is Off and you choose Edit Block and select a
block, you cannot be sure if you have selected a block on the near side or the far side of the model. With Hide On, the
block you select will always be the block you see.

You may add as many constraints until you achieve the result you want. As constraints are added, they are added to
the drawing constraints stack, with the first constraint at the bottom of the stack and the most recent at the top. In
Graphics, constraints are always ANDed, that is only blocks that satisfy all the constraints will be displayed. For

/conversion/tmp/scratch/451436810.doc Page 3 of 13
example, if you were to add another constraint ``NOT INSIDE CONSTRAINT AIR'' to the existing constraint (INSIDE
CONSTRAINT AIR) then no blocks would be displayed as they are either above or below the natural surface.

Under the Display menu, the function ``Remove last graphical constraint'' will remove the constraint at the top of the
stack and the graphics image will be updated accordingly. Alternatively, the function ``Remove all graphical
constraints'' will remove all of the constraints added to the stack.

5. From the Display menu, choose Remove last graphical constraint.


The original block model will be displayed.

To ensure you understand the use of the NOT clause in a constraint try the following exercise.

To build a simple constraint.


1. From the Constraints menu and choose Add new constraint. Enter the parameters as shown below.

2. Use the viewing tools to see the effect as shown.

/conversion/tmp/scratch/451436810.doc Page 4 of 13
Now you have a constraint (air) that can be used later to classify blocks which lie above the natural surface. The next
step is to create constraints to classify oxide, transitional and fresh blocks.

Firstly create a constraint which will show only oxide blocks (ie. between the base of complete weathering 970 m
Elevation and natural surface). To do this you will make use of a Z plane constraint.

To build a number of constraints to classify oxide, transitional and fresh blocks.


1. Select New constraints file from the Constraints menu and enter as below.

When using more than two constraints, the default combination when saving is constraint a AND constraint b. That is,
only blocks that satisfy both constraints will be saved. Since this is the default combination there is no need to enter
this as the required constraint combination. The next constraint you will make is to classify the blocks in the
transitional zone. These are the blocks between 970m RL and 950m RL.

2. Choose Constraints - Add new constraint and enter the constraint as shown below.

/conversion/tmp/scratch/451436810.doc Page 5 of 13
Finally a constraint is required to classify blocks as fresh - that is, blocks below 950 m Elevation.
3. Use Constraints - Add new constraint to make a constraint to show all fresh blocks. Save the constraint to
a file called `fresh'. ( Answer in Appendix 1)
You now have four constraints which may be used to classify material types. In the next exercise, you will make
constraints based on geology.

Firstly, you will make a constraint which contains blocks that are of the ore type QPY. You have a series of string files (
QPY7120 to QPY7520) which are the digitised outlines of the QPY ore type in section view (ie. Y= Elevation,
X=Easting and Z=Northing). You could wireframe this orebody, but the geology is a little complex, so you will constrain
the blocks to the inside of string outlines and mid way between sections. This type of constraint is called an extended
string constraint. For this example, it will demonstrate the use of string constraints and Y plane constraints in
combination.

The things you should check for before proceeding to use string files in constraints are:

 String directions
 Strings are closed
 Foldbacks in strings
 Orientation of strings

The block model will detect and display an appropriate warning message if any problems are detected with
string files, but you will save time if you check the files before beginning modelling.

To make a combined extended string constraint.


1. From the navigator pane on the left hand side of the screen select all the qpy string files. Holding the Shift
key down enables you to select a range of files. Drag these files over into the graphics window using the
CTRL and Shift keys together so that all files end up in the same layer. You will see all the files appear in
graphics.

/conversion/tmp/scratch/451436810.doc Page 6 of 13
2. Save the file as qpy1.str
3. Choose Display - Display block model. Nominate to replace the existing drawing and to clear constraints.
4. From the Display menu choose New graphical constraint and enter the following.

This is an example of an extended string constraint. Note the format of the constraint when using a string. These
constraints are all ANDed meaning that only blocks which are common to constraint a,b and c are displayed.

/conversion/tmp/scratch/451436810.doc Page 7 of 13
5. View the data in 3D using the on-screen, interactive 3D viewing tools until you completely understand this
constraint. An example of a 3D view is shown below.

6. From the Display menu, choose Remove last graphical constraint.


Following the same principle, you should now be able to make a constraint which shows blocks that have only the ore
type QPY. However, there are a total of eleven strings and each string requires three constraints and you are only
able to have twenty six constraints entered on a form. You will need to create two constraints, one for the southern
part of the ore body and one for the north and then combine these later.

/conversion/tmp/scratch/451436810.doc Page 8 of 13
7. From the Constraints menu, choose New constraints file. Enter the constraints as shown below for
sections 7120 to 7320.

8. Constraint combination (a and b and c) or (d and e and f) or (g and h and i) or (j and k and l) or (m and n and
o) or (p and q and r). Save constraint to south_qpy.
9. .From the Constraints menu, choose New constraints file. Create a constraint for the northern part of the
ore body (strings 7360 to 7520), using the same method for the south part of the ore body. Save the constraint
as north_qpy. (Answer in Appendix 1 ).
When you are satisfied with your two constraints for the north and south ends of the ore body, they will need to be
combined to form one constraint for the entire ore body. It pays to graphically check these constraints before making
the final file.

You will use the constraints as objects to create a final constraint, for all of the QPY ore body.

10. From the Constraints menu, select New constraints file. Enter the Constraint as shown below.

/conversion/tmp/scratch/451436810.doc Page 9 of 13
The results from adding this constraint are shown below.

In the next exercise you will use a Surpac Vision Solid Model or 3DM to create a constraint. It is important, that when
using a 3DM as part of a constraint, you ensure the 3DM is properly validated. (See the Solids Modelling Manual for
further information on 3DM validation). For this exercise a solid model `BIF1' has been created for you, which models
the Banded Iron Formation ore body.

To build a 3DM constraint called `Bif1.con'.


11. From the Constraints menu, choose New graphical constraint file. Add the constraint shown below.

/conversion/tmp/scratch/451436810.doc Page 10 of 13
In Plan View, this constraint will resemble the following image, we still have the qpy sections displayed. Recall the
3DM bif1.dtm and see how it relates to the Block Model..

To summarise, you should now have the following constraints:

air.con Blocks above natural surface

oxide.con Blocks below natural surface and above the base of extremely weathered rock (EW)

trans.con Blocks below the base of extremely weathered rock (EW) and above the top of fresh rock

fresh.con Blocks below the top of fresh rock

qpy.con Blocks for the orebody QPY

bif.con Blocks for the orebody BIF

When the word AND is used in a constraint combination, blocks that are common to the ANDed constraints will be
selected. When the word OR is used in a constraint combination, all blocks which related to either of the ORed
constraints will be shown, not just those that are common.

Loading a Constrained Block Model

Now that you understand constraints, you will appreciate the significance of being able to load constrained models
into memory. Using constrained models it is possible to load in just the area of the model in which you are interested.

As well as loading geographically constrainted models, you are also able to specify which attributes to load. For
example, you may be carrying a dozen attributes in your model, but only require a couple for the pit design process.
Being able to specify that you wish to load those two attributes into memory rather than all 12, would reduce the
memory requirements six times (for this scenario).

Not only can constraints of block models be loaded for applications such as pit design, but changes to the constrained
model can also be made and the constrained model then merged back into the original model.

/conversion/tmp/scratch/451436810.doc Page 11 of 13
To review loading a constrained model
1. Select Block model training.mdl and choose yes to constraints. Enter temp for the name of the constrained
model .

This form allows the user to nominate which attributes to load

2. Load the gold attribute as shown.


Note that it is possible to limit the blocks loaded by an attribute value here ie.we could constraint the model with
blocks where gold >1.
3. The next form is the constraints form. Apply the constraint as shown..

The constrained model with only the attributes specified is loaded into memory.
4. Try viewing the constrained model in graphics. You will note that you only see the blocks of interest.
If changes are made to this model the results can be merged back to the original model training.mdl.

Before finishing this chapter go over the following exercises to ensure you understand Constraint combination
expressions. Answers are in Appendix 1 .

/conversion/tmp/scratch/451436810.doc Page 12 of 13
To review the use of constraints.
1. In Graphics, draw the blocks which show the QPY and BIF ore bodies.
2. In Graphics, draw the fresh blocks for the QPY and BIF ore bodies.
3. In Graphics, draw the blocks which show the QPY and BIF ore bodies, 10 metres either side of the Y plane
7450 mN.

Review

You should now be familiar with Surpac Block Model constraints. Further examples and definitions can be found in the
Online Reference Manual.

Please review this section if you are unclear about the definitions used so far.

Where To Next

The next section demonstrates the steps involved in filling attributes in a Surpac Vision Block Model.

/conversion/tmp/scratch/451436810.doc Page 13 of 13

You might also like