Block Modelling
Block Modelling
Block Modelling
All rights reserved. Dassault Systèmes GEOVIA Inc. publishes this documentation for the sole use of
GEOVIA product licensees.
Without written permission, you may not sell, reproduce, store in a retrieval system, or transmit
any part of this documentation. For such permission, or to obtain extra copies please contact your
local GEOVIA office, or visit www.3ds.com/GEOVIA.
This software and documentation is proprietary to Dassault Systèmes GEOVIA Inc. and, except
where expressly provided otherwise, does not form part of any contract. Changes may be made in
products or services at any time without notice.
While every precaution has been taken in the preparation of this manual, neither the authors nor
GEOVIA assumes responsibility for errors or omissions. Neither will be held liable for any damages
caused or alleged to be caused from the use of the information contained herein.
Dassault Systèmes GEOVIA Inc. offers complete 3D software tools that let you create, simulate,
publish, and manage your data.
GEOVIA, the GEOVIA logo, combinations thereof, and GEMS, Surpac, Minex, MineSched, Whittle,
PCBC, InSite, and Hub are either trademarks or registered trademarks of Dassault Systèmes or its
subsidiaries in the US and/or other countries.
Product
Surpac™ 2020
Last modified: 04 October 2019
Table of Contents
Introduction 5
Overview 5
Requirements 5
Workflow 6
Block modelling concepts 7
Model space 7
Blocks and attributes 8
Constraints 8
Estimation 11
Setting up for this tutorial 12
Setting the work directory 12
Task: Set the work directory 12
Displaying the toolbar and menu bar 13
Task: Display the Block Modelling toolbar and menu bar 13
Creating a block model 14
Create a block model 14
Task: Create a block model 14
Creating model attributes 23
Create model attributes 23
Task: Create model attributes 23
Constraints within a block model 26
Applying constraints to a block model 26
Task: Apply constraints to a block model 26
Estimation or filling the block model 31
Assign Value 31
Task: Fill the block model using Assign Value 31
Nearest neighbour 36
Task: Fill the BIF zone using nearest neighbour 36
Inverse distance 43
Task: Fill the sand zone using inverse distance 43
Ordinary kriging 49
Task: Fill the QPY zone using ordinary kriging 49
Task: Fill the QPY zone using dynamic anisotropy ordinary kriging 57
Block model reporting 67
Block model report 67
Task: Create a block model report 67
Creating calculated attributes 70
Task: Create calculated attributes 70
Partial percentage reporting 74
Partial percent reporting from the block model report 74
Task: Report partial percent using geometric grouping in the block model report 74
Simple partial percent reporting 78
Task: Create partial percentage report 78
Multiple percentage reporting 87
Task: Report on grade, grouped by rock type 87
Model reblocking 91
Model reblocking 91
Task: Perform model reblocking 91
Column processing 93
Workflow 93
Viewing the data 93
Task: View the data 93
Classify blocks 100
Task: Classify blocks into ore and waste 100
Reduction and dilution 116
Task: Calculate dilution and reduction 116
Recoverable product 118
Task: Calculate recoverable product 118
Thicknesses 130
Task: Calculate column thickness 130
Importing 135
Task: Import a block model from a .csv file 135
Task: Import a block model for Whittle from a .csv file 139
Task: Import a block model from a .csv file using the BM IMPORT CSV function 144
Introduction
Introduction
Overview
By working through the examples in this tutorial you will learn:
l about Surpac’s block modelling module and the concept of block modelling
l to fill a block model from drillhole data from a geological database
l to constrain a block model to filter out specific blocks
l to report volume, tonnage and grade from a block model
l about column processing of a block model
Requirements
Before you begin this tutorial, you must have:
l a good understanding of the basic Surpac concepts of strings, segments, DTMs, and
string tools
l Surpac installed on your computer
l the data set accompanying this tutorial
Workflow
Note: This workflow demonstrates the steps in this tutorial. There are other ways to achieve a
result.
Model space
3D coordinates spatially define the model extents.
Minimum Northing (Y), Easting (X) and Elevation (Z).
Maximum Northing (Y), Easting (X) and Elevation (Z).
Constraints
All block model functions can be performed with constraints. A constraint is a logical combination of
one or more spatial objects on selected blocks. Objects that can be used in constraints are plane
surfaces, DTMs, solids, closed strings, and block attribute values. Constraints can be saved to a file
for rapid re-use. You can use a constraint as a component of another constraint.
Blocks meet a constraint (for example, below a DTM as in the following figures) if its centroid meets
that constraint. This is true even if part of the block is above the DTM.
Estimation
After a block model is created and all its attributes are defined, the model must be filled by some
estimation method. You can do this by estimating and assigning attribute values from sample data
that has X, Y, and Z coordinates, and the attribute values of interest.
The estimation methods that you can use are:
Method Description
Nearest Neighbour Assigns the value of the closest sample point to a block.
Assigns block values using an inverse distance estimator.
Inverse Distance
Assigns block values using kriging with variogram parameters developed from
Ordinary Kriging a geostatistical study.
Assigns data from the description fields of closed segments to attribute values
of blocks that are contained within those segments extended in the direction
Assign from String of one of the principal axes (X, Y, or Z).
Assigns block values from data in a delimited or fixed format text file.
Import Centroids
The name of the work directory is displayed in the title bar of the Surpac window.
1. Right-click in the blank area next to the menus at the top of the Surpac main window.
2. From the shortcut menu, choose Profiles > block_model.
Using the previous diagrams, you can determine the origin and extents of the block
model which will cover the ore solid.
You can also use the string file ore1.str to determine the origin and extents directly from
the data. This method is described in the following steps.
8. Choose Block model > New / Open.
9. Enter the information as shown, and click Apply.
The block model is created and its name is displayed in the Status bar.
22. Right-click the block model in the status bar, and choose Close
Note: To see all of the steps performed in this task run _01_create_model.tcl. You will need to click
Apply on any forms presented.
1. Open training2.mdl.
2. Connect to db1.ddb.
3. Right-click in the blank area next to the menus at the top of the Surpac main window.
4. From the shortcut menu, choose Profiles > geology_database.
5. From the Geology Database menu, choose Edit > View table.
6. Enter the information as shown, and click Apply.
7. Click Apply on the blank constraints form to look at the entire table.
Note: Using real, instead of float, will significantly increase the size of the block model.
You would choose float when the attribute will contain approximately eight significant
digits or fewer.
14. Choose Block model > Summary.
Note: To see all of the steps performed in this task, run _02_create_model_attributes.tcl. You
need to click Apply on any forms presented.
l ABOVE
l INSIDE
l >
l <
l =
The operator you use depends on the nature of the object. The word NOT implies the opposite of an
operation. For example, OUTSIDE is represented by the expression NOT INSIDE. When you use the
AND statement, all conditions must be met for the constraint to apply to a block. When you use the
OR statement, only one of the conditions must be satisfied.
Create a constraint file
This function allows you to generate constraints without having to perform any other block model
function. When you learn how to use constraints, you can work effectively with the Surpac block
model.
You can apply one constraint at a time to a model, or combine a series of constraints, and save them
as a constraint (*.con) file.
The types of constraints supported are:
l inside/outside a solid
l above/below a surface
l satisfy the conditions of a block attribute
l inside/outside a string
l above/below a defined plane
Caution: The constraint file records the results of running a constraint. When you open the .con
file, the same blocks will pass the constraint every time, even if their attribute values have changed.
No additional blocks will pass the constraint. The .con file is effectively a static list of blocks that
passed the constraint at a specific date and time.
Task: Apply constraints to a block model
1. Open training2.mdl.
2. Choose Block model > Display.
Alternatively, click the training2 button on the Status bar, and choose Display.
Note: After you have entered the constraint, you save it by filling in the Save
constraint to box, and clicking Apply.
6. Drag and drop oxide.con into Graphics.
The blocks below the topography, and above the weathering layer, are displayed in
Graphics.
You will now repeat the previous process to create constraints for the transitional zone
and fresh rock zone.
trans.con is above weath_fresh1.dtm and below weath_ew1.dtm.
7. Choose Constraints > Remove all graphical constraints.
8. Choose Constraints > New constraint file.
9. Enter the information as shown, and click Apply.
Note: To see all of the steps performed in this task, run _03_applying_constaints.tcl. You need to
click Apply on any forms presented.
20. Choose Display > Edge and face visibility, clear Display block edges as shown, and then
click Apply.
Note: To see all of the steps performed in this task, run _04_assign_value.tcl. Click Apply on any
forms that appear.
Nearest neighbour
Task: Fill the BIF zone using nearest neighbour
1. Open training2.mdl.
2. Choose Block Model > Display.
4. Choose Display > Edge and face visibility, select Display block edges as shown, and
then click Apply.
5. Choose View > Data view options > View by bearing & dip.
6. Enter the information as shown, and click Apply.
On the Status bar, you can see the progress of the estimation.
The constrained and coloured block model for the bif1 zone is displayed.
Note: To see all of the steps performed in this task, run _05a_nearest_neighbour.tcl. Click Apply
on any forms that appear.
Inverse distance
Task: Fill the sand zone using inverse distance
1. Open training2.mdl.
2. Choose Block Model > Display.
3. Enter the information as shown, and click Apply.
4. Choose View > Data view options > View by bearing and dip.
The constrained and coloured block model for the Sand1 zone is displayed.
Note: To see all of the steps performed in this task, run _05b_inverse_distance.tcl. Click Apply on
any forms that appear.
Ordinary kriging
Task: Fill the QPY zone using ordinary kriging
1. Open training2.mdl.
2. Choose Block Model > Display.
3. Enter the information as shown, and click Apply.
4. Choose View > Data view options > View by bearing and dip.
After the model is filled, Surpac produces a report file called ordinary_kriging.not.
The constrained and coloured block model for the QPY zone is displayed.
Note: To see all of the steps performed in this task, run _05c_ordinary_kriging.tcl. Click Apply on
any forms that appear.
Task: Fill the QPY zone using dynamic anisotropy ordinary kriging
1. Open training2.mdl.
2. Choose Block Model > Display.
3. Enter the information as shown, and click Apply.
4. Choose View > Data view options > View by bearing and dip.
11. Choose Surfaces >DTM File functions > Create trend outline from DTM triangles.
12. Enter the information as shown, and click Apply.
trend_outlines.str is the string file that contains a closed segment with the dip and dip
direction in the D1 and D2 fields.
13. Choose Estimation > Assign value from polygon.
14. Enter the information as shown, and click Apply.
After the model is filled, Surpac produces a report file called dae_ordinary_kriging.not.
The constrained and coloured block model for the QPY zone is displayed.
Notes:
l To see all of the steps performed in this task, run _12a_dae_ordinary_kriging.tcl. Click
Apply on any forms that appear.
l You can perform dynamic anisotropy for other estimation processes, such as nearest
neighbour and inverse distance.
l The search ellipsoid specifications for bearing, plunge, and dip can be read from a field
in the block model or a static value.
l If the target block size is larger than the actual blocks present within a constraint (due
to subblocking on constraint boundaries), the orientation information is taken from
the first subblock. If the target block size is on the constraint boundary, the location of
the first subblock may be outside the constraint.
l It is important that blocks which are partially within a constraint have valid orientation
information at the estimated target block size. All blocks in the model must contain
background orientation, that is, the local average of the orebody.
1. Connect to training2.mdl.
2. Choose Block model > Report.
3. Enter the information as shown, and click Apply.
Note: The report can be weighted by mass and, in this case, the specific gravity
attribute must be supplied.
Grouping Attributes: You can group the results based on any attribute or Y, X, Z. If you
are grouping by more than one attribute, the order in which they are specified will have a
influence on the format of the report. In the above example , if the attribute GOLD is
reported based on the cutoff values of 0;1;3;5;10;999 and these cutoffs are to be reported
on each 50m elevation range between 800 and 1100, you would enter the Z value first,
and the GOLD values second. The results will be divided into 50m elevation ranges within
which the numbers are split into grade ranges.
6. Open total_orebody1.csv.
The report is displayed in Microsoft Excel.
Note: To see all of the steps performed in this task, run _06_block_model_
reporting.tcl. You need to click Apply on any forms presented.
1. Connect to training2.mdl.
2. Choose Block Model > Display.
3. Enter the information as shown, and click Apply.
4. Choose View > Data view options > View by bearing and dip.
5. Enter the information as shown, and click Apply.
10. Enter the information as shown, click Refresh, and then click Apply.
The constrained and coloured block model for the QPY zone is displayed.
How the percentage is calculated is very simple. With traditional constraints, the model is sub-
blocked down to the minimum block size, and then the inside/outside test is performed on the block
centroid. The partial percentage calculation takes it further. Rather than stopping at the minimum
block size, this function will sub-block further, depending on the precision factor that you enter. The
higher the precision factor, the more times the block is sub-blocked beyond the minimum block size.
The function then performs the standard constraint on these smaller blocks, and counts the ones
that are inside and outside the constraint. This count becomes the percentage. The percentage is
always stored in the block at minimum block size. So it becomes a trade-off.
The higher the precision factor, the more precise the partial percentage calculation. However, many
more blocks are created for the higher precision factors, and so the function will be slower. For
example, a percentage calculation with a precision factor of 5 will create 4096 times the number of
blocks than a calculation at precision 1.
Performing partial percentage calculations on underground models can be very time consuming
because you need to create an attribute and run the partial percentage function for each stope in the
model. An alternative way to determine partial percentage volume is to use the geometric grouping
function in the block model report. The partial percentage volumes, for each location, are then
generated in the report. However, the percentage value for each block is not stored as an attribute in
the blocks of your model.
Note: Because you specified a new attribute for partial percentage (pp_bmr), that
attribute is automatically created and filled with values throughout the block model.
5. Choose Block model > Save.
6. Choose Block model > Close.
Note: To see all of the steps performed in this task, run _08a_partial_percentages_report.tcl. You
need to click Apply on any forms presented.
1. Open training2.mdl.
2. Append bif1.dtm, qpy1.dtm, sand1.dtm into Graphics.
Note: You append DTMs to a layer by holding down the CTRL key while dragging and
dropping the DTMs into Graphics.
The DTMs are displayed.
4. Enter the information as shown, and click Apply to save the results to orebody1.dtm.
You will now give the new block attribute a value based on its position relative to the ore
body.
8. Choose Estimation > Partial Percentage.
Note: It is possible to use a string, DTM surface, 3D model or several other options for
Constraint to apply.
The results are a partial percentage volume calculation for the blocks along the edge of
the ore body.
The precision option determines how many times the block will be split into smaller
blocks for testing, to see if it is in or out of the constraint. As an example, a precision of 2
splits the block into two parts in each direction, almost as if it were sub-blocking, and
then tests these smaller blocks against the DTM surface. A precision of 3 splits the blocks
3 times in each direction. The larger the precision value the longer the process will take.
Saving a partial percentage result to a file allows it to be used again without the need to
run the estimation function. It also allows for several variables to be filled at one time.
Once completed, a report can be generated to give the volume in the ore body. This is
done by using the partial attribute as a weighting attribute.
You will now generate two reports to see the difference, once without making use of the
partial attribute, and then a second time using the partial attribute as a weighting field.
10. Select Block model > Report.
This generates a report for the volume without making use of the partially-filled blocks.
Note: Make sure that this time you select the Keep blocks partially in the constraint
check box.
The report is displayed.
You should see that the difference between the two reports in terms of volume is about
1.1%, and in terms of the gold content, 8% of the grade. If the blocks were larger (for
example 20x20x20) partial percentages would show
a greater effect on the result.
18. Choose Block model > Save.
19. Choose Block model > Close.
Note: To see all of the steps performed in this task, run _08b_partial_percentages.tcl. You need to
click Apply on any forms presented.
These solids represent three rock zones: banded iron formation, quartz pyrite, and
sandstone respectively.
3. Choose Block Model > Report.
Note: You must define the attribute as Gold in the Column and attributes table for
each of the fraction/percentage attributes. To do this, select the Banded fraction row,
and then select Gold in the Attribute cell. Then select the Quartz pyrite fraction row and
select Gold in the Attribute cell.
6. Enter the information as shown, and click Apply.
The report opens with volume, tonnes, and grade grouped by rock type, and then
grouped by elevation.
Note: To see all of the steps performed in this task, run _08c_multiple_attribute.tcl. You need to
click Apply on any forms presented.
Model reblocking
Model reblocking
Task: Perform model reblocking
In Surpac you can create a new model with different block sizes from those in the current model by
reblocking.
In this example, you will reblock the model in all three directions.
1. Connect to training2.mdl.
2. Choose Block model > Simple reblocking.
3. Enter the information as shown, and click Apply.
The model training_reblocked2 is created with the specified block size and becomes the
active model.
Note: It is important that you define numeric attributes that should not be averaged
during reblocking as calculated attributes. For example, tonnage should be defined as a
calculated attribute based on block size and density, with the generic formula tonnage =
_xext x _yext x _zext x sg.
4. Choose Block model > Summary.
The model summary is displayed. The new User block size is 20 x 20 x 10.
Note: To see all of the steps performed in this task, run _09_model_reblocking.tcl. You need to
click Apply on any forms presented.
Column processing
In this section you will take an existing block model and use the functions for column processing in
block models to evaluate the economics of the block model.
The data is a block model that contains only one attribute, grade, and a DTM that represents surface
topography.
Workflow
4. Choose View > Data view options > View by bearing and dip.
5. Enter the information as shown, and click Apply.
10. Choose View > Data view options > View by bearing and dip.
11. Enter the information as shown, and click Apply.
The blocks in this model are 35 metres in the x and y dimensions and 3 metres high.
Because the vertical extent of this model is limited compared to the horizontal extent,
you will vertically exaggerate this model by a factor of 5.
12. Choose View > Data view options > View scale factors.
After exaggerating the model five times, to get the view at a bearing of 330 degrees and a
dip of -20 degrees, you need to set the View by Bearing and Dip to a dip of -4, that is, the
dip you want divided by the vertical exaggeration.
14. Choose View > Data view options > View by bearing and dip.
15. Enter the information as shown, and click Apply.
The view of the model was changed to Plan when you opened the DTM, now it is reset.
Notice the separation between the topography and the highest blocks with any grade.
This separation is called the overburden.
You will now slice the model to see the internal structure.
19. In the Layers pane, right-click on the layer blocktopo1.dtm, and choose Delete layer.
20. Click Zoom all .
This moves the data back to plan view
21. Choose Database > Sections > Define.
23. Enter the information as shown on the Section Block Model tab, and click Apply.
Note: To see all of the steps performed in this task, run _10_viewing_the_data.tcl. You need to
click Apply on any forms presented.
Classify blocks
Task: Classify blocks into ore and waste
1. Open blockmodel.mdl.
2. Choose Column processing > Column tops.
3. Enter the information as shown, and click Apply.
This will search down through the block model extracting a point at the top of the first
block in each column where the grade is greater than 8.
The result will be a string file called top_cutoff1.str. The Nominal value above top value
from the Tops of columns form is the default elevation which will be assigned if no blocks
in the column satisfy the constraint. As a general rule, when extracting upper surfaces,
the nominal z elevation should be set to an elevation below your model and when
extracting lower surfaces it should be set to an elevation above your model.
5. Choose Column processing > Column tops.
6. Enter the information as shown, and click Apply.
This time the search is in the Z direction (positive Z is up), and the nominal elevation is set
to 400.
You will now use the string files top_cutoff1.str and bot_cutoff1.str to create DTMs.
8. Choose Surfaces > DTM File functions > Create DTM from string file.
A report is displayed.
10. Choose Surfaces > DTM File functions > Create DTM from string file.
11. Enter the information as shown, and click Apply.
14. Choose View > Data view options > View scale factors.
15. Enter the information as shown, and click Apply.
21. Click the blockmodel button on the Status bar, and select Hide.
Only the upper and lower cutoff DTM surfaces are displayed.
22. Click the blockmodel button on the Status bar, and choose Display.
The next step is to add two attributes to the model which will be filled in the Ore/Waste
discrimination function.
27. Choose Attributes > New.
28. Enter the information as shown, and click Apply.
Note: You are specifying minimum mining thicknesses of ore, a waste of 6 metres, and
a cutoff grade of 8. This function classifies blocks as ORE or WASTE according to a cutoff
grade and minimum thickness criteria.
The ore/waste classification is stored as an integer value in the ore_waste_flag attribute,
which allows you to colour the model on ore/waste. A master attribute is specified
(grade), and an attribute to store the composite grade for each resulting ore and waste
layer.
Note: It is very important that you apply this function using these two constraints. This
way, no outlying sub-grade waste blocks will be included in the top or bottom ore layers.
This constraint file is saved for future processing.
A summary is shown below.
You will now colour the model on the ore_waste_flag attribute. Ensure you are viewing
only the blocks within your new constraint file - top_bot_cutoff.con.
32. Choose Constraints > New graphical constraint.
36. Click the down arrow on row 1 to bring up the Colour chooser.
37. Click the Crayola tab, type in blue, and click OK.
41. Click Toggle display polygon & triangle edges to turn edges off.
This will colour the model as shown:
The minimum mining thickness of 6 metres (2 blocks in elevation) has been taken into
account.
42. Choose Display > View attributes for one block and click on a block.
The composite grade is reported. This is the average grade for all contiguous ore or waste
blocks in that column. If you select a block above or below this block in the same layer, it
will have the same composite grade. All ore layers have a composite grade greater than 8
and all waste layers have a composite grade less than 8. You will now display waste blocks
only so you can see their distribution in the model.
43. Choose Constraints > New graphical constraint.
44. Enter the information as shown, and click Apply.
Note: To see all of the steps performed in this task, run _11_classify_blocks.tcl. You need to click
Apply on any forms presented.
7. Click Yes.
The report is displayed.
Note: To see all of the steps performed in this task run _12_dilution_and_reduction.tcl. You will
need to click Apply on any forms presented.
Recoverable product
Task: Calculate recoverable product
1. Connect to blockmodel.mdl.
2. Choose Estimation > Assign value.
3. Enter the information as shown, and click Apply.
This assigns those blocks above the top of the ore, and below the topography (that is,
the overburden) blocks to waste.
The Verify creation of file form appears.
5. Click Yes.
Note: Before you run the Recoverable product function, you should add the attributes
which will store the results of this function.
The attributes do not have to be added ahead of time in this function. If the attributes
specified to store the results do not exist, they will be created.
However, it is a better practice to add them first for two reasons:
l If they are added by the function, they are created as real attributes and not
floats and therefore will require double the storage space.
l You have control of the background values when adding them yourself. For
Unlike most other attributes, the ratio attributes are given a high background value. A
high value of the ratio of volume to product denotes less economic material. You will be
searching for the first value below a certain value. If you picked a low background value,
when searching for the first block below a certain value using the column tops function,
you would always find the top or bottom of the model because this is outside of the
constraint and so remains at the background value.
8. Choose Column processing > Recoverable product.
9. Enter the information as shown, and click Apply.
Note: You would expect an ore layer with only a small amount of overlying waste to
have a lower individual ratio than an ore layer with a higher thickness of overlying waste.
Also, you would expect the uppermost ore layer to have the same value for the individual
and cumulative ratios.
10. Choose Block model > Display.
11. Choose View > Data view options > View by bearing and dip.
The final steps of the process are to extract and create surfaces representing the top and
bottom of economic ore. The bottom of economic ore will be a surface created when
searching up through the model, using the Column Tops function, for the first block
where both individual and cumulative ratios are below a cutoff ratio. For this exercise you
will use a cutoff ratio of 12.
21. Choose Column processing > Column tops.
22. Enter the information as shown, and click Apply.
24. Choose Surfaces > DTM File functions > Create DTM from string file.
The top of the ore will be the first occurrence of ore searching down through the model
(that is, the ore_waste_flag =1). If this ore is not economic, as in the southwest of the
model, it will be excluded by the fact that the economic bottom of ore is at an elevation of
400 here. This is a reason why the nominal values are important when using the column
tops functions.
28. Choose Column processing > Column tops.
31. Choose Surfaces > DTM File functions > Create DTM from string file.
You can now generate a block model report to calculate volume, tons, average grade,
and recoverable product of the economic ore.
33. Choose Block Model > Report.
Note: Right-click on the first row to add another row to the table.
Note: To see all of the steps performed in this task, run _13_recoverable_product.tcl. You will
need to click Apply on any forms presented.
Thicknesses
Task: Calculate column thickness
1. Open blockmodel.mdl.
2. Choose Column processing > Thickness.
A report is generated.
Note: In the resultant string file, String 1 contains the ore thickness and average
diluted grade in the first and second description fields. There is also a string 2 in this file
which contains the thickness of all other material (in this case, this represents
interburden thickness), and the average diluted_grade. String 2 must be deleted from
this file before you can create a DTM of ore thicknesses and grades, or the values from
strings 1 and 2 will be averaged when creating the DTM, which will give you a meaningless
result.
5. Open ore_thickness12.strin Graphics.
6. Choose Edit > String > Delete range, and delete string 2 from ore_thickness12.str.
7. Save ore_thickness12.str.
8. Choose Surfaces > DTM file functions > Create DTM from string file.
Note: To see all of the steps performed in this task, run _14_thicknesses.tcl. You need to click
Apply on any forms presented.
Importing
Task: Import a block model from a .csv file
1. Choose Block model > New/Open.
The Select model form is displayed.
2. Type the name for the new block model, and then click Apply.
The Creating Definition for new block model form is displayed.
3. Click Apply.
The Creating new block model definition form is displayed.
4. In the Coordinate extents set the minimum and maximum values to the dimensions of
the original model.
5. In the User block size type the dimensions of the parent blocks of the original model.
6. In the Sub blocking box select Free.
7. Click Apply.
The icon is displayed below the Message window with the name you have
chosen for your model.
8. Choose Attributes > New.
The Add attributes form is displayed.
9. Enter the details for the grade attribute as in the form below, and then click Apply.
Tip: It is good practice to compare volumes, grades and metal between your parent block model
and your new model to ensure it has imported correctly.
Task: Import a block model for Whittle from a .csv file
1. Choose Block model > Block model > New/Open.
The Select model form is displayed.
2. Type the name for the new block model, and then click Apply.
The Creating Definition for new block model form is displayed.
3. Click Apply.
The Creating new block model definition form is displayed.
4. In the Coordinate extents set the minimum and maximum values to the dimensions of
the original model.
5. In the User block size type the dimensions of the parent blocks in the original model.
6. In the Sub blocking box select Standard, and choose 1.25, 1.25, 1.25 for the Minimum
block size.
7. Click Apply.
The Model confirmation form is displayed.
Note:
l The number of blocks created may be different to the parent model because Surpac cre-
ates super blocks from adjacent blocks that have the same attributes.
Tip: It is good practice to compare volumes, grades and metal between your parent block model
and your new model to ensure it has imported correctly.
Task: Import a block model from a .csv file using the BM IMPORT CSV function
1. Choose Block model > Block model > Import > CSV File.
The Create block model from CSV form appears.
2. Enter the information as shown.
3. Click Apply.
The Create definition for new block model form appears.
4. Click Apply.
The Define attributes form appears.
5. In the Attribute for column # table, map the header column of the CSV to the column
number as shown.
Notes:
l It is mandatory to map the X, Y, and Z values from the CSV file to calculate
the block model extends.
l If you map all the three block size values, the mapped values override the
User block size values entered in the Create definition for new block model
form.
6. Click Apply.
The Model confirmation form appears.
Note: It is mandatory to add the attributes that are mapped in the Attribute for
column # table.
9. Click Apply.
A block model report appears.
Notes:
l To see all of the steps performed in this task, run _21_import_csv_for _block_mod-
el.tcl. Click Apply on any forms that appear.
l The number of rows loaded and rejected vary depending on:
l The rotation applied in the X, Y, and Z directions, if any.
l The User block size values that are not overridden by the mapped values.