Surpac Constraints
Surpac Constraints
Surpac Constraints
Table of Contents
Overview
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:
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.
/conversion/tmp/scratch/451436810.doc Page 1 of 13
Oblique Plane (specified by an equation)
Block value
Constraint
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.
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.
/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.
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.
To ensure you understand the use of the NOT clause in a constraint try the following exercise.
/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.
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.
/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.
/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.
/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..
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
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.
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 .
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