Académique Documents
Professionnel Documents
Culture Documents
f or Engi neer s
Sur f ac e (Level 2)
Wor k book
E002
Rev. B
2002, 2001, 1994, and 1978 by MINTEC, inc.
All rights reserved. No part of this document shall be
reproduced, stored in a retrieval system, or transmitted
by any means, electronic, mechanical, photocopying,
recording or otherwise, without written permission from
MINTEC, inc.
All terms mentioned in this document that are known to
be trademarks or registered trademarks of their respec-
tive companies have been appropriately identified.
MineSight
PHS1 2660.0 1.000 1.000 1.000 0. 0.000 0.000 0.000 35. 107. 999.00
PHS1 2645.0 1.000 1.000 1.000 37. 0.679 0.097 0.000 1545. 2655. 70.56
PHS1 2630.0 1.000 1.000 1.000 1404. 0.869 0.137 0.000 1708. 7050. 4.02
PHS1 2615.0 1.000 1.000 1.000 2736. 0.944 0.126 0.000 699. 6572. 1.40
PHS1 2600.0 1.000 1.000 1.000 3122. 1.089 0.123 0.000 293. 5555. 0.78
PHS1 2585.0 0.871 0.000 0.871 2642. 1.058 0.119 0.000 105. 4011. 0.52
PHS1 SUB-TOTAL 9941. 1.008 0.125 0.000 4385. 25951. 1.61
PHS2 2660.0 1.000 1.000 1.000 0. 0.000 0.000 0.000 15. 74. 999.00
PHS2 2645.0 1.000 1.000 1.000 0. 0.000 0.000 0.000 716. 2254. 999.00
PHS2 2630.0 1.000 1.000 1.000 59. 0.678 0.075 0.000 1762. 4922. 82.70
PHS2 SUB-TOTAL 59. 0.678 0.075 0.000 2493. 7250. 122.29
PERIOD TOTAL 10000. 1.006 0.124 0.000 6878. 33201. 2.32
Proprietary Information of Mintec, inc. Long Range Planning with MineSight Strategic Scheduler
Part #: E002 Rev. B Page 12-21
Notes: <To close the window showing the report, click Viewing results=>Close Report
Window.>
Sum821.rpt is an additional output file produced that is used to generate an Excel
Spreadsheet of the scheduling results and associated charts.
<To make the spreadsheet reports, click Reporting=>Export to Excel Spreadsheet.>
This will create the spreadsheet. <Answer YES to the query about saving changes to
Sum821.rpt. Then save them as file type Microsoft Excel Workbook, and as file name
Sum821.xls.> This file contains five worksheets:
Mining Results
Truck Usage
Shovel Usage
Destination Usage and Economics
Sum821
The information in the spreadsheet can then be used to generate a Summary Mining
Report which will be stored as an additional worksheet in the spreadsheet file. <Click
Reporting=>Generate reports.>
Make sure Sum821.xls is shown as the Spreadsheet file, and then highlight Summary
Mining Reports. Click Next. (See the figure below.)
Long Range Planning with MineSight Strategic Scheduler Proprietary Information of Mintec, inc.
Page 12-22 Part #: E002 Rev. B
Notes:
<Fill in the next window as shown below, using the Apply Selection button. Then
click the Produce Reports button.>
Proprietary Information of Mintec, inc. Long Range Planning with MineSight Strategic Scheduler
Part #: E002 Rev. B Page 12-23
Notes:
<Answer Yes to the Save Changes? query, and view the new worksheet called
Summary Mining Reports in Excel.> A portion of this worksheet is shown below:
Summary Mining
Period Ore1 Grade Grade Pounds Pounds Waste Total Strip
# (tons) CUIDS MOIDS CUIDS MOIDS Type 1 Tons Ratio
1 10000 1.006 0.124 221857 27415 6878 33200 2.32
2 19997 0.822 0.097 362374 42704 1779 29235 0.46
3 40001 0.695 0.088 612671 77220 59754 137125 2.43
Total 69998 0.776 0.095 1196901 147338 68411 199560 1.85
Summary Leach 2 Mining
Period Leach2 Grade Grade Pounds Pounds
# (tons) CUIDS MOIDS CUIDS MOIDS
1 10948 0.286 0.043 69114 10377
2 7460 0.296 0.032 48598 5280
3 37370 0.285 0.033 234708 26985
Total 55778 0.287 0.035 352419 42642
The scheduling results in the spreadsheet can also be displayed in chart form and
saved as another Worksheet in the file SUM821.xls. <To do this select Reporting =>
Generate Charts.>
Long Range Planning with MineSight Strategic Scheduler Proprietary Information of Mintec, inc.
Page 12-24 Part #: E002 Rev. B
Notes:
Proprietary Information of Mintec, inc. Introduction to the MineSight Interactive Planner
Part #: E002 Rev. B Page 13-1
Notes:
Introduction to the MineSight Interactive
Planner
Interactive Planner Object - Overview
Short and medium term mine planning is accomplished in MS3D using the Interactive
Planner Object (IP Object), which creates cuts and computes reserves for a mine model.
The plan parameters, cut geometry and attributes, and finally reserves are stored in an
ODBC compliant database that can be accessed by scripts, queries, reports, or third
party tools. Thus the reserves can be computed and displayed using a variety of
methods.
The IP Object data consists of Areas and Material Sets (which control reporting logic
and cutoff binning methodology), the cut geometry and attributes, and the reserves.
To begin, a connection needs to be made to the database and an IP Set must be
defined. The IP Set is the collection of IP Object data, as it exists in the database.
The reporting parameters and methodology for binning the reserves as defined by the
Areas and Material Sets are set in the IP Tool dialog. Cuts are made in the Cut Design
dialog by digitizing in the viewer or by selecting existing geometry objects. When a cut
is saved, reserves are computed based on the cuts Area and Material Set parameters
and the reserves are stored in the database. The reserves can be displayed in various
ways, either by using Script files supplied with MS3D or by accessing the database
using external software.
Initializing an IP Object
<Copy the sample database file Attrdb.mdb (provided with MS3D) to your working
directory and give it a suitable name. Create a new IP Object by selecting
File=>New=>Interactive Planner Object from the Data Manager. After selecting a
name for the IP Object you will be prompted to make a connection to your database
with the ODBC connection manager available under Windows. Make the connection by
selecting your Data Source from the list on the Machine Data Source page.>
Each IP Object corresponds to an IP Set in the database. The IP Set is the collection
of the IP Objects Areas, Material Sets, and cuts (geometry, attributes, and reserves).
The database may contain many IP Sets, each with a unique name; and one or many IP
Objects can reference each IP Set.
When the first IP Object is created, no IP Sets exist in the database. <Select Create
New for the type of IP Set and give the IP Set a name. Use Exposed Geometry for the
new set to store polygonal cuts as XYZ points in the database.> While this storing
method is less efficient, it allows external programs easier access to the data. The
Exposed Geometry option can only be assigned to a new IP Set and cannot be used to
change the store method for existing sets. If you do not want to access the polygonal cut
points from any external program, you do not need to choose this option.
If the database already contains IP Sets, you can choose to Clone an IP Set for use
with the new IP Object by selecting the set from the popdown. By default, all Areas,
Material Sets, and cuts will be cloned in the database and grouped into the new IP Set.
You can choose to clone only the sets Areas and Material Sets by toggling the Settings
Only option. Or you can choose to clone only some of the cuts by selecting the Filter
Attribute option. This allows you select cuts from the attributed database based on the
cut attributes location or cut attributes. <To filter by location, check the Constrain by
Introduction to the MineSight Interactive Planner Proprietary Information of Mintec, inc.
Page 13-2 Part #: E002 Rev. B
Notes:
Location toggle, and fill in the appropriate coordinate limits. To filter by attribute,
select an attribute, an operation and a value (ie. SchedID = 5 or cutPerID Like
January).> You can create compound selections by choosing AND or OR, and
specifying another attribute selection.
Similarly, you can connect to an existing IP Set (also selected from the popdown) or
to a subset of an existing IP Set (using Filter Geom). But the new IP Object can modify
changes to cuts shared by other IP Objects, so connecting to an existing IP Set should be
used with caution.
IP Tool
After creating an IP Set or when an IP Object is opened from the Data Manager, the
IP Tool dialog is activated. The Areas and Material Sets for the IP Object are defined in
this dialog. Closing the IP Tool dialog will close the IP Object and vice versa.
An Area is a reference to a model and the items in the model and specifies the
parameters that control reporting logic such as the grade, topography percent, and
whether or not the grade is averaged or accumulated.
A Material Set is based on a single Area and defines the cutoff logic for the Areas
grade item, the binning methodology, and the density specified by the zone/rock code.
At least one Area and Material Set must exist in order to define cuts. A cut always
references a Material Set and a Material Set always references an Area. Thus, each cut
corresponds to exactly one Material Set and exactly one Area.
The IP Tool dialog opens on the Area notebook page. Start by defining an Area. Fill
out the values on the Area tab and save the area. Once an Area is defined, move to the
Material Sets page and build one or more Material Sets based on the Area.
When at least one Material Set is defined, use the Design Cuts button to activate the
Cut Design dialog.
Note that the File menu options New, Open, Save, Save As, and Delete and their
corresponding tool bar buttons operate according to the current page in the notebook.
For example, if the Area page is current, then File=>New will create a new (blank)
Area and File=>Save will save the current Area. Delete allows you choose which Area
or Material Set to delete.
Deleting an Area or Material Set will automatically delete all corresponding cuts. A
notice will appear displaying the number of cuts, or in the case of deleting an Area, the
number of cuts and Material Sets, which will also be deleted.
Area
An Area references the model for which reserves will be computed. Thus a model
view and at least one Grade Item must be selected in order to define an Area. All other
items on the Area page are, in general, optional.
For most mine planning, a single Area definition is sufficient. It is, however, possible
to define multiple Areas to correspond to different models if, for example, you have two
deposits separated by a large distance that are being mined simultaneously. In this case,
the Areas and models need to have the same items (e.g., thickness, topo, copper, gold,
etc.).
Reserves can be computed for plan or sectional planes in a 3DBM or for levels in a
GSM model view. The model view will automatically be opened when selected. Only
Proprietary Information of Mintec, inc. Introduction to the MineSight Interactive Planner
Part #: E002 Rev. B Page 13-3
Notes:
model views based on a file 15 (3DBM or GSM) are allowed. Note that cuts can occur
on any model bench or section regardless of the display range in the model view
definition.
The selected model view determines the items available for the Area definition. In
addition, the model dimensions control possible cut locations and slice thickness. The
cuts are on planes corresponding to the model bench or level or, if using a 3DBM with
sectional planes, to the EW or NS sectional grids. The reserves will be computed based
on the items and extent of the selected model.
Note that some Area options are disabled, notably Grid Set and Partials Mapping.
These options will be available in future upgrades.
The Thickness Item will be used for the cut thickness and will override the bench
height or sectional width. You must specify a Thickness Item (e.g., LNGTH) when
using a GSM model view.
You can also specify a Volume Reduction or Mined Out item. This would be a
percentage item (i.e., a model item with a minimum value of zero and a maximum value
of 1 or 100), which contains the percent of the model block that exists (Volume
Reduction) or the percent that is missing (Mined Out). To account for Topo% in the
block model, use the Volume Reduction toggle. To account for a mined out percent in
an underground operation, use the Mined Out toggle.
The Number of Slices is the number of slices through each model block when
computing partials for polygonal cuts (partials for solid cuts use the project subcell
count for volume calculations, available under File=>Project Settings=>Volumes).
The slice direction can be switched by toggling Switch Slice Direction. For
example, given a planar cut, the partials slices are usually in the EW direction and
spaced NS. However, if the cut is very long in the EW direction and short in the NS
direction, you could switch the direction and use NS slices to better compute the
partials. The slice directions are shown as a function of cut orientation in the table
below.
North
East
Cut
model blocks
Sices
Planar Cut - EW slices spaced NS (switch off)
Introduction to the MineSight Interactive Planner Proprietary Information of Mintec, inc.
Page 13-4 Part #: E002 Rev. B
Notes:
North
East
model blocks
Sices
Planar Cut - NS slices spaced EW (switch on)
Cut
The Area also has a single Ore Item consisting of a set of model view items and
parameters that determine the reserves binning methodology.
Only a Grade Item is required to define an Ore Item. The other parameters are
optional. The cutoffs for the Grade Item are set when the Material Set is defined. Note
that up to 20 Grade Items can be selected. The first one is referenced when specifying
cutoff values on the Material Set cutoff table. To compute reserves based on an
accumulated grade (as opposed to an average grade), toggle the Accum box to the right
of the Grade Item. This could be used to accumulate Ounces/block or Barrels of
Oil/block.
The Zone Item is a model item containing integer values corresponding to the Value
in the Material Set definition. If no Zone Item is specified the material will be assigned
to the default zone in the Material Set. Obviously only one zone, the default, will be
used for binning if no Zone Item is specified.
The Ore% Item is a percent item containing the percent ore per model block. The
tonnage in the block based on the Ore% item and the associated grade will get reported
to the ore class (if defined), and the remaining material, with 0.0 grade, will be reported
to the default material.
The Density Item is the model item used to compute the tonnage and will override the
Density in the Material Set definition. If an Ore% Item is also selected, the reported
waste tonnage will use the density of the default Zone in the Material Set. The Density
Item can be one of three types: Tonnage Factor (TF), Specific Gravity (SG), or Factor
which would usually be used to indicate that the Density Item values correspond to the
actual tonnage in the block.
Partials Slice Direction as a Function of Cut Orientation and Switch Toggle
Cut Orientation Switch OFF Switch ON
Planar EW slices spaced NS NS slices spaced EW
EW EW slices spaced vertically Up and down slices spaced EW
NS NS slices spaced vertically Up and down slices spaced NS
Proprietary Information of Mintec, inc. Introduction to the MineSight Interactive Planner
Part #: E002 Rev. B Page 13-5
Notes:
Material Set
Every cut has an associated Material Set. Therefore, at least one Material Set must
exist before cuts can be defined.
An Area can have multiple Material Sets in order to specify different reserves logic
within an Area. Thus reserves could be reported for one period with a certain set of
cutoffs and for a different period with another set of cutoffs. However, this is not the
usual case and, in general, only a single Material Set would be defined.
To define a Material Set, first select an Area and then define the zones in the table.
Up to 100 zones are allowed in each Material Set.
Each zone has a Zone Name which is the label used for reporting this zone. Any row
in the table with a non-blank Zone Name will be part of the Material Set. One of the
zones must be the default where material will go that doesnt fit in any other zone. It is
typical that a Material Set would have at least one zone corresponding to waste.
A zone also has a Value which is a non-negative integer corresponding to the models
Zone Item value, a Density which is used to compute tonnage if the Area does not have
a Density Item, and Cutoffs.
The cutoffs correspond to the Areas first Grade Item and will be sorted into
increasing order when the Material Set is saved. Note that zero is not automatically
inserted as one of the cutoff bins in order to allow negative cutoffs, and you should
generally have a zero cutoff. If you forgot to add zero, insert it at the end and save.
Properties
The properties of the IP Objects underlying Geometry View can be modified via
Edit=>Properties. The IP Object display can be styled by the selected Material Type
or by cutoffs assigned to any of the cut attributes (see Cut Design Attributes).
Recompute Reserves
You can recompute reserves by selecting Edit=>Recompute Reserves. Reserves
will be recomputed for all cuts in the database that reference the current Material Set
displayed on the Materials Sets page.
Cut Design
<Activate the Cut Design dialog by clicking the Design Cuts button on the IP Tool.>
You can minimize the IP Tool at this point, but closing the tool will close the IP Object.
Before designing cuts, defaults need to be set on the Defaults page. The default
parameters will be assigned to cuts when they are created, but, except for the Plane
Label, all the values can be changed when defining new cuts or editing existing cuts.
The Cut Design dialog operates on one cut called the Current Cut shown on the
Design page. From this page you can either edit a cut loaded from the list of existing
cuts on the Cuts page (File=>Open) or design a new cut using existing geometry
(File=>Geometry to cut) or by digitizing a cut in the viewer (File=>New). Note that
each of these options also has a corresponding icon on the tool bar.
When the parameters for the Current Cut are final, save the cut via File=>Save or
the corresponding tool bar button. The Current Cut will be moved into the cut list.
Reserves will automatically be computed for the saved cut and you also have the option
of running selected scripts as specified on the Scripts page when the cut is saved.
Introduction to the MineSight Interactive Planner Proprietary Information of Mintec, inc.
Page 13-6 Part #: E002 Rev. B
Notes: Each cut has five required attributes (Cut Name, Material Set, Plane Label, Mining
Area, and Period ID). You can add additional attributes as described below under
Attributes. The cut can be given a name automatically using the Cut Auto-naming
function described below under Defaults, or you can enter a name, or leave it blank. The
cut name is to help you distinguish cuts in the cut list. Each cut must have an associated
Material Set. The Plane label is determined by the cut geometry and orientation set on
the Cut Options page and is not editable. Additionally each cut has a Mining area and
Period ID. The list of available values for these attributes is defined on the Defaults
page.
Defaults
The first time cuts are designed, a Mining Area ( note: this is not the same as the
Area defined in the IP Tool) and Period ID need to be set.
Mining Area would usually be used to describe a mining location. In an open pit
mine, the Mining Area would normally be the pushback ID or phase ID. For an
underground mine, it would normally describe the operating level or stoping area.
Period ID would typically be used to describe a period in which the cut would be
mined such as the day, week, month, or year. No attempt is made by to use the ID in any
way other than as a description. It could also be used to describe any other attribute
the user wants to associate with the cut.
A Mining Area or Period ID can be defined by clicking the Add button next to the
corresponding text field. <To remove a Mining Area or Period ID, click the Delete
button.> You can select one or all areas or IDs to delete from the list. Right clicking on
the list activates the Select All or Unselect All menu options. The number of cuts having
the selected areas or IDs is also displayed. Note that all cuts corresponding to the
deleted areas or IDs will also be deleted.
There is a provision for auto-naming cuts. Although a cut name is not required, it is
recommended to help distinguish cuts in the cut list. Auto-naming allows the
assignment of a prefix and suffix string attached to an integer value. As new cuts are
defined, the cuts will automatically be named prefix + value + suffix and the integer
value will be incremented by one.
The cut Clipping options and Model Selectability are not yet available.
Cut Options
The cut can be either a Polygon or a Solid (the 2D Extrude option is not yet
available). Only select Solid if you have existing solid geometry objects to be used in
conjunction with the File=>Geometry to Cut option as described below.
For new polygons, you can assign the cut orientation for the purpose of computing
partials. For most situations, the orientation should be computed from the cut. You can,
however, override the computed orientation and assign the cut orientation, if for
example, the cut is not quite planar.
The selected or computed orientation is displayed as part of the cuts Plane Label.
Once the orientation is assigned, it cannot be changed.
Attributes
In addition to the five required attributes (Cut Name, Material Set, Plane Label,
Mining Area, and Period ID), you can add or delete custom attributes to your IP Object.
Each cut will then be assigned a value for the new custom attribute. You can also add
Proprietary Information of Mintec, inc. Introduction to the MineSight Interactive Planner
Part #: E002 Rev. B Page 13-7
Notes:
custom attributes after cuts have been defined. These attributes can be accessed in the
script files and external programs that use the database.
To add custom attributes, the attributes must already exist in your database. You can
add or edit the database attributes by clicking Edit on the Attributes page to activate the
Attribute Editor.
<To add custom attributes from the database to the IP Object, click the Add button. If
your database does not have any additional attributes, you will need to add some using
Edit as described above. Otherwise check the box next to the attributes to add.> The
database default values for each attribute are shown, but you can change the default for
the cuts in the current IP Object. The value for the added attributes will be applied to all
existing cuts and become the default value for all new cuts. At any time you can change
the default value on the Attributes page without affecting the default for the database
attribute and the default will be applied to new cuts. The value for individual cuts can be
modified by editing the cut.
<To delete attributes, click the Delete button and select the attributes to remove.>
The attribute values will be removed from all the IP Objects cuts in the database.
Scripts
Script files are used to conveniently display the calculated reserves.
Select an Accumulation Script using the file chooser. The Autorun option will run the
script whenever a new cut is opened or a value is changed for the Current Cut or if the
cut geometry is edited. If Autorun is not toggled, you can run the script at your
convenience by clicking the Sigma (sum) button on either the Scripts page or the tool
bar.
Up to three additional scripts can be selected. These scripts will be run when their
corresponding Go button is clicked or when a cut is saved if the Run on Save toggle is
checked. These scripts would normally be one of the following: Reporting to file (ip-
report.py), plotting to the viewer (ip-label.py), or generating an Excel file of reserves.
Design
New cuts are created or existing cuts edited on the Design page.
A new cut can be digitized in the viewer by selecting File=>New or the New Cut
button on the tool bar.
When working in 3D mode, it is best to first place an edit grid on the plane you wish
to work on, and then turn on Plane Snap. MS-IP can also be run in 2D mode, which will
make plane selection automatic. Click in the viewer to digitize a closed planar polygon.
When you finish digitizing by clicking right in the viewer, the cut is added to the
Current Cut table on the Design page. The cut will have default values for all the
required attributes and any custom attributes in the IP Object. All items except the Plane
Label are editable.
A new cut can also be defined using existing geometry by using File=>Geometry
to Cut or the Geometry button on the tool bar. If Solid is selected as the Cut Type on
the Cut Options page then you must select a solid geometry object. If Polygon is
selected, then the geometry object must be a polygon. As with digitizing a polygon, the
orientation shown in the Plane Label will correspond to the Orientation selected on the
Cut Options page regardless of the polygons actual orientation.
<Save the cut by selecting File=>Save or the Save button on the tool bar.> The cut
will be moved to the table on the Cuts page and its reserves will be calculated based on
Introduction to the MineSight Interactive Planner Proprietary Information of Mintec, inc.
Page 13-8 Part #: E002 Rev. B
Notes:
the cuts Material Set (and thus the cuts Area) and the cuts geometry and the reserves
will be stored in the database.
The Current Cuts geometry can be edited using the usual MS3D CAD tools via the
Edit Geom button at the bottom of the Design page.
Cuts
All the cuts in the IP Object are displayed in the table on the Cuts page.
The cuts can be sorted by clicking on the column heading and reverse sorted by
clicking the heading again.
A cut can be edited by selecting it in the table and choosing File=>Open or the Open
button on the tool bar, or by right clicking in the table and selecting Open Cut. This will
move the cut into the Current Cut on the Design page where the cuts values can be
changed or its geometry edited. Saving the cut will recompute its reserves.
One or more cuts can be deleted from the IP Object by selecting them in the table and
choosing File=>Delete or the Delete button on the tool bar or by right clicking in the
table and selecting Delete Cuts.
Proprietary Information of Mintec, inc. Quarterly Planning with MS-IP
Part #: E002 Rev. B Page 14-1
Notes:
Quarterly Planning with MS-IP
Learning Objectives
When you have completed this section you will:
A. Be able to create an ODBC connection to an existing database file
B. Create an Interactive Planner Object in MS3D
C. Generate short term planning cuts and reports
ODBC Connection
Prior to using the MineSight Interactive Planning Tool, it is necessary to create a
connection to the Attributed Database using the ODBC Manager in Windows. This can
be done outside of MineSight using Settings=>Control Panel=>Data Sources
(ODBC); alternatively, the ODBC connection can be initialized within MineSight, as
shown in this exercise.
The default Attributed Database is distributed with MineSight and is called
attrib.mdb. <Copy this file from the winexe folder to your project folder and give it an
appropriate name (well use msopip.mdb). Now, from within the MineSight Data
Manager, create a new folder called short term plans. Highlight this new folder, click
right and select New=>Interactive Planner Object. You will be prompted for a
name for the new object; enter msop plan 1 and click OK.> You are now prompted for
the Data Source. You can use an existing ODBC connection or create a new connection
in this dialog. Use the following steps to create a new ODBC connection.
1. On the Machine Data Source tab, click New
2. Select System Data Source as the data source type and click Next
3. Select Microsoft Access Driver (*.mdb) and click Next
4. Click Finish
5. Enter an appropriate Data Source name; this is the name youll use when selecting
this Data Source in future.
Well use msopip as the Data Source name
6. Enter an optional description for this data source, if desired
7. Under Database, click the Select button
8. Choose the msopip.mdb database file form the project folder
9. Click OK to finish creating the ODBC connection
10. You can now select the newly created ODBC connection and click OK
Quarterly Planning with MS-IP Proprietary Information of Mintec, inc.
Page 14-2 Part #: E002 Rev. B
Notes:
Initializing the IP Object
At this point, we need to specify a name for the IP Set; lets use msop01 as the IP Set
name. The IP Set is the collection of the IP Objects Areas, Material Sets, and cuts
(geometry, attributes, and reserves). The database may contain many IP Sets, each with
a unique name; and one or many IP Objects can reference each IP Set. <Click OK to
create the IP Set and go into the IP Tool.>
The next step is to create an Area; an Area is a reference to a model and the items in
the model and specifies the parameters that control reporting logic such as the grade,
topography percent, and whether or not the grade is averaged or accumulated.
To create an Area, we need to specify a Model View - the selected Model View will
be automatically opened when selected. Once the Model View is selected, specify a
thickness item if applicable, a TOPO or Mined Out item, and the desired Zone and
Grade items. For this example, well use TOPO, ORE as the Zone item, and Grade items
CUIDS, MOIDS, and EQCU; dont accumulate any of the grades. <Save the Area with
File=>Save or the Save icon. Accept the default name for this exercise.
Now, click on the Material Sets tab to set up the Material Set.> A Material Set is
based on a single Area and defines the cutoff logic for the Areas grade item, the
binning methodology, and the density specified by the zone/rock code. Fill out the
Material Set tab as shown in the following table:
Zone name Value Default Density Cutoff Cutoff Cutoff Cutoff
proven 1 2.7 0 0.3 0.6 1
probable 2 2.7 0 0.3 0.6 1
possible 3 2.7 0 0.3 0.6 1
waste 4 R 2.7 0 - - -
<Specify an Area (Area1) and save the Material Set as matset1. Click the Design
Cuts button.>
Cut Design
Before actually creating cuts, its necessary to set some default values, and you may
also wish to set some optional attributes as well. <To set the defaults, click the Defaults
tab.>
The first time cuts are designed; a Mining Area (note: this is not the same as the
Area defined in the IP Tool) and Period ID need to be set.
The Mining Area would usually be used to describe a mining location. In an open pit
mine, the Mining Area could be the pushback ID or phase ID. For an underground mine,
it could describe the operating level or stoping area.
Period ID would typically be used to describe a period in which the cut would be
mined such as the day, week, month, or year. No attempt is made by to use the ID in any
way other than as a description. It could also be used to describe any other attribute
that the user wants to associate with the cut.
Proprietary Information of Mintec, inc. Quarterly Planning with MS-IP
Part #: E002 Rev. B Page 14-3
Notes:
A Mining Area or Period ID is defined by clicking the Add button next to the
corresponding text field. <To remove a Mining Area or Period ID, click the Delete
button.> You can select one or all areas or IDs to delete from the list. Right clicking on
the list activates the Select All or Unselect All menu options. The number of cuts having
the selected areas or IDs is also displayed. Note that all cuts corresponding to the
deleted areas or IDs will also be deleted.
There is also a provision for auto-naming cuts on the Defaults tab. Although the cut
name is optional, it is strongly recommended to help distinguish cuts in the cut list.
Auto-naming allows the assignment of a prefix and suffix string attached to an integer
value. As new cuts are defined, the cuts will automatically be named prefix + value +
suffix and the integer value will be incremented by one.
Attributes
<To set cut attributes, click on the Attributes tab.> In addition to the five required
attributes (Cut Name, Material Set, Plane Label, Mining Area, and Period ID), you can
add or delete custom attributes in your IP Object. Each cut will then be assigned a value
for the new custom attribute. You can also add custom attributes after cuts have been
defined. These attributes can be accessed in the script files and external programs that
use the database. To add custom attributes, the attributes must already exist in your
database. You can add or edit the database attributes by clicking Edit on the Attributes
page to activate the Attribute Editor.
<To add custom attributes from the database to the IP Object, click the Add button.>
If your database does not have any additional attributes, you will need to add some
using Edit as described above. Otherwise check the box next to the attributes to add.
The database default values for each attribute are shown, but you can change the default
for the cuts in the current IP Object. The value for the added attributes will be applied to
all existing cuts and become the default value for all new cuts. At any time you can
change the default value on the Attributes page without affecting the default for the
database attribute and the default will be applied to new cuts. The value for individual
cuts can be modified by editing the cut.
<To delete attributes, click the Delete button and select the attributes to remove.>
The attribute values will be removed from all the IP Objects cuts in the database. Once
the Defaults and Attributes have been specified, its time to begin creating cuts.
Scripts
MineSight 3-D includes a number of generic Python scripts for working with models
and reserves. For this exercise, well use two scripts from the folder
winexe\scripts\reserves, ip-report.py and ip-allflatreport.py. The first script displays a
screen report similar to that from previous IP versions, while the second generates a
report that is easily imported to a spreadsheet program such as Microsoft
Excel for
convenient post-processing. <Set the scripts on the Scripts tab of the IP Tool; use
ip-report.py as the Accumulation script, and ip-flatreport as the first Additional script;
check the boxes so that the scripts will run automatically on Save.>
Creating Cuts
New cuts are created or existing cuts edited on the Design page. A new cut can be
digitized in the viewer by selecting File=>New or the New Cut button on the tool bar.
Quarterly Planning with MS-IP Proprietary Information of Mintec, inc.
Page 14-4 Part #: E002 Rev. B
Notes: When working in 3D mode, it is best to first place an edit grid on the plane on which
you wish to work, and then turn on Plane Snap. MS-IP can also be run in 2D mode,
which will make plane selection automatic. Click in the viewer to digitize a closed
planar polygon. When you finish digitizing by clicking right in the viewer, the cut is
added to the Current Cut table on the Design page. The cut will have default values for
all the required attributes and any custom attributes in the IP Object. All items except
the Plane Label are editable.
A new cut can also be defined using existing geometry by using File=>Geometry to
Cut or the Geometry button on the tool bar. If Solid is selected as the Cut Type on the
Cut Options page then you must select a solid geometry object. If Polygon is selected,
then the geometry object must be a polygon. As with digitizing a polygon, the
orientation shown in the Plane Label will correspond to the Orientation selected on the
Cut Options page regardless of the polygons actual orientation.
<Save the cut by selecting File=>Save or the Save button on the tool bar.> The cut
will be moved to the table on the Cuts page and its reserves will be calculated based on
the cuts Material Set (and thus the cuts Area) and the cuts geometry and the reserves
will be stored in the database. The Current Cuts geometry can be edited using the usual
MS3D CAD tools via the Edit Geom button at the bottom of the Design page.
All the cuts in the IP Object are displayed in the table on the Cuts page. The cuts can
be sorted by clicking on the column heading and reverse sorted by clicking the heading
again. A cut can be selected for edited by choosing it in the table and clicking
File=>Open or the Open button on the tool bar, or by right clicking in the table and
selecting Open Cut. This will move the cut into the Current Cut on the Design page
where the cuts values can be changed or its geometry edited. Saving the cut will
recompute its reserves.
One or more cuts can be deleted from the IP Object by selecting them in the table and
choosing File=>Delete or the Delete button on the tool bar or by right clicking in the
table and selecting Delete Cuts.
Exercise
Short-Term Planning
Use MS-IP to split the long-the term annual plan for Year Two into four quarterly plans.
GIVEN: Long-term plan for Year Two (see Table 1), where three phases (892, 894 and
896) are active.
Year Two Totals: 25000 KTonnes Ore
20480 KTonnes Waste
REQUIRED: Segment the Year Two Mining Plan into four quarterly plans using
MS-IP
Quarterly Targets: 6250 KTonnes Ore
5120 KTonnes Waste
Proprietary Information of Mintec, inc. Quarterly Planning with MS-IP
Part #: E002 Rev. B Page 14-5
Notes:
Viewer Setup
<Attach the Grid Set igp.vbm_gridset to the MineSight Viewer, if it is not already
attached. Orient the Viewer so that the view is planar with a current plane of 2660 and
place the Viewer in 2D mode. Open the objects 892, 894, 896, and 901; adjust the
properties of the Model View so that youre viewing the ORE item limited by TOPO
greater than 0.1%.> Well begin by mining the 892 phase at this level.
1. Open the Interactive Planner Object msop plan 1.
2. Confirm that the Area and Material Set definitions are correct.
3. Click the Design Cuts button and confirm that the Attributes, Numbering and
Scripts are as desired.
4. Select the 892 contour at the 2660 level using the Geometry to cut function.
Quarterly Planning with MS-IP Proprietary Information of Mintec, inc.
Page 14-6 Part #: E002 Rev. B
Notes:
5. When you accept the cut, the requested report window(s) will be displayed,
depending on the selected reporting script. The report from the ip-report.py script
is displayed here; this is an ASCII text file called report.txt. This report, shown
below, indicates that our first cut contains just over 109 kTons, all of which is
waste.
Proprietary Information of Mintec, inc. Quarterly Planning with MS-IP
Part #: E002 Rev. B Page 14-7
Notes:
6. Save the cut, and another report is generated, again depending on the script chosen.
The report from the ip-allflatreport.py script is another ASCII text file,
reportallflat.txt. At this point, the cut is also moved from current status and is
listed on the Cuts tab of the IP Tool.
7. Change the level to 2645 and repeat steps 4 through 6 above.
8. The report for the 892 phase at 2645 level is shown here: this reports shows that
our total waste for the first two cuts is just over 1060 kTons, and we have now
mined just under 600 kTons of ore out of the 6250 kTon target.
Quarterly Planning with MS-IP Proprietary Information of Mintec, inc.
Page 14-8 Part #: E002 Rev. B
Notes:
Proprietary Information of Mintec, inc. Quarterly Planning with MS-IP
Part #: E002 Rev. B Page 14-9
Notes:
We have now mined a total of just over 599 kTon of the 6250 kTon required for our
quarterly schedule, so we can change to the 2630 level and repeat steps 4 through 6
again: The resulting report is displayed below.
The report indicates that we have now mined a total of 4237.5 kTon, so in order to
meet our quarterly goal, we only need an additional (6250 - 4237.5) = 2012.5 kTon.
Lets move down to the 2615 level and repeat steps 4 through 6 to obtain this remaining
ore.
Quarterly Planning with MS-IP Proprietary Information of Mintec, inc.
Page 14-10 Part #: E002 Rev. B
Notes:
When we choose the 892 phase at 2615, we find that we now have well over the
requirements for the quater. So well need to edit the cut. <To do this, click the Edit
geom button in the MS IP Tool; this will put the new cut into Selection mode, allowing
access to the full range of MS3-D editing tools. Well adjust the size of the cut using
these tools, eventually ending with just the Southern portion of the phase.>
Proprietary Information of Mintec, inc. Quarterly Planning with MS-IP
Part #: E002 Rev. B Page 14-11
Notes:
<Delete points as necessary around the North side of phase 892; each time you save
your edits, a new report will be generated with updated values.>The final cut outline to
reach our target of 6250 kTons is shown below.
The resulting report is displayed and indicates that although we have reached our
target of 6250 kTons of ore, we are short on the scheduled tonnage of waste, having
only 3306.7 kTons out of the scheduled 5120 kTons.
Quarterly Planning with MS-IP Proprietary Information of Mintec, inc.
Page 14-12 Part #: E002 Rev. B
Notes:
To acquire the necessary waste to meet our schedule target, well go back up to the
2645 level and mine the area between the 892 and 894 phases. This time well digitize
our cut, outlining the area between the 89, 894, and 901 features on the 2645 level, as
shown below. Use a combination of line snap and polyline snap to aid you in the task.
The report from cut % indicates that we are still a bit short on our waste target (5120 -
4363.6 = 483.4 kTons).
Proprietary Information of Mintec, inc. Quarterly Planning with MS-IP
Part #: E002 Rev. B Page 14-13
Notes:
Well move down to the 2630 level in order to access the waste to finish out our
quarterly schedule. Repeat the previous steps, and the report indicates that taking all of
the material at level 2630 will give us 6767.5 kTons of waste, so we again will edit the
cut, yielding a final cut with its report. Note that a small additional amount of ore was
mined in order to meet the quarterly waste target.
Quarterly Planning with MS-IP Proprietary Information of Mintec, inc.
Page 14-14 Part #: E002 Rev. B
Notes:
Proprietary Information of Mintec, inc. Plotting in MineSight 3-D
Part #: E002 Rev. B Page 15-1
Notes:
Plotting in MineSight 3-D
Learning Objectives
MineSight 3-D has a convenient, simple interface for producing scaled plots using the
data that is displayed in the viewer. When you have completed this section, you will
know how to:
A. Set up the Title Block and Legend (if desired).
B. Set up the Plot Layout itself, using the desired Title Block, Legend, and Area(s).
Title Blocks
Title Blocks are one type of text data object in MineSight 3-D; other text data
includes labels such as Drillhole labels and User labels, which are used as annotation.
<To create a new Title Block, highlight the desired folder in the Data Manager, click
right, and choose New I Title Block. Name the Title block and click OK; then double-
click on the Title Block name in the Data Manager.> This will bring up the Title Block
Editor, shown below. The Title Block Editor dialog consists of two main tabs, the Title
tab and the Info tab. The Title tab is on top by default, and is where the actual creation
of the title block occurs, so that will be the main focus of this section.
The Title tab
The Title tab consists of two main areas: the large window on the left is a
representation of the Title Block, where the various entries can be edited, while the right
side of the tab has a number of toggles and windows for specification of the Title Block
size, text size and text alignment. A second window at the bottom of the right side
contains a list of the variables that can be used to automatically include selected project
Plotting in MineSight 3-D Proprietary Information of Mintec, inc.
Page 15-2 Part #: E002 Rev. B
Notes:
information in the Title Block. A number of these listed variables are brought up as
defaults when the Title Block Editor is invoked, including the date, time and scale
factors in the x and y directions.
Creation of the Title Block generally begins with the entry of a project name in the
designated field; if a different layout of information is desired, the defaults can be edited
by clicking the desired field and typing over the default entries. If different formats for
the project data are desired, the list in the right hand window provides the variables for
the most commonly used data formats. Again, these can be edited by clicking in the
desired field and typing over the default entries. This section of the Title tab also
contains buttons that can be used to add, remove or move columns and/or rows in the
Title Block. As an example, the figure below shows the initial setup for a Title Block for
a project called Mintec inc., using a month/day/year date format and an hours/minutes
format for the time. In addition, we have chosen to add entries for the maximum and
minimum plot extents in both the x and y directions.
The right side of the Title tab allows the user to set specifications for the Row Height,
Font Size, Font Alignment, and Column Width. There are four default fonts from which
to choose; however, you can gain access to all the fonts on your system by adding an
entry to your System Registry. When changes are made in these windows, it is
necessary to either press the Tab or Enter key to set the changes before moving to
another row. Row Height and Font Size are based on rows; all boxes in the same row
will have the same height and font size. The Total Width and Total Height, displayed at
the top of this section, are calculated depending on the specifications in the windows
below and the number of rows and columns. The Title Block dimensions are calculated
and stored in absolute units - you specify whether to use centimeters or inches.
Note: this window does not visibly reflect the changes in Row or Column width and
height. To see these changes click on the Preview button.
The Info Tab
The second tab in the Title Block Editor is the Info tab, which displays relevant
information about the Title Block data object. This information includes the Name of
the Title Block, the data type, location, and size; in addition, the time and date of
creation and most recent editing are also displayed. Finally, there is a large window that
is available for the entry of User Notes. <When the Title Block has been created, click
on the Applybutton, then the Closebutton to return to your MineSight 3-D project.>
Legends
A Legend is a type of data object that can be inserted into a MineSight 3-D Plot
Layout; just as with other data objects, it is created from the Data Manager. <To create
a Legend object, highlight the desired folder in the Data Manager, click right, and
choose New I Legend.>
Proprietary Information of Mintec, inc. Plotting in MineSight 3-D
Part #: E002 Rev. B Page 15-3
Notes:
The Properties dialog for the Legend object can be accessed by double clicking on
the Legend name in the Data Manager, or by clicking right and selecting Properties. The
Common tab allows you to define the type of data the Legend will display (Company
Logo, Cutoff Table, Drillhole View, or Model View).
Each of the choices on the Common tab activates a corresponding definition tab.
Each of the different definitions presents the selected data in a different way, and these
are shown in the figures that follow.
A Company Logo or
any other *.jpg or
*.png image file can
be inserted. This logo
can then be positioned
and/or resized as
necessary in the Plot
Layout.
Plotting in MineSight 3-D Proprietary Information of Mintec, inc.
Page 15-4 Part #: E002 Rev. B
Notes:
A MineSight Cutoff
Item can be
specified as the
source for the
Legend data. Either
Colors or Patterns
can be chosen for
cutoff
The Drillhole
option creates a
display showing
the name of the
DH View and any
Strips or Labels
defined.
Proprietary Information of Mintec, inc. Plotting in MineSight 3-D
Part #: E002 Rev. B Page 15-5
Notes:
The Model
option creates a
display showing
the name of the
Model View and
the Item defining
the Display
Cutoffs.
Once you have built your Legend and are satisfied with the preview, be sure to click
Apply, then Close. We will insert the Legend into our Plot Layout as part of the next
step.
Plot Layouts
Plot Layouts are an arrangement of areas, defined and positioned using the Plot
Layout Editor. Areas can be Title Blocks or Viewers, either the current Viewer or any
other Viewer in the project. Plot Layouts are created by highlighting the desired folder
in the Data Manager, clicking right and selecting New I Plot Layout. Access the Plot
Layout Editor by highlighting the desired plot layout in the Data Manager, clicking
right, and choosing Properties from the dropdown menu. Like the Title Block editor, the
plot layout Editor also consists of two tabs the Layout tab and Info tab. The Layout
tab (shown on the next page) is where the Plot Layout creation takes place, so this will
be the main focus of our discussion.
The Layout tab
The Layout tab has two sub-tabs, the Page tab and the Area tab.
Area tab
The Layout Area tab permits a wide range of flexibility in the selection and
positioning of different areas in the scaled plot. By default, a plot contains one area that
consists of the currently active Viewer; the yellow icon on the Area tab represents this
Viewer in the Plot Layout Editor.
In order to change the Area properties, it is necessary to select the area by clicking
left on the Area tab, activating the configuration options (see display image on next
page). To change the area boundaries on the plotted page, click left on one of the drag
handles visible when the area is selected, and drag it to the desired position. The entire
area can be moved on the page by clicking anywhere else on the area and dragging it to
the desired location. Precise values for these options can also be entered in the windows,
using either absolute units (inches or centimeters, depending on the project units) or as a
percentage of the plot size. The six buttons at the top of the panel control the directions
available for direct configuration; the top row controls horizontal configuration options,
while the bottom row of buttons controls vertical configuration options. To disallow
Plotting in MineSight 3-D Proprietary Information of Mintec, inc.
Page 15-6 Part #: E002 Rev. B
Notes:
moving an area, click the Lock Area checkbox. The draggability and configuration
options apply only to the selected area if there is more than one area in the Plot Layout.
The area list contains the various areas (Viewers, Title Block, Legends, etc.) currently
loaded to the Plot Layout. Additional viewers and other plot layout components can be
added, removed or rearranged using the icons on the right side of the list.
The Move Area buttons control the relative position of overlapping areas; clicking the
Up button brings the selected area up one layer, while clicking the Top button moves
the selected area to the top of the stack. Similarly, clicking the Down button moves the
selected area down one layer, while the Bottom button moves the selected area to the
bottom of the stack. To implement the selected configuration options, click the Apply
button.
Proprietary Information of Mintec, inc. Plotting in MineSight 3-D
Part #: E002 Rev. B Page 15-7
Notes:
Add a new area with the plus icon; the new object will be a Current Viewer by
default, but once it is selected you can change its type to a named Viewer, a Title Block,
a North Arrow or a scale bar, then resize and place it as desired. Remove the selected
Area with the minus icon.
By default, the main viewers grid set is the controlling grid set. You can also select a
named viewer in the plot layout window and then check use the viewer areas grid
set box. The grid set used as the controlling grid set is the one from which plane(s) to
be plotted are selected. If you want to use the grid set limits, make the additional
settings in the Plot Settings window as described below.
By default, MineSight 3-D will automatically calculate the most appropriate scale,
depending on the page size and Viewer zoom setting. The scale is based on the project
units, either inches or millimeters.
Page tab
The second portion of the Layout tab is the Page tab, shown below. Under the Layout
tab, the Page tab allows the specification of page size and orientation using two
windows with drop-down menu selections. If none of the standard paper size selections
are appropriate, selection of the custom option activates selection windows for user
entry of page width, height and appropriate units. Orientation selections are Portrait and
Landscape. For the explanation of the Plot Page Settings button, see the following
section.
Plot Page Settings button on the Page Tab
If you want to use the grid set limits or defined limits as the limits of your plot, you
must do these things:
<On the Area tab, verify that the main viewer is the controlling viewer of the
layout, that it has an associated grid set, and that it is set for orthographic
projection on the view options tab of the viewer properties dialog.
On the Area tab, check the box to Use Grid Set or Defined Limits and make sure
the radio button is checked to use the main viewer areas grid set
On the Area tab, choose the two center area configuration icons.> These represent
distance from the left and right edges of the paper to the plot, and the distance
from top and bottom edges of the paper to the plot.
Plotting in MineSight 3-D Proprietary Information of Mintec, inc.
Page 15-8 Part #: E002 Rev. B
Notes:
< Set the distances to some small percentage, such as 5% or 10%.> Using these
settings will allow the page size to change with the scale.
<Now click on the Pagetab, and click on the Plot Page Settings button.> A new
dialog will come up. Leave the radio button checked to Use Viewer Grid Set limits. In
this case, only the scale, text size and text width factors are enabled. You can set the
scale here and plots will be made at the specified scale. The actual size of the plot will
depend on the size of the grid set at the chosen scale.
The line width factor is used to specify the relative thickness of lines plotted vs. their
thickness on screen. If you would like polylines to plot thicker than they currently do,
increase this factor. In both the plot preview and the actual plot, the line thickness will
be increased.
The text width factor can be increased to plot text larger than it appears on the screen
as well.
To plot the Layout, choose one of the options under the Print button; the Printer
selection sends the plot to the system default printer, while the HPGL or PostScript
options allow saving the plot to a file. If you want to save your plotting specifications,
click the Save Set button. Give the set a descriptive name. You can then return to the
plot layout at a later date and choose this set from the Plot Settings Set pulldown menu.
When finished plotting, click the Close button.
Exercise
In this exercise, you will learn how to create simple plot layouts containing title
blocks, multiple viewers, scale bar, and more.
A. <If necessary, turn off the axes by selecting File I Project settings. Click the
Properties tab, and uncheck the Show Axes option.
B. Double click on Geometry Object 901 to activate its properties. Change the
topography contours to brown, and add line elevations. Adjust the size of the
labels.> Recall that these changes are made in the Object Properties dialog.
C. <Set the viewers Azimuth to 0 and the Dip to -90.
D. In the Data Manager, create a new folder called PLOTS.
E. Highlight the folder PLOTS, click right, and select New I Plot Layout. Name
this first layout SET1.
F. Double click on SET1 to activate its properties. Click the Print button and then
the Previewoption.>
What you see is exactly what is shown in the only active MineSight viewer.
Scaled Plots
Now, lets create a scaled plot in a specific paper size and layout position. To
accomplish this, do the following:
Proprietary Information of Mintec, inc. Plotting in MineSight 3-D
Part #: E002 Rev. B Page 15-9
Notes:
A. <In the same plot layout (SET1), set the page size to D, by scrolling down the
first down arrow on the Page tab. Set the position to Landscapeby scrolling
down the second down arrow.
B. Click the Plot Page Settings button and enter 5000 for both axes. Press the Tab
key when done entering the scale. Click Apply, then OK.
C. Go to Print I Preview to see the preview of the scaled plot of your topography
contours with line elevations.>
Note: The Preview window can be maximized by double clicking on the title bar.
Creating a Title Block
A. <Highlight the folder PLOTS, click right and select New I Title Block. Name
this Title Block for SET1. Click OK.
B. Enter MineSight for Geologists as the Project name.
C. Add a row below the project name, enter LOCATION in the first column, and
Tucson, AZ. USA in the second column. You will need to move the row you just
added, up to where you want it, as rows and columns are, by default, added to the
last position. Use the up/down arrows to the right of the window to position the
row in the desired place. Click Applyand then Preview.>
Notice the font is either too big, or the columns are too narrow. You can easily fix
this by changing the size of either one.
D. <Change the width of the columns by highlighting the second column (first row)
and entering 75 for the column width. Click Applyand then Preview.
E. Change the font style to Roman.
F. Click Applyand then Preview.>
Your final Title Block will look like this (next page):
Plotting in MineSight 3-D Proprietary Information of Mintec, inc.
Page 15-10 Part #: E002 Rev. B
Notes:
G. <Close the title block preview by clicking OK, and then close the Title Block
Properties dialog.>
Adding a Title Block to the Plot Layout
To add the title block to your plot, you need to add a new area and then select the file
representing your title block.
A. <Double click on SET1 (inside the PLOTS folder) to activate the Plot Set
properties.
B. Go to the Area tab and click the Add Area button (plus icon).
C. Specify what information you want to be included on this new area. Go to Type
and scroll down (down arrow) to select the Title Block option.>
D. You can move the Title Block area by clicking the area while holding down the
left button of your mouse and dragging it. You can also use the area configuration
windows to position the Title Block. Note that the size of the Title Block cannot
be changed in the Plot Layout dialog.
E. <Click Applyand then Print I Preview to see the modified plot layout.>
In the event that you have more than one title block and you wish to select a specific
one, click the Select Object button and choose it from the browser. If you wish to
change the size of the title block horizontally and/or vertically, you can do it in the Title
Block editor by increasing or decreasing the column/row size.
Lets make our title block a little bigger.
A. <In the Data Manager, activate the properties of Title Block for SET1.
Proprietary Information of Mintec, inc. Plotting in MineSight 3-D
Part #: E002 Rev. B Page 15-11
Notes:
B. Highlight the first column, first row, and change the column width to 75. Press
the Tab key.
C. Change the row height to 15 and the font size to 5. Press the Tab key, click Apply,
then Preview.> You will notice that only the height and font size of one row was
modified. This is done so that if different font types and sizes are required for
specific rows, the user has the option to set the requirements individually for
each row.
D. <Highlight the second column in the first row and change the size to 100. Click
Apply.
E. Click Previewand close the title block properties. Answer Yes to Save the changes
to the title block? >
Next, you will want to see how the modified title block is going to look on your plot
layout. <Go back to your plot layout (SET1), which should still be in the viewer. Click
the area representing the title block.> You may need to move this added area a little, so
it is completely inside the main area; to align the edges of the Title Block with the edges
of the plot border, enter the same values for each object in the Area tab of the Plot
Layout. <Click Applyand Previewwhen you are ready to see the result.>
Creating a Legend
A legend is a data object in MineSight 3-D that can be used to add a color key or a
company logo to your Plot Layout. A legend is created in the same manner as any other
MineSight 3-D object:
A. <Highlight the folder in which the legend will reside (well use the PLOTS folder),
click right, and select New I Legend. Lets name this Legend object Mintec
logo.
B. Open the Properties dialog for the new Legend object by double-clicking Mintec
logo in the Data Manager. There are four options available on the Common tab
- Company Logo, Cutoff Table, Drillhole View, and Model View; well use the
Company Logo option initially, so check the corresponding radio button and
click on the Company tab.
C. Click the pick file icon and select the file MintecLogo.jpg; the Legend tool accepts
*.jpg and *.png format image files. Click Apply, then Preview; if the preview is
satisfactory, click Close.>
Adding a Legend to the plot layout
A legend is an additional area that needs to be added to the Plot Layout. To add the
Legend:
A. <Open the Properties of SET1.
B. On the Area tab, click the Add Area Button (plus icon) to add an area to the plot,
and click on the new area to select it.
C. Enter the correct values for aligning the Legend with the plot border as desired;
examine the values for the main plot area and/or other areas for the required
values to match existing alignments.
D. Click Apply, then Previewto see how the legend will be plotted.>
Plotting in MineSight 3-D Proprietary Information of Mintec, inc.
Page 15-12 Part #: E002 Rev. B
Notes:
Adding a scale bar to the plot layout
A scale bar is also considered to be an area in your plot layout. So now you need to
incorporate an additional area into your layout, selecting the scale bar as the information
to be included on this new area.
A. <On your Plot Layout, go to the Area tab and click the Add Area Button.
B. Click left where you want this new area to be placed on the plot area (red cube
with white arrow). Adjust the size and location as desired.
C. Go to the Type option and scroll down to select the Scale Bar option.
D. Under Move Area, click the Top button. Click Applyand then Preview.>
If you wish to include grids in your plot, you can do the following:
A. <Activate the properties of the current viewer by highlighting <unnamed>and
then double clicking on the file called Viewer 1.
B. Click the Grids tab. Under Style, scroll down to select Labels and Lines.
C. Change the label size to 1.2 % of the view window and click Apply.
D. Go back to SET1 and click the Print I Preview.>
MineSight allows you to include additional information in your plot layouts, such as
multiple viewers, North Arrow, legends, etc.
Proprietary Information of Mintec, inc. M821V1 - Long-Range Scheduling Open Pit Mines
Part #: E002 Rev. B Page A-1
Appendix A
M821V1 Summary
M821V1 - Long-Range Scheduling Open Pit Mines Proprietary Information of Mintec, inc.
Page A-2 Part #: E002 Rev. B
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 8215
1. NAMES LINE (must be the first line entered)
MEDS- M821V1 10=filename 3=filename 23=filename 25=filename;
MEDS- M821V1 34=filename 33=filename 29=filename;
MEDS- M821V1 30=filename 31=filename 32=filename 19=filename;
MEDS- M821V1 24=filename 35=filename 36=filename 37=filename;
MEDS- M821V1 38=filename 39=filename 28=filename 20=filename
where
MEDS- M821V1 (must be the first 10 columns)
10 = the name of the PROJECT CONTROL FILE (input)
3 = the name of the REGULAR REPORT FILE (output)
23 = the name of the SCHEDULING ASSUMPTION FILE (output)
25 = the name of the AUDIT TRAIL OUTPUT FILE (output)
34 = the name of the SCHEDULE SUMMARY REPORT FILE FOR SPREADSHEET (output)
33 = the name of the OPTIONAL RESTARTING OUTPUT FILE FOR NEXT RUN (output)
29 = the name of the YEAR END MAP PLOT FILE (plt821.paa) (output)
30 = the name of the DESTINATION CAPACITY FILE (input)
31 = the name of the OPTIONAL TRUCK HAULAGE CYCLE TIME FILE (input)
32 = the name of the OPTIONAL RESTARTING INPUT FILE FOR CURRENT RUN (input)
19 = the name of the OPTIONAL ASCII FORMAT MULTI-MODEL FILE (input).
24 = the name of the OPTIONAL BENCH PARAMETER FILE (input)
35 = the name of the OPTIONAL DUMPING RATE BY DUMP BY PERIOD FILE (input)
36 = the name of the OPTIONAL #BOTTOM BENCHES BY PHASE BY PERIOD FILE (input)
37 = the name of the OPTIONAL MINING RATE BY PHASE BY PERIOD FILE (input)
38 = the name of the OPTIONAL CUTOFF GRADE BY PHASE BY PERIOD FILE (input)
39 = the name of the OPTIONALVERTICAL ADVANCE BY PHASE BY PERIOD FILE (input)
28 = the name of the OPTIONAL CASH FLOW FILE (input).
20= the name of the OPTIONAL ECONOMIC PARAMETER ADJUSTMENTS BY PERIOD FILE (input)
2. RUN INFORMATION LINE (max. of 80 columns)
A single line of text information that will be printed at the top of each page of printer output from the run (regular report
file).
3. RUN OPTIONS (in any order & free- field format)
USR = USER INITIALS (e.g., ABC)
IOP1 = THE PRIMARY GRADE ITEM TO READ
IOP2 = THE SECONDARY GRADE ITEM TO READ
IOP3 = THE TERTIARY GRADE ITEM TO READ
NOTE: The grade items refer to their order of positions in the reserve files.
Only the primary and secondary grades can be used for revenue calculations.
The tertiary grade is for reporting and blending purposes.
M821V1 LONG-RANGE SCHEDULING FOR OPEN PIT MINES
with Trucks, Shovels, Destinations, and Economics
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 8216 DOCUMENTATION Revised: 31-May-2002
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 8217
IOP8 = OPTION FOR PROCESSING ALL MINED TYPE 1 MILL FEED MATERIALS
= 0 NO IMPACT
= 1 PROCESS ALL MINED TYPE 1 MILL FEED MATERIALS (I.E., NO DIRECT
MILL STOCKPILING)
IOP11 = NUMBER OF PERIODS FOR SCHEDULE RUN, E.G., IOP11 CAN BE LESS THAN THE NUMBER OF
PERIODS DEFINED ON PRODUCTION REQUIREMENT LINE (TYPE 13 INPUT)
IOP12 = SCHEDULE MATERIAL NUMBER FOR FEED MATERIALS BELOW PERIOD CUTOFF WHEN
VARIABLE CUTOFF BY PHASE OPTION IS USED (FILE 38)
IOP13 = OPTION FOR USING NET $/TON VALUES AS 1
ST
AND 2
ND
GRADES
= 0 NO IMPACT
= 1 1
ST
GRADE IS NET $/TON FOR MILL ORE FOR ECONOMIC CALCULATIONS
2
nd
GRADE IS NET $/TON FOR MATERIALS BELOW PERIOD CUTOFF GRADE, INCLUDING
WASTE
= 2 1
ST
GRADE IS RECOVERABLE GRADE FOR MILL ORE
2
nd
GRADE IS RECOVERABLE GRADE FOR LEACH ORE
NOTE: IOP13=1 is designed to handle complex variable costs and recoveries by rock types.
IOP13=2 is used only when IOP29=2.
IOP17 = OPTION FOR ALLOCATION OF MINED MATERIALS TO THEIR DESTINATIONS
= 0 MATERIAL DESTINATION BY SHORTEST HAUL (Default)
= 1 MATERIAL DESTINATION BY LINEAR PROGRAMMING BASED ON MINIMIZATION OF
HAULAGE CYCLE TIMES AMONG ALL MINED PITS AND AVAILABLE DESTINATIONS
(not implemented yet).
IOP19 = RESTARTING FLAG
= 0 PRODUCE PERIOD BY PERIOD SCHEDULES FROM PERIOD 1
= N RESTART FROM PERIOD N. THE SCHEDULE FROM PERIOD 1 TO PERIOD N-1
IS READ IN FROM FILE 32
IOP21 = CRITERIA TO CHOOSE A MINING SOLUTION
= 1 MINIMIZE NET VALUE (WHAT IF)
= 2 MINIMIZE PRIMARY MINERAL CONTENT (WHAT IF)
= 3 MINIMIZE STRIPPING RATIO
= 4 MINIMIZE HAULAGE & LOADING COST
= 5 MINIMIZE HAULAGE HOURS
= 6 MINIMIZE QUANTITY OF EXPOSED ORE (WHAT IF)
= 7 MINIMIZE NET OPERATING PROFIT (NOPAT) (WHAT IF)
= 8 MINIMIZE CASH FLOW (WHAT IF)
= 9 MINIMIZE RETURN OF CAPITAL (ROC) (WHAT IF)
= 10 MINIMIZE COST OF UNIT METAL (E.G., $/LB)
= 11 MAXIMIZE NET VALUE (Default)
= 12 MAXIMIZE PRIMARY MINERAL CONTENTS
= 13 MAXIMIZE STRIPPING RATIO
= 14 MAXIMIZE HAULAGE AND LOADING COST (WHAT IF)
= 15 MAXIMIZE HAULAGE HOURS (WHAT IF)
= 16 MAXIMIZE EXPOSED ORE TONS
= 17 MAXIMIZE NET OPERATING PROFIT (NOPAT)
= 18 MAXIMIZE CASH FLOW
= 19 MAXIMIZE RETURN OF CAPITAL (ROC)
= 20 MAXIMIZE COST OF UNIT METAL (E.G., $/LB) (WHAT IF)
NOTE: Some of the above objectives are for trial schedule purposes only. The criteria 7-10 and
17-20 are to be used with optional cash flow (File 28) inputs.
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 8218 DOCUMENTATION Revised: 31-May-2002
IOP22 = TYPE OF PRIMARY GRADE
= 0 PERCENT & PRODUCT SELL AS $/LB
= 1 OZ/TON & PRODUCT SELL AS $/OZ, OR GRAMS/TON & PRODUCT SELL AS $/GRAM, OR
LB/TON & PRODUCT SELL AS $/LB
= 2 PERCENT & PRODUCT SELL AS $/TON (INDEPENDENT OF GRADE)
= 3 MULTIPLY GRADE BY A FACTOR OF 0.01
IOP23 = TYPE OF SECONDARY GRADE
= 0 PERCENT & PRODUCT SELL AS $/LB
= 1 OZ/TON & PRODUCT SELL AS $/OZ OR GRAMS/TON & PRODUCT SELL AS $/GRAM, OR
LB/TON & PRODUCT SELL AS $/LB
= 2 PERCENT & PRODUCT SELL AS $/TON (INDEPENDENT OF GRADE)
If IOP29=2, THE SECONDARY GRADE IS NOT USED FOR ECONOMIC REVENUE CALCULATION
= 3 MULTIPLY GRADE BY A FACTOR OF 0.01
IOP24 = DEBUG PRINT OF ERROR MESSAGE WHEN A MATCH BETWEEN A DESTINATION (LIFT) AND
PHASE (BENCH) IS NOT FOUND
= 0 DO NOT PRINT (suggested)
= 1 PRINT ERROR MESSAGE
IOP25 = OPTION FOR PERIOD BOTTOM MINING
= 0 ALLOW DIFFERENT MINING RATE BETWEEN MILL ORE AND OTHERS
(OTHERS=WASTE, LEACH, AND STOCKPILE MATERIALS)
= 1 DO NOT ALLOW DIFFERENT MINING RATE BETWEEN ORE AND OTHERS. IF THERE IS NO
SOLUTION FOR THE SAME MINING RATE, DROP THE MINING LAYOUT AS INFEASIBLE
IOP26 = OPTION FOR RANKING PUSHBACKS BY ECONOMICS
= 0 RANK PUSHBACKS BY ECONOMICS
= 1 DO NOT RANK PUSHBACKS BY ECONOMICS
IOP27 = REPORT PRINT OPTION
= 1 PRINT MINING SUMMARY REPORTS ONLY (Default)
= 2 PRINT EQUIPMENT USAGE REPORTS ONLY
= 4 PRINT COST REPORTS ONLY
= 8 PRINT DESTINATION USAGE ONLY
= 3 PRINT MINING SUMMARY AND EQUIPMENT USAGE REPORTS
= 7 PRINT MINING SUMMARY AND EQUIPMENT USAGE AND COST REPORTS
= 15 PRINT ALL SUMMARY TABLES IN STANDARD REPORT FILE
= 19 PRINT SUMMARY REPORTS + ECONOMICS + DESTINATION USAGES
IOP28 = FLAG FOR SENDING HIGH- GRADE LEACH ORE TO LOW-GRADE LEACH ORE DESTINATIONS OR
VICE VERSA
= 0 DO NOT TURN THE FLAG ON (HIGH-GRADE LEACH ORE GOES ONLY TO HIGH- GRADE
LEACH DESTINATIONS. LOW- GRADE LEACH ONLY GOES TO LOW GRADE LEACH
DESTINATIONS.)
= 1 TURN THE FLAG ON (HIGH- GRADE LEACH MAY BE SENT TO LOW-GRADE LEACH
DESTINATIONS IF PERIOD HIGH- GRADE LEACH DESTINATION CAPACITIES ARE USED UP.
SIMILARLY, IF PERIOD LOW- GRADE LEACH DESTINATION CAPACITIES ARE USED UP, SEND
LOW- GRADE LEACH MATERIALS TO HIGH- GRADE LEACH DESTINATIONS. THE MATERIALS
WILL BE CLASSIFIED BASED ON THE DESTINATIONS TO WHICH THEY ARE SENT.
FOR EXAMPLE, HIGH- GRADE LEACH MATERIAL SENT TO LOW- GRADE LEACH
DESTINATION DUMPS WOULD BE CLASSIFIED AS LOW- GRADE LEACH. THE PRICES,
RECOVERIES, AND COSTS WILL BE APPLIED ACCORDING TO THE DESTINATION.)
NOTE: IOP28 is only used for high- grade and low- grade leach materials, e.g., when IOP29 = 1.
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 8219
IOP29 = LEACH/MILL OPERATION
= 0 MILL and LEACH
= 1 OPERATION HAS LEACH DUMPS ONLY AND TARGET ON MINERAL CONTENTS
= 2 OPERATION HAS MILL ORE (MILL ORE LIMIT IN TONS), OXIDE ORE (LEACH ORE LIMIT IN
TONS), HIGH- GRADE LEACH (NO LIMIT), LOW-GRADE LEACH (NO LIMIT). SXEW TARGET ON
MINERAL CONTENTS IS REQUIRED FROM ALL LEACH SOURCES, E.G., OXIDE ORE, HIGH-
GRADE, AND LOW-GRADE LEACH DUMPS
= 3 OPERATION HAS CRUSH LEACH & RUN-OF-MINE LEACH & TARGET ON METAL
= -1 OPERATION HAS MILL, OXIDE LEACH (LIMIT CAPACITY), RUN-OF-MINE LEACH
= -2 THE SAME AS IOP29=0 EXCEPT MILL RATE WILL BE RELAXED TO MEET MINERAL
CONTENTS (E.G., POUNDS OF COPPER)
IOP30 = ACCOUNT FOR THE LOW GRADE LEACH AS HIGH GRADE LEACH FOR STRIPPING RATIO
CALCULATION WHEN IOP29 = 1?
= 0 NO
= 1 YES
NOTE: IOP28, IOP29=1, IOP30, are designed for the type of operation which targets on pounds of copper with
high- grade & low-grade leach materials as ore.
IOP31 = OPTION FOR CHANGING THE NUMBER OF PITS WORKING IN ONE PERIOD
= 0 THE NUMBER OF PITS WORKING DOES NOT CHANGE
= 1 THE NUMBER OF PITS WORKING MAY BE CHANGED AUTOMATICALLY BY THE PROGRAM
IOP32 = ALLOW USE OF THE DEFAULT CYCLE TIME IF NO CYCLE TIME AVAILABLE IN THE DETAILED
CYCLE TIME FILE 31
= 0 YES
= 1 NO
IOP33 = OPTION FOR READING THE VARIABLE MINING COST BY BENCH
= 0 NO
= 1 YES
IOP34 = NUMBER OF ITERATIONS FOR EACH WORKING COMBINATION OF PUSHBACKS BEFORE
PROGRAM TERMINATES THE MINING LAYOUT SEARCH FOR THE CURRENT PERIOD
= N (Default = very large number, suggest 500,000)
IOP35 = 0 MINE ORE/WASTE BY THE SAME PROPORTIONS ON ALL BENCHES, ACCORDING TO
STRIPPING RATIOS
= 1 READ FLAGS BENCH BY BENCH, TO DETERMINE ORE/WASTE MINING ORDER
NOTE: Please refer to optional bench parameter file (File 24) for more details when IOP35=1.
IOP36 = OPTION FOR VARIABLE PROCESSING RATE
0 = NO IMPACT
1 = THE 3
RD
GRADE IS PROCESSING RATE IN 1000 TONS/HOUR
NOTE: If IOP36=1, the targets for the 3
rd
metal are processing hours. All the mined Type 1 ore in the period will
be processed, e.g., the mill throughput is controlled by processing hours.
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82110 DOCUMENTATION Revised: 31-May-2002
IOP301 = DEFAULT WASTE TYPE, E.G., ONE OF THE 101, 102, 103, 104, 105, AND 106 WASTE TYPES FOR
WHEN A TYPE 1 MILL FEED DESIGNATE PRODUCTION CLASS IS BELOW THE PERIOD
CUTOFF (REFER TO TYPE 13 DATA INPUT)
IOP401 = MAXIMUM NUMBER OF PHASES (50)
IOP402 = MAXIMUM NUMBER OF PHYSICAL MEDIUM, LOW, AND SUB- GRADE TYPE 1 MILL FEED
STOCKPILES (30)
IOP403 = MAXIMUM NUMBER OF BENCHES INCLUDING ALL PHASES (I.E., FROM THE HIGHEST BENCH
IN ANY PHASE TO THE LOWEST BENCH IN THE SAME OR ANY OTHER PHASE) (100)
IOP404 = MAXIMUM NUMBER OF PERIODS IN THE SCHEDULE (100)
IOP405 = MAXIMUM NUMBER OF PRODUCTION OR PIT PRECEDENCE CONSTRAINTS
(PRECEDENCE REQUIREMENTS I, II, III, AND IV) (2,000)
IOP406 = MAXIMUM NUMBER OF TRUCK FLEETS (100)
IOP407 = MAXIMUM NUMBER OF SHOVEL FLEETS (20)
IOP408 = MAXIMUM NUMBER OF DETAILED HAULAGE RECORDS (200,000)
(TOTAL LINE ENTRIES IN THE DETAILED HAULAGE CYCLE TIME FILE (INPUT FILE 31)
IOP409 = MAXIMUM NUMBER OF RESERVE CLASSES AS DEFINED BY THE RESERVE ROUTINES
(E.G., PITRES OR M712V1) (100)
IOP410 = MAXIMUM NUMBER OF GRADES AS DEFINED BY THE RESERVE ROUNTINES
(E.G., PITRES OR M712V1, 20)
IOP411 = MAXIMUM NUMBER OF ORE PHYSICAL DESTINATIONS
INCLUDING ALL BUT WASTE DESTINATIONS (90)
IOP412 = MAXIMUM NUMBER OF WASTE PHYSICAL DESTINATIONS (30)
IOP413 = MAXIMUM NUMBER OF LIFTS FOR AN ORE DESTINATION, E.G.,
IF THE NUMBER OF LIFTS FOR DESTINATIONS 1,2,3, AND 4 ARE 45, 48, 50, 2
RESPECTIVELY, IOP413 = 50 (50)
IOP414 = MAXIMUM NUMBER OF LIFTS (SUB_REGIONS) FOR A WASTE DESTINATION, E.G.,
IF THE NUMBER OF LIFTS (SUB_REGIONS) FOR DESTINATIONS 1,2,3, AND 4 ARE 45, 48, 50, 2
RESPECTIVELY, IOP414 = 50 (50)
IOP417 = MAXIMUM NUMBER OF PCF MODELS (10)
IOP418 = MAXIMUM NUMBER OF TYPE1+TYPE2 MILL PHYSICAL DESTINATIONS
INCLUDING ALL BUT WASTE DESTINATIONS (30)
IOP451 = NUMBER OF ORE PRODUCTION CLASSES (30) (IOP451 is set to = 10 if IOP451 < 10, no default)
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82111
IOP452 = ACTUAL NUMBER OF WASTE TYPES ( 6). AS AN OPTION, EACH WASTE TYPE CAN HAVE
MULTIPLE DESTINATIONS (DUMPS) DEFINED BY THE DUMP SUB REGION CODES WITHIN
THE DESTINATION CAPACITY FILE (FILE 30)
NOTE: Waste types have a maximum of six and are assigned one of the following integer codes: 101, 102, 103, 104, 105
or 106. For each waste type required (101-106) you must initialize at least one waste dump per waste type even if the
dump is a dummy, i.e. no material is sent there (see TYPE 4 and TYPE 5 input). Dump capacity entries are also required
in File30 (destinations capacity file).
IOP453 = DEFAULT LIMIT ON VERTICAL ADVANCES IN NUMBER OF BENCHES IN A PERIOD
= 0 NO LIMIT
= N DEFAULT LIMIT ON VERTICAL ADVANCES IN NUMBER OF BENCHES IN A PERIOD
NOTE: This can be varied on a pushback basis only as defined on the pushback details Line # 1
(TYPE 8 INPUT LINE), as well as on a phase and period basis as defined by input File 39. If both
pushback only and pushback plus period values are entered, the program will use File 39 input.
IOP458 = WASTE DESTINATIONS (DEFINED BY INPUT FILE 30) HAVE SUB- REGIONS WITHIN
THE DUMP FOR PREFERENTIAL PLACEMENT OF DIFFERENT WASTE TYPES OR IT IS
REQUIRED TO SEND MORE THAN 1 WASTE TYPE TO A PARTICULAR DUMP
= 0 NO, DO NOT USE WASTE SUB- REGIONS
= 1 YES, USE WASTE SUB- REGIONS
IOP459 = AUTOMATICALLY RETRIEVE SECONDARY (MEDIUM, LOW AND SUB- GRADE) STOCKPILES
= 0 NO
= 1 YES
NOTE:
Use precedence constraints (DONT MINE) to turn off stockpile reclaim (refer TYPE 17 INPUT DATA
Precedence Requirement I) for particular periods.
IOP459 must be turned on (=1) for the scheduler to reclaim only stockpiles at the end of the mine life when
all pit sources have been exhausted.
This option will treat stockpiles as if a bottom bench within a pushback. If there is a significant quantity of
material within the stockpiles a feasible solution may be achieved very easily by simply reclaiming from a
stockpile without having to mine any of the phases. This is of course not optimum. In order to force the program
to search for an optimum solution examining multiple feasible solutions it is recommended to set PAR13
(#feasible solutions in a period) to >100. This will ensure first and easiest solution is not accepted for the period.
IOP460 = OPTION FOR COST CLASSES USED TO DEFINE VARIABLE COSTS AS WELL AS LOADING
AND HAULING PRODUCTIVITIES BY MATERIAL TYPE BY RE- MAPPING OF 30 (MAX) ORE
AND 6 (MAX) WASTE PRODUCTION CLASSES
= 0 NO
= 1 ADJUST MINING & PROCESSING COSTS
= 2 ADJUST EQUIPMENT OPERATING COSTS, LOAD, AND HAULAGE PRODUCTIVITIES BY
COST CLASSES
= 3 ADJUST BOTH MINING & PROCESSING COSTS AND EQUIPMENT OPERATING COSTS,
LOAD, AND HAULAGE PRODUCTIVITIES BY COST CLASSES
NOTE: Maximum of 10 cost classes allowed.
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82112 DOCUMENTATION Revised: 31-May-2002
PAR1 = ANNUAL DISCOUNTING RATE, IN PERCENT (Default=15%)
PAR2 = NUMBER OF OPERATING DAYS IN ONE YEAR (Default=365, used also for NPV calculation)
PAR3 = NUMBER OF NO MINING YEARS TO ADJUST FOR NPV CALCULATION
PAR4 = DIVIDER FOR RESERVES (E.G., 1 or 1,000, Default=1)
PAR5 = CONSTANT TO BE ADDED TO 2
ND
GRADE WHEN IOP13=1
NOTE: MineSight File 18 does not store negative $/ton values. PAR5 is designed to recover the actual
negative $/ton if a constant had been added to the 2
nd
grade (PAR5 0.0)
PAR6 = OPERATING HOURS PER DAY (Default=20)
PAR7 = TONNAGE UNITS (INCLUDING PAR4) (Default=1,000)
PAR11 = ESTIMATED HAULAGE & LOADING COST FOR RANKING PUSHBACKS
PAR13 = NUMBER OF FEASIBLE SOLUTIONS NEEDED IN ONE PERIOD
NOTE: After PAR13 feasible solution(s) is found, program skips checking the rest of the combinations. This
increases the processing speed.
PAR14 = PERIOD NUMBER FOR FEASIBLE SOLUTION DEBUGGING
PAR15 = DEFAULT NUMBER OF BOTTOM BENCHES WITHIN A PUSHBACK (DEFAULT=1)
PAR16 = FIXED ORE MINING COST IN $/TON
PAR17 = FIXED WASTE MINING COST IN $/TON
PAR18 = FIXED ALLUVIUM MINING COST IN $/TON
PAR19 = FIXED LOW GRADE (LEACH) MINING COST IN $/TON (DEFAULT = PAR16)
PAR20 = OPTIONAL NUMBER OF ITERATIONS ALLOWED ON PUSHBACK SELECTION
PAR21 = OPTIONAL NUMBER OF PERIODS FOR REPORTING PUSHBACK RESERVES
PAR22 = OPTIONAL PERCENT INCREASE TO PUSHBACK MINING RATES
IF PAR22=200, THE MINING RATES WILL BE RELAXED (5 MILLION TONS/DAY)
PAR23 = DEFAULT CYCLE TIME IN MINUTES FOR TOTAL DESTINATION CAPACITY CHECK
IF PAR23>0, ALL DESTINATIONS WILL BE CONNECTED TO ANY PUSHBACK
PAR31 = OPTIONAL MILL THROUGHPUT CAPACITY PER YEAR
PAR32 = OPTIONAL TOTAL MINING CAPACITY PER YEAR
PAR33 = OPTIONAL TOTAL METAL PROCESSING CAPACITY (E.G. POUNDS OF CU PER YEAR)
NOTE: PAR20-PAR33 are designed for when iop29=2.
PAR16-PAR19 account for drilling & blasting, overhead, etc. and serve as default values for PAR401-
PAR436.
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82113
PAR400 = PERCENTAGE LIMIT FOR AUTOMATIC RECLAIM OF STOCKPILES (IOP459=1). IT IS APPLIED
AS: THE TOTAL TONS OF RECLAIMED MATERIALS FROM ALL STOCKPILE SOURCES
(PERIOD TYPE 1 MILL ORE TARGET - TOLERANCE) * PAR400 * .01. (Default=100%).
PAR401 = MINING COST FOR TYPE 1 ORE IN $/TON
PAR406 = MINING COST FOR TYPE 2 ORE IN $/TON
PAR411 = MINING COST FOR MID-GRADE STOCKPILE IN $/TON
PAR412 = MINING COST FOR LOW- GRADE STOCKPILE IN $/TON
PAR413 = MINING COST FOR SUB-GRADE STOCKPILE IN $/TON
PAR422 = MINING COST FOR HIGH- GRADE LEACH IN $/TON
PAR423 = MINING COST FOR LOW- GRADE LEACH IN $/TON
PAR430 = MINING COST FOR MATERIAL BELOW PERIOD PRODUCTION CUTOFF IN $/TON
PAR431 = MINING COST FOR WASTE TYPE 1 IN $/TON
PAR432 = MINING COST FOR WASTE TYPE 2 IN $/TON
PAR433 = MINING COST FOR WASTE TYPE 3 IN $/TON
PAR434 = MINING COST FOR WASTE TYPE 4 IN $/TON
PAR435 = MINING COST FOR WASTE TYPE 5 IN $/TON
PAR436 = MINING COST FOR WASTE TYPE 6 IN $/TON
NOTE:
PAR401 to PAR436 are average fixed mining costs for each of the Destination classes (Schedule materials)
(refer Type7 Inputs for Destination class definition). These average fixed mining costs would typically
include all but haulage and loading costs. These average fixed mining costs can also be adjusted by adding or
subtracting cost increments to the Cost classes (refer TYPE 7-1 INPUTS for Cost class definition). The
haulage and loading costs can be based on equipment haulage and loading operating hours or on variable
mining costs by bench. The haulage and loading costs and variable mining costs by bench can also be
adjusted by parameters according to Cost classes.
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82114 DOCUMENTATION Revised: 31-May-2002
PAR451 = % ADJUSTMENT FOR MINING COST PER PERIOD (Default = 0)
PAR452 = % ADJUSTMENT FOR PRIMARY METAL PRICE PER PERIOD (Default = 0)
PAR454 = % ADJUSTMENT FOR SECONDARY METAL PRICE PER PERIOD (Default = 0)
PAR456 = % ADJUSTMENT FOR FIXED COST AT A DESTINATION (Default = 0)
PAR457 = % ADJUSTMENT FOR SHOVEL OPERATING COST PER PERIOD (Default = 0)
PAR458 = % ADJUSTMENT FOR TRUCK OPERATING COST PER PERIOD (Default = 0)
NOTE:
PAR451 PAR458 are defined as %s. For example, the adjustment factor for period n for mining cost is
(1+(PAR451/100))**n. The % adjustment of PAR451, PAR457, and PAR458 is computed based on a base
cost first, this % adjusted cost will then be added to corresponding costs during schedule runs. The base
mining cost is PAR401. The base shovel operation cost is OCST1 (refer to Type 11 input, line#2 for
shovel). The base truck operation cost is OCST1 (refer to Type 11 input, line#2 for truck).
More detailed adjustment parameters can be input in File 20. In that case, PAR451 PAR458 will be
ignored.
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82115
I-O = DEBUG LEVEL
= 1 ECHO INPUT DATA (AFTER END LINES) ON SCREEN
= 2 ECHO INPUT RESERVES ON THE SCREEN
= 7 DISPLAY INFORMATION WHEN A FEASIBLE MINING LAYOUT IS FOUND
= 41 SOLUTION SCREENING, USED WITH PAR14. LIST MINING LAYOUTS THAT MEET THE
TYPE 1 ORE REQUIREMENTS REGARDLESS OF OTHER CONSTRAINTS
= 42 SOLUTION SCREENING, USED WITH PAR14. LIST MINING LAYOUTS THAT MEET THE
TYPE 2 ORE REQUIREMENTS REGARDLESS OF OTHER CONSTRAINTS
= 43 SOLUTION SCREENING, USED WITH PAR14. LIST MINING LAYOUTS THAT MEET THE
WASTE REQUIREMENTS REGARDLESS OF OTHER CONSTRAINTS
= 44 SOLUTION SCREENING, USED WITH PAR14, LIST MINING LAYOUTS THAT MEET THE
QUALITY 1 MINERAL CONTENT REQUIREMENT REGARDLESS OF OTHER CONSTRAINTS
= 45 SOLUTION SCREENING, USED WITH PAR14, LIST MINING LAYOUTS THAT MEET THE
QUALITY 2 MINERAL CONTENT REQUIREMENT REGARDLESS OF OTHER CONSTRAINTS
= 46 SOLUTION SCREENING, USED WITH PAR14, LIST MINING LAYOUTS THAT MEET THE
QUALITY 3 MINERAL CONTENT REQUIREMENT REGARDLESS OF OTHER CONSTRAINTS
= 47 SOLUTION SCREENING, USED WITH PAR14. LIST MINING LAYOUTS THAT MEET THE
TYPE 1 ORE REQUIREMENTS AND ALL THE QUALITY REQUIREMENTS REGARDLESS OF
OTHER CONSTRAINTS
= 48 SOLUTION SCREENING, USED WITH PAR14. LIST MINING LAYOUTS THAT MEET ALL THE
CONSTRAINTS
= 99 MINING LAYOUT SEARCH TRAIL PRINT (ALL COMBINATIONS)
= 100 TRUCK & SHOVEL HAULAGE AUDIT TRAIL PRINT
= -101 PRINT DESTINATION ASSIGNMENT DETAILS
NOTE: When I-O > 0, the audit printout goes to the audit output (File 25) when it is not output on the screen.
FMT1 = INPUT RESERVE FILE DATA FORMAT, E.G., (2I4, 21F16.0)
DEFAULT FORMAT FOR RESERVE FILES: FMT1 = (2I4, 21E16.8)
END
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82116 DOCUMENTATION Revised: 31-May-2002
4. TYPE 4 INPUT DATA - LIMITS (one line)
npit nmils nmilx nhlch nllch nmstp nlstp nsstp nwdmp1 nwdmp2 nwdmp3 ndwdmpN
where:
npit = number of pits (pushbacks,phases), npit IOP401.
nmils = number of Type 1 ore mills (e.g., sulphide)
nmilx = number of Type 2 ore mills (e.g., oxide)
nmil= nmils + nmilx + nhlch + nllch + nmstp + nlstp + nsstp IOP411
nhlch = number of high- grade leach destinations
nllch = number of low- grade leach destinations
nmstp = number of mid- grade stockpile destinations
nlstp = number of low- grade stockpile destinations
nsstp = number of sub- grade stockpile destinations
nwdmp1 = number of waste dumps for Type 1 waste
Nwdmp2 = number of waste dumps for Type 2 waste
Nwdmp3 = number of waste dumps for Type 3 waste
nwdmpN = number of waste dumps for Type N waste
nwdmp1 + nwdmp2 + nwdmp3+ + ndwdmpN P412
NOTE: N must match IOP452. This is true even if IOP458=1 and there are not as many physical destinations for
schedule run, i.e., one needs to have dummy destinations for the additional types of wastes.
Last destination must always be a dummy destination for each material group if IOP17>0.
5. TYPE 5 INPUT DATA - LABELS (10 arguments/line )
crunm1 - crunm n dump1 - dump n pushback1 - pushback n
where:
crunm n = nmils+nmilx+nhlch+nllch+nmstp+nlstp+nsstp
dump n = nwdmp1+nwdmp2+nwdmp3+ + nwdmpIOP452
pushback n = npit
Add more lines as needed.
NOTE: The labels are limited to 5 letters each.
6. TYPE 6 INPUT DATA - DESTINATION ECONOMIC PARAMETERS
crunm pprice prec sprice srec fcost iper1 iper2
where:
crunm = destination (or crusher) number
pprice = price for primary mineral
prec = recovery in percentage for primary mineral
sprice = price for secondary mineral
srec = recovery in percentage for secondary mineral
fcost = fixed cost for this ore destination ($/ton)
iper1 = starting period (Default=1)
iper2 = ending period (Default=100)
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82117
NOTE: The destination number corresponds to the sequence in which the destinations are read in the TYPE 5 input. Add
one more line for each additional destination which needs the economic parameter input. Default economic parameters are
set to 0 for destinations not present in inputs. A waste crusher should only have fcost assigned. The processing costs for a
destination can be adjusted by additional costs defined according to cost classes.
The fixed processing cost for a stockpile is used as a re- handle cost. This cost is added to the Type 1 mill processing cost
when the stockpile is re-claimed. Only mining cost is charged to the stockpile when the materials are stockpiled.
If IOP29=2, prec=100%, srec=0.0%.
7. TYPE 7 INPUT DATA - CLASSIFICATION OF RESERVE CLASSES
Line #1 = ncls
where:
ncls = number of reserve classes (ncls IOP409)
Line#2 = icls1 icls2 icls3 .. icls10
(mapping between first 10 reserve classes and 36 production classes comprising up to 30 ore production
classes with codes 1 to 30 and up to 6 waste production classes with codes 101, 102, 103, 104, 105 and
106)
where:
icls1 = first reserve class
icls2 = second reserve class
.
.
icls10 = tenth reserve class
Line#3 = repeat of Line#2 except for second 10 reserve classes and 36 production Classes
Add more Line#3 type of lines as needed.
Example:
17 / Number of reserve classes (Line#1)
1 1 1 1 1 2 3 4 5 6 / (Line#2) The first 10 reserve classes mapped to 6 ore production classes
6 6 101 102 103 103 103 / (Line#3) a further 2 reserve classes are mapped to the 6
th
ore production
class with the last 5 reserve classes being mapped to 3 waste types
(101,102, and 103)
This example mapped 17 reserve classes into 6 ore production classes and 3 waste types. The six ore production
classes can then be further classified as any one of the available scheduling materials or Destination classes by period,
e.g., Type 1 mill feed, Type 2 mill feed, high_grade leach, low_grade leach, mid- grade stockpile, low- grade stockpile, sub-
grade stockpile, and waste materials.
PRODUCTION CLASS - DESTINATION CLASS MAPPING (refer TYPE 13 INPUT)
The production classes obtained from Type 7 input are:
Production class 1
Production class 2
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82118 DOCUMENTATION Revised: 31-May-2002
Production class 3
Production class n (nIOP451)
Waste Type 1 (101)
Waste Type 2 (102)
Waste Type 3 (103)
Waste Type m (100+m) (mIOP452)
During the schedule periods (see the section on Type 13 input), each production class can then be classified as one of the
following destination classes:
1 for Type 1 mill feed (e.g., sulfide mill)
2 for mid(medium)- grade Type 1 mill feed stockpile
3 for low-grade Type 1 mill feed stockpile
4 for sub- grade Type 1 mill feed stockpile
5 for Type 2 mill feed (e.g., oxide mill)
6 for high- grade leach
7 for low-grade leach
101 for Type 1 waste
102 for Type 2 waste
103 for Type 3 waste
104 for Type 4 waste
105 for Type 5 waste
106 for Type 6 waste
The waste types are distributed and tracked by dumps and dump sub regions as defined in the input File 30. In normal
circumstances the six reserve waste classes would map directly to the six production (101 to 106) waste classes.
Example from reserve classes to production classes and schedule materials:
M821V1 Schedule Materials
Reserve
M712V1
Reserve
Class#
Production
Class#
Period
1
Schedule
Material
(Destination Class)
Period
2
Schedule
Material
(Destination Class)
High Grade
1
1
1
Type 1 Mill Feed
1
Type 1 Mill Feed
Low Grade
2
2
2
Mid-Grade Stockpile
1
Type 1 Mill Feed
Stockpile
3
3
4
Sub- Grade Stockpile
4
Sub- Grade Stockpile
Waste
4
101
-
Type 1 Waste
-
Type 1 Waste
If IOP460>0, program will input COST CLASSES as below.
7-1. TYPE 7-1 INPUT DATA - COST CLASS MAPPING OF PRODUCTION CLASSES
Production classes can also be mapped to cost classes that are used to define mining and processing cost variability that
is linked to material characteristics. These cost classes are also used to adjust the average fixed mining costs (PAR401-
PAR436), processing costs, mining equipment operating costs and mining equipment loading and haulage productivities
(refer Type 11 input data).
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82119
Line#1 = number of production classes npcls (IOP451+IOP452)
Line#2 = c#1 c#2 c#3 .. c#10
(mapping between first 10 production (ore) classes (defined by production ore class number) and 10 cost
classes (defined by position on Line#2))
where:
c#1 = production class 1
c#2 = production class 2
c#3 = production class 3
c#10 = production class 10
Line#3 = repeat of Line#2 except for second 10 production (ore) classes to 10 costs classes
Line#4 = repeat of Line#3 except for third 10 production (ore) classes to 10 costs classes
Add more line#4 if needed.
If IOP460=1 OR 3, program will read mining and processing cost adjustments by cost classes as below.
7-2. TYPE 7-2 INPUT DATA-MINING AND PROCESSING COST ADJUSTMENTS BY COST CLASSES
Line#1 = number of cost classes nccls (10)
Line#2 = mcadj1 mcadj2 mcadj3 mcadj10
(mining cost adjustments for 10 costs classes in $/ton)
where:
mcadj1 = mining cost adjustment for cost class 1
mcadj2 = mining cost adjustment for cost class 2
mcadj3 = mining cost adjustment for cost class 3
mcadj10 = mining cost adjustment for cost class 10
Line#3 = pcadj1 pcadj2 pcadj3 pcadj10
(processing cost adjustments for 10 costs classes in $/ton)
where:
pcadj1 = processing cost adjustment for cost class 1
pcadj2 = processing cost adjustment for cost class 2
pcadj3 = processing cost adjustment for cost class 3
pcadj10 = processing cost adjustment for cost class 10
If IOP33=1, program will read variable mining cost adjustments by cost classes as Line#4.
Line#4 = vmcadj1 vmcadj2 vmcadj3 vmcadj10
(variable mining cost by bench adjustments for 10 costs classes in $/ton)
where:
vmcadj1 = variable mining cost adjustment for cost class 1
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82120 DOCUMENTATION Revised: 31-May-2002
vmcadj2 = variable mining cost adjustment for cost class 2
vmcadj3 = variable mining cost adjustment for cost class 3
vmcadj10 = variable mining cost adjustment for cost class 10
NOTE: The variable mining cost adjustment is applied for every bench inside a pushback.
Consolidated Example (data input in free format, comments after /):
17 / Number of reserve classes (Line#1)
1 1 1 1 1 2 3 4 5 6 / (Line#2) First 10 reserve classes production classes mapping
6 6 101 102 103 103 103 / (Line#3) Remaining reserve class production class mapping
9 / Number of production classes (Line#1) comprising 6 ore and 3 waste production classes
1 1 1 1 1 1 1 2 3 / mapping of 9 production classes to 3 cost classes (Line#2)
3 / number of cost classes (Line#1)
-0.15 0.05 0.10 / mining cost adjustments in $/ton for the 3 cost classes (Line#2)
-0.07 -0.02 0.45 / processing cost adjustments in $/ton for the 3 cost classes (Line#3)
-0.001 0.001 0.0002 / variable mining cost adjustments in $/ton for the 3 cost classes (Line#4)
Explanation of the consolidated example:
Seventeen (17) reserve classes are mapped into 6 ore (1,2,3,4,5,and 6) and 3 waste (101,102, and 103) production
classes. This resulted in 9 total production classes. The 9 production classes are further mapped into 3 cost classes, i.e.,
production class 1 = cost class 1
production class 2 = cost class 1
production class 3 = cost class 1
production class 4 = cost class 1
production class 5 = cost class 1
production class 6 = cost class 1
production class 7 (waste 101) = cost class 1
production class 8 (waste 102) = cost class 2
production class 9 (waste 103) = cost class 3
Assuming production class 1 is classified as Type 1 mill ore,
the mining cost for cost class 1 materials at 4600m = fixed mining cost for Type1 mill ore (PAR(401)) +fixed mining
cost adjustment (-0.15) + variable cost (4600m) adjustment (-0.001)
the processing cost for cost class 1 materials = Processing cost of Type 1 mill ore at ore destination (Type 6 Input
fcost)+ processing cost adjustment(-0.07)
Where,
Variable cost by bench is either based on user input (IOP33=1) or operating costs of haulage and loading equipments.
The processing cost at Type 1 mill ore destination is from user by Type 6 data input.
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82121
8. TYPE 8 INPUT DATA - PUSHBACK DETAILS
Line #1 = pid mrate pcf# ztop bh nzpcf botb# vadv#
where:
pid = pushback reserve file name (10 characters)
mrate = mining rate of pushback pid (tons/day)
(mrate is at the same magnitude as the reserves [Default=5000/par7])
pcf# = pcf set number for pushback pid (Pushbacks may come from different areas with different model crests and
bench heights. One model is referred to as one pcf set)
The number of pcf# is limited to 10. The default is pcf# = 1
ztop = model crest for pcf# (no default)
bh = bench height for pcf# (no default)
nzpcf = number of benches in pcf# (no default)
botb# = number of bottom benches for pid (Default=1)
vadv# = vertical rate of advance in number of benches (Default=IOP453)
NOTE: If pcf#=0 or 1, the pcf file on the names line will be used. If ztop, bh, nzpcf are defined for pcf#, the pcf tables will
be produced according to the ztop, bh, nzpcf for pcf#. If pcf#>1 and there is no ztop, bh, nzpcf defined for a pcf#, the pcf
table must be read in from File 19. It is not necessary to define ztop, bh, nzpcf for each pushback. The ztop, bh, nzpcf for
any pcf# needs to be input only once. Pcf#, ztop, bh, nzpcf, botb#, and vadv# are optional. File 19 input will overwrite the
setup by ztop, bh, nzpcf for a pcf#.
Line #2 = cycm1 - cycm n cycl1 - cycl n cycs1 - cycs n cycd1 - cycd n cycp1 - cycp n (10/line)
where:
cycm1 = average or default cycle time between pit pid and ore destination 1 (in minutes)
cycm2 = average or default cycle time between pit pid and ore destination 2 (in minutes)
cycm3 = average or default cycle time between pit pid and ore destination 3 (in minutes)
cycmn = average or default cycle time between pit pid and ore destination nmils+nmilx (in minutes)
cycl1 = average or default cycle time between pit pid and leach destination 1 (in minutes)
cycl2 = average or default cycle time between pit pid and leach destination 2 (in minutes)
cycl3 = average or default cycle time between pit pid and leach destination 3 (in minutes)
cycln = average or default cycle time between pit pid and leach destination nhlch+nllch (in minutes)
cycs1 = average or default cycle time between pit pid and stockpile destination 1 (in minutes)
cycs2 = average or default cycle time between pit pid and stockpile destination 2 (in minutes)
cycs3 = average or default cycle time between pit pid and stockpile destination 3 (in minutes)
cycsn = average or default cycle time between pit pid and stockpile destination nmstp+nlstp+nsstp (in minutes)
cycd1 = average or default cycle time between pit pid and dump destination 1 (in minutes)
cycd2 = average or default cycle time between pit pid and dump destination 2 (in minutes)
cycd3 = average or default cycle time between pit pid and dump destination 3 (in minutes)
cycdn = average or default cycle time between pit pid and dump destination ndmp1+ndmp2+ +ndmpN (in minutes)
cycp1 = average or default cycle time between pit pid and pushback 1 (in minutes)
cycp2 = average or default cycle time between pit pid and pushback 2 (in minutes)
cycp3 = average or default cycle time between pit pid and pushback 3 (in minutes)
cycpn = average or default cycle time between pit pid and pushback npit (in minutes)
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82122 DOCUMENTATION Revised: 31-May-2002
NOTE: The Line#2 input fields correspond one to one to Type 5 input fields. The cycle time entry position should match
the labels read in the Type 5 input.
For each additional pushback, add additional lines. (If the material from a pit should not go to a destination, the haulage
cycle time between the pit and the destination should be set to 0.) Even if the average haul time is not to be used between
a pit and a destination, a non- zero haul time still should be entered here. The program checks for connection before
looking into the more detailed truck cycle file. A zero entry indicates no connection.
The cycle time input between pid and pushbacks is needed for compatibility with previous version of M821V1. It was
intended for backfill. A backfill is now handled by defining a dump destination and specifying the destination as a
pushback (refer to File 30 input).
9. TYPE 9 INPUT DATA - READ DESTINATIONS CAPACITY FILE
Input by File 30 (see section entitled DESTINATIONS CAPACITY FILE [File 30]).
10. TYPE 10 INPUT DATA - NUMBER OF FLEETS OF TRUCKS & SHOVELS
ntrk nshl
where:
ntrk = number of fleets of trucks (ntrk IOP406) (For example: a fleet of Cat 789s and a fleet of Cat 785s, ntrk = 2.)
nshl = number of fleets of loading units (NSHLIOP407) (For example: a fleet of shovels at 42 cu- yd capacity, a fleet
of shovels at 34 cu- yd capacity. There is a total of 2 shovel fleets, nshl = 2)
NOTE: Always add dummy fleets. The dummy fleets could be the projected future purchases. Otherwise, the program
stops with no feasible solution for the period in which the capacities of the trucks or shovels have run out.
Haulage is carried out by pushback, by bench, and by production classes. The truck and shovel fleets will be picked up in
the same order as the TYPE 11 input.
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82123
11. TYPE 11 INPUT DATA - TRUCK AND SHOVEL CHARACTERISTICS (two lines for each truck/shovel fleet)
For each TRUCK fleet:
Line# 1 = trknm pavl htyp ocap wcap %effci ntrks
where:
trknm = truck name
pavl = period in which the truck becomes available
htyp = haulage type
0 = both ore and waste
1 = ore only
2 = waste only
ocap = haulage capacity in tons for ore
wcap = haulage capacity in tons for waste
%effci = percent of efficiency
ntrks = number of trucks in this fleet
Line# 2 = hrmk1 %avl1 ocst1 hrmk2 %avl2 ocst2 hrmk3 %avl3 ocst3 hrmk12 %avl12 ocst12
Where:
hrmk1 = hours before which %avl1 and ocst1 are used
%avl1 = percent available before hrmk1
ocst1 = operating cost in $/hour before hrmk1
hrmk2 = hours before which %avl2 and ocst2 are used
%avl2 = percent available before hrmk2
ocst2 = operating cost in $/hour before hrmk2
hrmk3 = hours before which %avl3 and ocst3 are used
%avl3 = percent available before hrmk3
ocst3 = operating cost in $/hour before hrmk3
hrmk12 = hours before which %avl12 and ocst12 are used
%avl12 = percent available before hrmk12
ocst12 = operating cost in $/hour before hrmk12
If IOP460 > 1, program will input adjustment parameters by cost classes for this truck fleet as Line#3 - #6.
Line#3 = hfadj1 hfadj2 hfadj3 hfadj10
Where:
hfadj1 = haulage capacity adjustment in tons/truck load for cost class 1
hfadj2 = haulage capacity adjustment in tons/truck load for cost class 2
hfadj3 = haulage capacity adjustment in tons/truck load for cost class 3
hfadj10 = haulage capacity adjustment in tons/truck load for cost class 10
Line#4 = ocstadj1 ocstadj2 ocstadj3 ocstadj10
Where:
ocstadj1 = operating cost adjustment in $/hour for cost class 1
ocstadj2 = operating cost adjustment in $/hour for cost class 2
ocstadj3 = operating cost adjustment in $/hour for cost class 3
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82124 DOCUMENTATION Revised: 31-May-2002
ocstadj10 = operating cost adjustment in $/hour for cost class 10
Line#5 = hcadj1 hcadj2 hcadj3 hcadj10
Where:
hcadj1 = detailed haulage cycle time adjustment in minutes for cost class 1
hcadj2 = detailed haulage cycle time adjustment in minutes for cost class 2
hcadj3 = detailed haulage cycle time adjustment in minutes for cost class 3
hcadj10 = detailed haulage cycle time adjustment in minutes for cost class 10
Line#6 = hfbadj1 hfbadj2 hfbadj3 hfbadj10
Where:
hfbadj1 = detailed haulage fuel burn rate adjustment in gal/hour or liter/hour for cost class 1
hfbadj2 = detailed haulage fuel burn rate adjustment in gal/hour or liter/hour for cost class 2
hfbadj3 = detailed haulage fuel burn rate adjustment in gal/hour or liter/hour for cost class 3
hfbadj10 = detailed haulage fuel burn rate adjustment in gal/hour or liter/hour for cost class 10
NOTES:
1. There is a maximum of 12 availability and operating cost bins (or 36 Line#2 items, read in one line)
2. Add additional Line#1,2,3,4,5 and 6 for additional truck fleets
3. After hrmk12 hours, the truck availability and operating cost decreases to 0
4. The hrmk#s are haulage hours utilized, e.g., hrmk# = elapsed hour * %availability
5. The haulage type of the truck fleet htyp is used when IOP460 < 2
6. The Line#5 and line#6 adjustment parameters are applied to each haulage profile (e.g., between every pushback
bench and dump lift combination)
Example:
Trk1 1 0 320 320 83 100 / truck fleet ID and parameters (Line#1)
5000 97 100 10000 93 110 15000 90 120 20000 85 155 25000 93 120 60000 92 130 / truck hour bins: %avl ocst
10.0 15.50 -8.30 / haulage capacity adjustment in tons/load for cost classes 1,2, and 3
2.50 17.55 10.23 / operating cost adjustments in $/hour for cost classes 1,2, and 3
2.50 10.00 5.00 / detailed haulage cycle time adjustments in minute for cost classes 1,2, and 3
0.50 0.200 -1.00 / detailed haulage fuel burn rate adjustments in gal/hour or liter/hour for cost classes 1,2, and 3
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82125
For each SHOVEL fleet:
Line# 1 = shlnm pavl ltyp %effci nshls
where;
shlnm = shovel name
pavl = period in which the shovel becomes available
ltyp = loading type
0 = ore and waste
1 = ore only
2 = waste only
%effci = percent of efficiency
nshls = number of shovels in this fleet.
Line# 2 = hrmk1 %avl1 ocst1 hrmk2 %avl2 ocst2 hrmk3 %avl3 ocst3 hrmk12 %avl12 ocst12
Where:
hrmk1 = hours before which %avl1 and ocst1 are used
%avl1 = percent available before hrmk1
ocst1 = operating cost in $/hour before hrmk1
hrmk2 = hours before which %avl2 and ocst2 are used
%avl2 = percent available before hrmk2
ocst2 = operating cost in $/hour before hrmk2
hrmk3 = hours before which %avl3 and ocst3 are used
%avl3 = percent available before hrmk3
ocst3 = operating cost in $/hour before hrmk3
hrmk12= hours before which %avl12 and ocst12 are used
%avl12= percent available before hrmk12
ocst12 = operating cost in $/hour before hrmk12
If IOP460 > 1, program will input shovel adjustment parameters by cost classes as Line#3 - #5.
Line#3 = lmflg1 lmflg2 lmflg3 lmflg10
Where:
lmflg1 = shovel fleet loading flag for cost class 1 (1 shovel fleet can load or 0 shovel fleet cant load)
lmflg2 = shovel fleet loading flag for cost class 2 (1 shovel fleet can load or 0 shovel fleet cant load)
lmflg3 = shovel fleet loading flag for cost class 3 (1 shovel fleet can load or 0 shovel fleet cant load)
lmflg10= shovel fleet loading flag for cost class 10 (1 shovel fleet can load or 0 shovel fleet cant load)
Line#4 = lcadj1 lcadj2 lcadj3 lcadj10
Where:
lcadj1 = loading time adjustment in minutes/load cycle for cost class 1
lcadj2 = loading time adjustment in minutes/load cycle for cost class 2
lcadj3 = loading time adjustment in minutes/load cycle for cost class 3
lcadj10 = loading factor adjustment in minutes/load cycle for cost class 10
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82126 DOCUMENTATION Revised: 31-May-2002
Line#5 = ocstadj1 ocstadj2 ocstadj3 ocstadj10
Where:
ocstadj1 = operating cost adjustment in $/hour for cost class 1
ocstadj2 = operating cost adjustment in $/hour for cost class 2
ocstadj3 = operating cost adjustment in $/hour for cost class 3
ocstadj10 = operating cost adjustment in $/hour for cost class 10
NOTES:
1. There is a maximum of 12 availability and operating cost bins (or 36 Line#2 items, read in one line)
2. Add additional Line#1,2,3,4, and 5 for additional shovel fleets
3. After hrmk12 hours, the shovel availability and operating cost decreases to 0
4. The hrmk#s are service hours utilized, e.g., hrmk# = elapsed hour * %availability
5. The loading type of the shovel fleet ltyp is used when IOP460 < 2
Example:
Shv1 1 0 70 20 / shovel fleet ID & parameters
5000 93 400 10000 92 430 15000 90 450 50000 88 500 55000 87 510 / shovel hour bins: %avl ocst (Line#2, ONE LINE)
1 0 1 / Shovel can or cant load flags for each of 3 cost class (Line#3)
0.02 0.35 -0.10 / (Line#4) loading cycle time adjustment in minutes/load cycle for cost classes 1,2,3
5.0 15.50 10.27 / (Line#5) operating cost adjustments in $/hour for cost classes 1,2,3
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82127
12. TYPE 12 INPUT DATA - LOADING CYCLE FOR SHOVEL & TRUCK COMBINATION
Loading cycle time in minutes (free format):
loaderfleet1 vs. truckfleet1 loaderfleet1 vs. truckfleet2 loaderfleet1 vs. truckfleet3 loaderfleet1 vs. truckfleet12
loaderfleet2 vs. truckfleet1 loaderfleet2 vs. truckfleet2 loaderfleet1 vs. truckfleet3 loaderfleet2 vs. truckfleet12
loaderfleetN vs. truckfleet1 loaderfleetN vs. truckfleet2 loaderfleetN vs. truckfleet3 .loaderfleetN vs. truckfleet12
NOTE: N = #of shovel fleets. A maximum of twelve (12) loader fleet vs. truck fleet combinations are allowed here. If
NTRK > 12, the loading time will be defaulted to loaderfleet# vs. truckfleet1. A zero loading cycle time means that the
loader fleet cannot load the truck fleet.
12-1. TYPE 12-1 INPUT DATA - RE-HANDLE CYCLE TIMES FOR STOCKPILES
Line #1 = stkpid
where:
stkpid = stockpile name (5 characters)
Line #2 = cycm1 cycm2 cycm3 - cycm n (10/line)
where:
cycm1 = cycle time in minutes between stockpile stkpid and destination 1
cycm2 = cycle time in minutes between stockpile stkpid and destination 2 (optional)
cycm3 = cycle time in minutes between stockpile stkpid and destination 3 (optional)
cycm n = cycle time in minutes between stockpile stkpid and destination n (= nmils+nmilx+nhlch+hllch) (optional)
Add additional lines for each 10 entries.
The total number of input lines for Line #2 input = INT [(nmils+nmilx+nhlch+hllch-1)/10] + 1 (refer to Type 4 input).
Line #3 = ShlFleet TrkFleet
where:
ShlFleet = Shovel fleet label (5 letters) (must be one of the shovel fleet defined by Type 11)
TrkFleet = Truck fleet label (5 letters) (must be one of the truck fleet defined by Type 11)
NOTE: For each additional stockpile, add additional lines of #1, #2,and #3. (If the material from a stockpile should not go
to a destination, the haulage cycle time between the stockpile and the destination should be set to 0.) The cycle time entry
position should match the labels read in the Type 5 input. For a destination of mill type, a cycle time, a designated shovel
and truck fleet must be input to accommodate reclaim of direct mill feed stockpile materials. A blank line must be entered
to signal the end of stockpile re- handle cycle times.
Example:
SMG / stockpile label
5 / cycle time between stockpile & type 1 mill destinations
FEL C785 / reclaim shovel fleet and truck fleet
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82128 DOCUMENTATION Revised: 31-May-2002
13. TYPE 13 INPUT DATA - PRODUCTION REQUIREMENT (3 lines required per period)
Line #1 = Period schedule identification (up to 10 characters)
Line #2 = lpit m1r m1t m2r m2t w1 w2 opd c1 c2 c3 c
IOP451
rsr stkpl ndmil nostp nobj stplmt
where
lpit = minimum limiting number of pits working at one time (lpit 15)
m1r = Type 1 ore mill feed requirement in tons or 1000 tons (agrees with the reserve magnitude) (e.g., sulfide)
m1t = tolerance on Type 1 ore mill feed requirement in tons or 1000 tons (agrees with the reserve magnitude)
m2r = Type 2 ore mill feed requirement in tons or 1000 tons (agrees with the reserve magnitude) (e.g., oxide)
m2t = tolerance on Type 2 ore mill feed requirement in tons or 1000 tons (agrees with the reserve magnitude)
w1 = lower limit on waste requirement in tons or 1000 tons (agrees with the reserve magnitude)
w2 = upper limit on waste requirement in tons or 1000 tons (agrees with the reserve magnitude)
opd = operating days for this period
c1 = schedule material code (Destination class) for production ore class 1
c2 = schedule material code (Destination class) for production ore class 2
c3 = schedule material code (Destination class) for production ore class 3
c
IOP451
= schedule material code(Destination class) for maximum production ore class as defined by IOP451 (>=10)
NOTE: IOP451 must be defined. Each production ore class (c1 to c
IOP451
above) is assigned an integer value based
on the destination class that they are to be individually mapped to. The destination classes integer codes to
assign to the production ore classes in Line#2 above are as follows:
Destination class c# = 1 Type 1 mill feed (e.g., sulfide mill)
Destination class c# = 2 mid (or medium) grade Type 1 mill feed stockpile
Destination class c# = 3 low - grade Type 1 mill feed stockpile
Destination class c# = 4 sub - grade Type 1 mill feed stockpile
Destination class c# = 5 Type 2 mill feed (e.g., oxide mill)
Destination class c# = 6 high grade leach
Destination class c# = 7 low grade leach
Destination class c# = 9 waste material below cutoff for Type 1 mill feed designated production class
Destination class c# = 101 Type 1 waste material
Destination class c# = 102 Type 2 waste material
Destination class c# = 103 Type 3 waste material
Destination class c# = 106 Type 6 waste material
rsr = required maximum stripping ratio for exposed ore
stkpl = stockpile material to be retrieved into other ore destinations
ndmil = ore destination number for stockpile materials (usually 1, i.e., mill destination, ref. Type 5 input)
nostp = designated stockpile for stockpile material retrieval (usually 0, if defined, only one stockpile can be retrieved in
this period)
nobj = period objective to override global objective (Reference IOP21 for objective choices)
stplmt = period stockpile reclaim limit in % of period Type 1 mill ore target. Stplmt overrides PAR400.
NOTE: If the number of production classes is less than 10, zeros should be entered as place holders on Line#2
for c1, c2, c3, , c
IOP451
. For example, 1 1 1 0 0 0 0 0 0 0 for 3 production classes.
When m1t, m2t are greater than 0.0005, the tolerance because of Type 1 and 2 direct feed stockpile
capacities are ignored. Otherwise, the usages and capacities of direct mill feed stockpiles will
automatically adjust the tolerances m1t, m2t.
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82129
If a production class is classified as Type 1 mill ore and is below period cutoff (destination class c#=9),
the schedule code defined by IOP12 is the new schedule code (could be stockpiles, leach, and waste). If
IOP12 has a code value for waste, IOP301 can be used to designate the default waste type as one of the
101, 102, 103, , or 106 waste types.
If IOP29=-1 or IOP29=2, m2t is not related to stockpile status. There is no stockpile for Type 2 ore. The
Type 2 ore destinations are leach dumps with multiple lifts.
Line# 3 = q1l q1u q2l q2u q3l q3u
where:
q1l = lower limit on quality 1 in mineral content
q1u = upper limit on quality 1 in mineral content
q2l = lower limit on quality 2 in mineral content
q2u = upper limit on quality 2 in mineral content
q3l = lower limit on quality 3 in mineral content
q3u = upper limit on quality 3 in mineral content
NOTE:
Economic values can be calculated for qualities 1 and 2 based on their values. q3 is only a blending item or a
reporting item, though q1 and q2 can be blending items and reporting items too. The default values for q1u, q2u
and q3u are 99000000. The default values for q1l, q2l and q3l are -99000000.
The mineral contents are contained pounds, ounces and grams depending on IOP22 and IOP23 for quality 1 and 2
and reserve magnitude (e.g., tons or 1000 tons).
When q1u, q2u, and q3u are less than or equal to 100, the target is assumed to be in %.
When q11, q21, and q31 are less than or equal to 100 and greater than 0, the target is also assumed to be in%.
If any one of q1u, q2u, q3u, q11, q21 or q31 is input as % target, the corresponding pair (e.g., q1u vs. q11,
q2u vs. q21, and q3u vs. q31) is assumed as % target also.
For a quality item to be defined as % item, the item should be in % values in the reserve files.
When IOP22=0, the primary mineral content item cannot be targeted on %.
When IOP23=0, the secondary mineral content item cannot be targeted on %.
When IOP36=1, q3l=minimum mill processing hours, q3u=maximum mill processing hours.
For example, q3l=90% of mill processing capacity, q3u=95% of mill processing capacity.
Add three lines for each additional period. Number of periods IOP404. End input with a blank line or
end of file. The tonnages and mineral contents should agree with the magnitude of the reserves on input.
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82130 DOCUMENTATION Revised: 31-May-2002
14. TYPE 14 INPUT DATA - RESERVES
Files are generated by programs like M712V1 or PITRES (see section on RESERVE FILE FORMAT).
15. TYPE 15 INPUT DATA DETAILED HAULAGE CYCLE TIME
Input by File 31 (see section on DETAILED TRUCK HAULAGE CYCLE FILE FORMAT [File 31])
16. TYPE 16 INPUT DATA VARIABLE MINING COSTS BY BENCH IF IOP33=1.
Pushback# bench1 bench2 cost inc
where:
pushback# = pushback number (pushback input sequence number, refer Type 5 input)
bench1 = upper bench toe elevation
bench2 = lower bench toe elevation
cost = base cost in $/Ton corresponding to the upper bench
inc = incremental cost (as $/Ton per bench)
Add more lines as needed. End input by a blank line.
17. TYPE 17 INPUT DATA - PRECEDENCE REQUIREMENT I
PRECEDENCE REQUIREMENT CATEGORY 1
iper1 DONT MINE pitnm iper2
where:
iper1 = limiting period#1
If iper2=0 or blank, iper1= n ==> dont mine pitnm in period n, iper1=- n ==> dont mine pitnm up to period n
including n.
DONT MINE = keyword for constraint of type Don't mine this pushback or stockpile in defined periods.
pitnm = pushback (pit) or stockpile name as in Type 5 input
Iper2 = limiting period#2
If iper2>0, dont mine pitnm from period# iper1 to period# iper2 including iper1 and iper2
NOTE: This constraint (DONT MINE) is used to turn off stockpile reclaiming if IOP459 is set to automatically
reclaim.
PRECEDENCE REQUIREMENT CATEGORY 2
iper MUST MINE pitnm elev
where:
iper = limiting period
MUST MINE = keyword for constraint of type Must mine at least to this bench and continue if you wish."
pitnm = pushback (pit) name as in Type 5 input
elev = toe elevation of the limiting bench
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82131
PRECEDENCE REQUIREMENT CATEGORY 3
iper MINE TO pitnm elev ipct1 ipct2 ipct3
where:
iper = limiting period
MINE TO = keyword for constraint of type Must mine at least to this bench and mine exactly 'ipct' percent on this
bottom bench."
pitnm = pushback (pit) name as in Type 5 input
elev = elevation of the limiting bench
ipct1 = limiting percent on bottom bench for Type 1 ore
ipct2 = limiting percent on bottom bench for Type 2 ore (Default=ipct1, ipct2<0==>ipct2=0)
ipct3 = limiting percent on bottom bench for other materials (Default=ipct1, ipct3<0==>ipct3=0)
PRECEDENCE REQUIREMENT CATEGORY 4
iper NMORE THAN pitnm elev
where:
iper = limiting period
NMORE THAN = keyword for constraint of type Don not mine below this bench. "
pitnm = pushback (pit) name as in Type 5 input
elev = elevation of the limiting bench
PRECEDENCE REQUIREMENT CATEGORY 5
iper1 MUST INCLD pitnm iper2
where:
iper1 = limiting period# 1
MUST INCLD = keyword for constraint of type Must consider this phase between period iper1 and iper2.
pitnm = pushback (pit) name as in Type 5 input
iper2 = limiting period# 2 (Default = iper1)
Add more lines as needed. No more than one constraint should be entered for each one pit. End input with a blank line or
end of file.
NOTE: If Type 18 precedence is to follow and there is no Type 17 precedence constraint, enter / END OF
PRECEDENCE REQUIREMENT I indicating the end of Type 17 input.
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82132 DOCUMENTATION Revised: 31-May-2002
18. TYPE 18 INPUT DATA - PRECEDENCE REQUIREMENT II
Pit A AFTER Pit B
where:
Pit A = a pit name
AFTER = key word
Pit B = a pit name
This constraint means: A bench of Pit A will be mined only after a bench of Pit B on the same elevation is mined. This is
to prevent undercut mining.
Pit A APEND Pit B
where:
Pit A = pit name
APEND = key word
Pit B = pit name
This constraint means: A bench of Pit A will start to be mined only after the bottom bench of Pit B starts to be mined.
NOTE: End Type 18 input with the line
/ END OF PRECEDENCE REQUIREMENT II. If there is no Type 18 constraint, enter the line
/ END OF PRECEDENCE REQUIREMENT II, when Type 19 input data is to follow.
19. TYPE 19 INPUT DATA - PRECEDENCE REQUIREMENT III
Pit A AFBND Pit B #Bench iper1 iper2
where:
Pit A = a pit name.
AFBND = key word.
Pit B = a pit name.
#Bench = number of benches (e.g., 0, 1, 2, 3, 4, )
iper1 = limiting period#1 to start
iper2 = limiting period#2 to end
This constraint means: A bench of Pit A will be mined after bench of Pit B but within a number of benches (#Bench).
This is to provide binding among working pushbacks (pits).
NOTE: End Type 19 input with the line
/ END OF PRECEDENCE REQUIREMENT III. If there is no Type 19 constraint, enter the line
/ END OF PRECEDENCE REQUIREMENT III, when Type 20 input data is to follow.
If Pit A or Pit B is going to be mined out in a period, one should relax the constraint for that period.
Otherwise, this constraint will force the two phases binding together, preventing the other phase from
advancing further below.
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82133
20. TYPE 20 INPUT DATA - PRECEDENCE REQUIREMENT IV
Pit B bench b HINDE Pit A bench a
where:
Pit A = a pit name
bench a = bench toe elevation
HINDE = key word
Pit B = a pit name
bench b = bench toe elevation
This constraint means: Bench a of Pit A will be mined only after bench b of Pit B is mined or started mining (if bench b of
Pit B is in mining, bench a of Pit A can start mining).
NOTE: The total number of TYPE 17, TYPE 18, TYPE 19, and TYPE 20 precedence constraints is limited by IOP405.
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82134 DOCUMENTATION Revised: 31-May-2002
DESTINATIONS CAPACITY FILE (FILE 30)
For each destination (mill ore, leach dump, stockpile or waste material):
Line#1 = crelev lfthght dmpr spdd iper1 iper2 used_flg bfll_pback
Where:
crelev = crest elevation of the destination
lfthght = lift height of the destination
dmpr = destination rate in tons/day (agrees with reserve units and defaults to unlimited, i.e., a very large rate)
spdd = spread dumping divider (Default = no spread dumps)
0 or 1 = no spread dumping
12 = monthly spread dumping among dumps in annual schedule
iper1 = period# the destination becomes available
iper2 = period# the destination becomes not available (e.g., used up)
used_flg = flag for reading in existing stockpile tons and grades
0 = do not read
1 = read
bfll_pback= label of pushback that becomes a backfill automatically in the next period after the pushback has been
completely mined
Line#2 = destid lftelev [subzid w1 w2 w3 .w
IOP452
] tcap pcap %sd drate [szcyc] [existtons existpg existsg existtg]
Where:
destid = destination identification or name (5 letters)
lftelev = lift crest elevation
For waste dumps and IOP458=1, input [subzid w1 w2 w3 .w
IOP452
]:
subzid = destination sub- zone or cell identification within a dump lift to control the preferential placement of
particular production waste (5 letters)
w1 = indicator for accepting Type 1 waste (w1 = 0 means no or 101 means yes)
w2 = indicator for accepting Type 2 waste (w2 = 0 means no or 102 means yes)
w3 = indicator for accepting Type 3 waste (w3 = 0 means no or 103 means yes)
w
IOP452
= indicator for accepting Type IOP452 waste (w
IOP452
= 0 means no or 100+IOP452 means yes)
(IOP452 6)
tcap = total capacity of destination lift (sub- zone) (agrees with the reserve magnitude)
pcap = period capacity of destination lift (sub- zone) (agrees with the reserve magnitude)
%sd = percent limit for spread dumping for that lift (sub- zone) (Default 100%)
drate = lift (sub- zone) dumping rate in tons/day (agrees with reserve units and defaults to whole destination rate)
For waste dumps and IOP458=1, Input [szcyc]:
szcyc = additional cycle time in minutes for the sub- zone
If reading in existing stockpile tons and grade for this lift (sub- zone) (used_flg=1):
existtons = existing tons on this stockpile lift (sub-zone) (in the same magnitude as the reserves , e.g., 1000 tons)
existpg = average grade for primary metal of the existing tons on this stockpile lift (sub- zone)
existsg = average grade for secondary metal of the existing tons on this stockpile lift (sub- zone)
existtg = average grade for tertiary metal of the existing tons on this stockpile lift (sub- zone)
Add more lines of Line#2 if more lifts or sub- zones are needed. At the end of Line#2 input, a blank line is required to
signal the end of input for the Line#2. This blank line also signals the end of input for the destination.
Add more lines of Line#1 and Line#2 for each additional destination.
Both Line#1 and Line#2 inputs are read in free format.
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82135
NOTE:
The input of the destination capacities must follow the same sequence in which the destination labels were read in as
the Type 5 input.
The destination capacities must agree with the reserves in magnitude, e.g., both are in tons or 1000 tons.
Lift heights do not need to be the same height within the same destination.
The default sequence of dumping or filling sub zones within a lift follows the order in which they appear within this
destination capacity file.
The default sequence of dumping or filling lifts within a destination follows the order in which they appear within this
destination capacity file.
The maximum number of total lifts (sub- regions) for all waste destinations (dumps) is defined by IOP414 and by
IOP413 for all ore (mill, leach, and stockpile) destinations.
The maximum number of ore (mill, leach, and stockpile) destinations is defined by IOP411 and by IOP412 for waste
destinations (dumps).
A direct mill feed stockpile should be provided with each mill destination as a second lift of the mill destination. This
is to allow a tiny amount of overflow over the mill throughput being accepted as direct mill feed stockpile materials.
Otherwise, the program may terminate with an error message: No place to send the SFEED or XFEED, due to
floating point precision differences. During schedule run, the program will automatically put in and retrieve the
materials in the second lift of the mill destination. A sample capacity for the second lift of the mill is 500,000 tons.
If IOP17>0, a dummy destination must be provided for each type of material (Type 1 mill ore, Type 2 mill ore, high-
grade leach, low- grade leach, etc.). In any other case, it is recommended that a dummy dump and a dummy lift for
each type of material be defined.
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82136 DOCUMENTATION Revised: 31-May-2002
SAMPLE DESTINATIONS CAPACITY FILE (FILE 30) (DMP821.TMP) (IOP458=1)
315 1 5000 1 1 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
CRUSH 315 999999999 999999999 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
CRUSH 316 999999999 999999999 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
315 15 5000 1 1 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
SMG 315 100000 100000 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
SMG 330 100000 100000 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
540 15 5000 1 26 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
MG495 540 100000 100000 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
MG495 555 999999999 999999999 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
330 15 5000 1 1 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
SLG 330 100000 100000 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
SLG 345 100000 100000 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
450 45 5000 1 1 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
ED 450 S1 101 102 0 0 0 0 20000 20000 100 5000 -5 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate,szcyc
ED 495 S2 101 0 0 0 0 0 60000 60000 100 5000 5 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate,szcyc
1 1 5000 1 1 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
TD 1 S1 101 102 103 104 105 106 20000 20000 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
TD 2 S2 101 102 103 104 105 106 20000 20000 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
TD 3 S3 101 102 103 104 105 106 20000 20000 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
TD 4 S4 101 102 103 104 105 106 30000 30000 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
TD 5 S5 101 102 103 104 105 106 20000 20000 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
1 1 5000 1 1 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
SD1 1 S1 0 102 103 104 105 106 995474 995474 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
SD1 2 S2 0 0 0 0 0 0 20456 20456 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
SD1 3 S3 0 0 0 0 0 0 23605 23605 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
1 1 5000 1 1 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
SD2 1 S1 0 0 0 0 0 0 5474 5474 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
SD2 2 S2 0 0 0 0 0 0 20456 20456 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
SD2 3 S3 0 0 0 0 0 0 23605 23605 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
1 1 5000 1 1 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
SD3 1 S1 0 0 0 0 0 0 5474 5474 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
SD3 2 S2 0 0 0 0 0 0 20456 20456 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
SD3 3 S3 0 0 0 0 0 0 23605 23605 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
1 1 5000 1 1 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
SD4 1 S1 0 0 0 0 0 0 5474 5474 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
SD4 2 S2 0 0 0 0 0 0 20456 20456 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
SD4 3 S3 0 0 0 0 0 0 23605 23605 100 5000 / destid,lftelev,subzid,w1,w2,...,w6,tcap,pcap,%sd,drate
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82137
SAMPLE DESTINATIONS CAPACITY FILE (FILE 30) (DMP821.TMP) (IOP458=0)
315 15 5000 1 1 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
SMG 315 100000 100000 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
SMG 330 100000 100000 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
540 15 5000 1 26 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
MG495 540 100000 100000 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
MG495 555 999999999 999999999 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
330 15 5000 1 1 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
SLG 330 100000 100000 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
SLG 345 100000 100000 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
450 45 5000 1 1 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
ED 450 20000 20000 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
ED 495 60000 60000 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
1 1 5000 1 1 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
TD 1 20000 20000 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
TD 2 20000 20000 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
TD 3 20000 20000 100 5000 / destid,lftelev,tcap,pcap, %sd,drate
TD 4 30000 30000 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
TD 5 20000 20000 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
1 1 5000 1 1 100 0 PHS1 / crelev,lfthight,dmpr,spdd,iper1,iper2,used_flg, bfll_pback
SD1 1 995474 995474 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
SD1 2 20456 20456 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
SD1 3 23605 23605 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
1 1 5000 1 1 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
SD2 1 5474 5474 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
SD2 2 20456 20456 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
SD2 3 23605 23605 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
1 1 5000 1 1 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
SD3 1 5474 5474 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
SD3 2 20456 20456 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
SD3 3 23605 23605 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
1 1 5000 1 1 100 / crelev,lfthight,dmpr,spdd,iper1,iper2
SD4 1 5474 5474 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
SD4 2 20456 20456 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
SD4 3 23605 23605 100 5000 / destid,lftelev,tcap,pcap,%sd,drate
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82138 DOCUMENTATION Revised: 31-May-2002
RESERVE FILE FORMAT
One pushback (pit) needs one reserve file. The reserve file names are entered from run file as Type 8 input data. The
maximum of pushbacks (pits) allowed is defined by IOP401 (e.g., 50).
Line #1 and #2
The first two lines of each reserve file are comment lines and are ignored by the program. These two lines must be present.
Line #3
The third line has two arguments. NCLS, NGRD
where:
NCLS = Number of reserve classes (NCLS 100).
NGRD = Number of grade items (NGRD 20, only three will be read in for schedule and standard reporting)
Line #4
The fourth line has labels of reserve classes. The value of NCLS should be the number of reserve classes. Enter 5 labels
on each line. A max of 4 lines is allowed for reserve labels. The reserve labels are limited to 10 characters.
Line #5
The next line contains the grade labels. The value of NGRD should be the number of grade labels. The grade labels are
limited to 5 characters.
The above inputs are in free format.
The rest of file contains reserves in the following formats:
Bench# Reserve# Reserve_Tonnage 1st_grade 2nd_grade ... NGRDth_grade
Default Fortran format = (2I4, 21E16.8); The reserve input format can also be specified in run file with keyword FMT1.
M821V1 will schedule based on a maximum of three grades. Refer to IOP1, IOP2, and IOP3 for how to pick the three
grades out of NGRDs.
NOTE:
Maximum benches from each pushback are limited by IOP403 (e.g., 100). Reserves with more than three grades can
be input, however only three grades will be scheduled and reported in the standard report. Additional grades are
reported in summary report file for spreadsheet.
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82139
OPTIONAL DUMPING RATE BY DUMP BY PERIOD FILE (FILE 35)
For each destination (ore and waste):
Line #1 = destination name (no more than 5 letters)
Line #2 = pd#1 dr#1 pd#2 dr#2 pd#3 dr#3 pd#4 dr#4 pd#5 dr#5 pd#6 dr#6
(up to six pairs of period# and dump rate in tons/day)
where:
pd#1 dr#1 = up to period pd#1, dump rate dr#1 in tons/day is used
pd#2 dr#2 = up to period pd#2, dump rate dr#2 in tons/day is used
pd#3 dr#3 = up to period pd#3, dump rate dr#3 in tons/day is used
... ...
pd#6 dr#6 = up to period pd#6, dump rate dr#6 in tons/day is used
Both Line #1 and Line #2 are read in by free format.
NOTE:
If more periods are needed, enter additional Line #2" with distinct period#s.
A blank line will end the input for Line #2" and for the destination.
If more than one destination is to be read in, add more lines following the above Line #1 and Line #2 format. Again, a
blank line would signal the end of input for a destination.
Only the destinations, which require variable dumping rate by period, are needed to be input in this file. The default
dumping rate in tons/day is the rate entered in destination capacity file (File 30) for a destination.
The dumping rate tons/day is on the same scale as the magnitude of reserves. If the reserves are in tons, the
dumping rate is tons/day. If the reserves are in 1,000 tons, the dumping rate is 1000 tons/day.
The maximum number of period permitted is defined by IOP404 (e.g., 100).
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82140 DOCUMENTATION Revised: 31-May-2002
OPTIONAL #BOTTOM BENCHES BY PHASE BY PERIOD FILE (FILE 36)
For each pushback (pit):
Line #1 = Pit name (no more than 5 letters).
Line #2 = (up to six pairs of period# and number of bottom benches)
pd#1 bb#1 pd#2 bb#2 pd#3 bb#3 pd#4 bb#4 pd#5 bb#5 pd#6 bb#6
where:
pd#1 bb#1 = up to period pd#1, number of bottom bench within pushback pit name is bb#1
pd#2 bb#2 = up to period pd#2, number of bottom bench within pushback pit name is bb#2
pd#3 bb#3 = up to period pd#3, number of bottom bench within pushback pit name is bb#3
... ...
pd#6 bb#6 = up to period pd#6, number of bottom bench within pushback pit name is bb#6
Both Line #1 and Line #2 are read in by free format.
NOTE:
If more periods are needed, enter additional Line #2" with distinct period#s.
A blank line will end the input for Line #2" and for the pushback.
If more than one pushback is to be read in, add more lines following the above Line #1 and Line #2 format. Again, a
blank line would signal the end of the input for a pushback.
Only the pushbacks, which require variable number of bottom benches by period, are needed to be input in this file.
The default number of bottom benches is the number of bottom benches entered in M821V1 run file for the pushback.
The maximum number of period permitted is defined by IOP404 (e.g., 100).
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82141
OPTIONAL MINING RATE BY PHASE BY PERIOD FILE (FILE 37)
For each pushback (pit):
Line #1 = Pushback name (no more than 5 letters).
Line #2 = (up to six pairs of period# and mining rate in tons/day)
pd#1 mr#1 pd#2 mr#2 pd#3 mr#3 pd#4 mr#4 pd#5 mr#5 pd#6 mr#6
where:
pd#1 mr#1 = up to period pd#1, mining rate mr#1 in tons/day is used
pd#2 mr#2 = up to period pd#2, mining rate mr#2 in tons/day is used
pd#3 mr#3 = up to period pd#3, mining rate mr#3 in tons/day is used
... ...
pd#6 mr#6 = up to period pd#6, mining rate mr#6 in tons/day is used
Both Line #1 and Line #2 are read in by free format.
NOTE:
If more periods are needed, enter additional Line #2" with distinct period#s.
A blank line will end the input for Line #2" and for the pushback.
If more than one pushback is to be read in, add more lines following the above Line #1 and Line #2 format. Again, a
blank line would signal the end of input for a pushback.
Only the pushbacks, which require variable mining rate by period, are needed to be input in this file. The default
mining rate in tons/day is the rate entered in run file for the pushback.
The mining rate tons/day is on the same scale as the magnitude of reserves. If the reserves are in tons, the mining
rate is tons/day. If the reserves are in 1,000 tons, the mining rate is 1000 tons/day.
The maximum number of period permitted is defined by IOP404 (e.g., 100).
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82142 DOCUMENTATION Revised: 31-May-2002
OPTIONAL CUTOFF GRADE BY PHASE BY PERIOD FILE (FILE 38)
For each pushback (pit):
Line #1 = Pit name (no more than 5 letters).
Line #2 = (up to six pairs of period# and cutoff grade number)
pd#1 cn#1 pd#2 cn#2 pd#3 cn#3 pd#4 cn#4 pd#5 cn#5 pd#6 cn#6
where:
pd#1 cn#1 = up to period pd#1, the cutoff number for pushback pit name is cn#1
pd#2 cn#2 = up to period pd#2, the cutoff number for pushback pit name is cn#2
pd#3 cn#3 = up to period pd#3, the cutoff number for pushback pit name is cn#3
... ...
pd#6 cn#6 = up to period pd#6, the cutoff number for pushback pit name is cn#6
Both Line #1 and Line #2 are read in by free format.
NOTE:
If more periods are needed, enter additional Line #2" with distinct period#s.
A blank line will end the input for Line #2" and for the pushback.
If more than one pushback is to be read in, add more lines following the above Line #1 and Line #2 format. Again, a
blank line would signal the end of input for a pushback.
Only the pushbacks, which require variable cutoff by period, are needed to be input in this file. The default cutoff is
defined on production requirement input (Type 13) input. The cutoff number defined in this file refers to the position
of cutoff (to the left) in reference to the c# production classes. For example,
ore-1 ore-2 ore-3 ore-4 ore-5 ore-6 ore-7 ore-8 ore-9 ore-10
Position#: 1 2 3 4 5 6 7 8 9 10
Grades(Cu%): -0.2 0.20 0.45 0.50 0.55 0.60 0.65 0.70 0.75 0.80
If the cutoff grade is 0.50%Cu,
Default cutoff is: 9 7 2 1 1 1 1 1 1 1
where,
1 = mill
2 = mid- grade stockpile
7 = low- grade leach
9 = waste
If variable cutoff by pushback is required, an equivalent cutoff number for 0.50%Cu cutoff is 4. An equivalent cutoff
number for 0.65%Cu is 7. The materials below the cutoff number will be classified as defined by IOP12. In other
word, only one schedule class is permitted. For example, if IOP12=6, the materials below the cutoff number will be
scheduled as high- grade leach. If IOP12=9, the materials below the cutoff number will be scheduled as a waste type
defined by IOP301 (101=Type 1 waste, 102=Type 2 waste, 103=Type 3 waste, , 106=Type 6 waste).
The maximum number of period permitted is defined by IOP404 (e.g., 100).
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82143
OPTIONAL VERTICAL ADVANCE BY PHASE BY PERIOD (FILE 39)
For each pushback (pit):
Line #1 = Pit name (no more than 5 letters).
Line #2 = (up to six pairs of period# and Maximum vertical rate of advance bench number)
pd#1 vadv#1 pd#2 vadv#2 pd#3 vadv#3 pd#4 vadv#4 pd#5 vadv#5 pd#6 vadv#6
where:
pd#1 vadv#1 = up to period pd#1, maximum vertical rate of advance vadv#1 in number of benches is used
pd#2 vadv#2 = up to period pd#2, maximum vertical rate of advance vadv#2 in number of benches is used
pd#3 vadv#3 = up to period pd#3, maximum vertical rate of advance vadv#3 in number of benches is used
... ...
pd#6 vadv#6 = up to period pd#6, maximum vertical rate of advance vadv#6 in number of benches is used
Both Line #1 and Line #2 are read in by free format.
NOTE:
If more periods are needed, enter additional Line #2" with distinct period#s.
A blank line will end the input for Line #2" and for the pushback.
If more than one pushback is to be read in, add more lines following the above Line #1 and Line #2 format. Again, a
blank line would signal the end of input for a pushback.
Only the pushbacks, which require variable vertical advance in number of benches by period, are needed to be input in
this file. The default vertical advance in number of benches is the vertical advance entered in the run file for the
pushback.
The maximum number of period permitted is defined by IOP404 (e.g., 100).
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82144 DOCUMENTATION Revised: 31-May-2002
DETAILED TRUCK HAULAGE CYCLE FILE FORMAT (FILE 31)
If the haulage cycle time should be applied as from each bench of a pushback (pit) to each lift of a dump or ore destination
(see explanation under "belev"), you should input the cycle time for each combination.
When program needs a cycle time, it will look into the haulage file for the combination. If there is no match, the program
may use the average haulage time between the pit and the dump or the ore destinations, depending on IOP32.
The haulage cycle time is entered one combination for per line.
The input is as:
pitid belev dest delev cyct fbrat
where:
pitid = pit name (use the labels from the Type 5 input data)
belev = bench toe elevation
dest = destination
delev = dump crest lift elevation (when there are no multiple lifts, enter an arbitrary number, e.g., 1.
However, the lifts should agree with dump lifts and individual lift input).
cyct = cycle time in minutes for the base truck fleet
fbrat = fuel burn rate in gallon/hour or liter/hour
The input is free format. A blank line or end of file specifies end of input. The maximum number of lines for cycle time
entry is limited by IOP408 (e.g., 200,000)
NOTE: The cycle time file must be sorted by pushbacks (pits) according to Type 5 label input.
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82145
SAMPLE DETAILED TRUCK HAULAGE CYCLE FILE (FILE 31) (CYC821.TMP)
PHS1 300 CRUSH 315 30.00 10.00 / pitid,belev,dest,delev,cyct,fbrat
PHS2 435 CRUSH 315 32.23 10.23 / pitid,belev,dest,delev,cyct,fbrat
PHS2 420 CRUSH 315 27.76 10.76 / pitid,belev,dest,delev,cyct,fbrat
PHS2 435 ED 525 14.21 10.21 / pitid,belev,dest,delev,cyct,fbrat
PHS2 435 ED 495 13.74 10.74 / pitid,belev,dest,delev,cyct,fbrat
PHS2 435 SLG 480 44.00 10.00 / pitid,belev,dest,delev,cyct,fbrat
PHS2 435 SLG 465 43.10 10.10 / pitid,belev,dest,delev,cyct,fbrat
PHS2 435 SMG 510 47.10 10.10 / pitid,belev,dest,delev,cyct,fbrat
PHS2 435 SMG 495 45.56 10.56 / pitid,belev,dest,delev,cyct,fbrat
PHS2 435 TD 17 34.73 10.73 / pitid,belev,dest,delev,cyct,fbrat
PHS2 435 TD 15 30.58 10.58 / pitid,belev,dest,delev,cyct,fbrat
PHS3 435 CRUSH 315 26.39 10.39 / pitid,belev,dest,delev,cyct,fbrat
PHS3 420 CRUSH 315 25.98 10.98 / pitid,belev,dest,delev,cyct,fbrat
PHS3 465 ED 525 21.19 10.19 / pitid,belev,dest,delev,cyct,fbrat
PHS3 465 ED 495 21.08 10.08 / pitid,belev,dest,delev,cyct,fbrat
PHS3 435 SLG 480 38.16 10.16 / pitid,belev,dest,delev,cyct,fbrat
PHS3 435 SLG 465 37.26 10.26 / pitid,belev,dest,delev,cyct,fbrat
PHS3 435 SMG 510 41.26 10.26 / pitid,belev,dest,delev,cyct,fbrat
PHS3 435 SMG 495 39.72 10.72 / pitid,belev,dest,delev,cyct,fbrat
PHS3 525 TD 19 35.56 10.56 / pitid,belev,dest,delev,cyct,fbrat
PHS3 525 TD 18 32.64 10.64 / pitid,belev,dest,delev,cyct,fbrat
PHS4 375 CRUSH 315 12.94 10.94 / pitid,belev,dest,delev,cyct,fbrat
PHS4 360 CRUSH 315 13.77 10.77 / pitid,belev,dest,delev,cyct,fbrat
PHS4 450 ED 525 12.61 10.61 / pitid,belev,dest,delev,cyct,fbrat
PHS4 450 ED 495 12.14 10.14 / pitid,belev,dest,delev,cyct,fbrat
PHS4 375 SLG 480 24.32 10.32 / pitid,belev,dest,delev,cyct,fbrat
PHS4 375 SLG 465 24.69 10.69 / pitid,belev,dest,delev,cyct,fbrat
PHS4 375 SMG 510 27.37 10.37 / pitid,belev,dest,delev,cyct,fbrat
PHS4 375 SMG 495 27.11 10.11 / pitid,belev,dest,delev,cyct,fbrat
PHS4 525 TD 19 27.99 10.99 / pitid,belev,dest,delev,cyct,fbrat
PHS4 525 TD 18 25.06 10.06 / pitid,belev,dest,delev,cyct,fbrat
PHS5 510 CRUSH 315 16.65 10.65 / pitid,belev,dest,delev,cyct,fbrat
PHS5 495 CRUSH 315 22.39 10.39 / pitid,belev,dest,delev,cyct,fbrat
PHS5 510 SLG 330 16.50 10.50 / pitid,belev,dest,delev,cyct,fbrat
PHS5 510 SLG 345 17.83 10.83 / pitid,belev,dest,delev,cyct,fbrat
PHS5 510 SMG 315 14.60 10.60 / pitid,belev,dest,delev,cyct,fbrat
PHS5 510 SMG 330 16.50 10.50 / pitid,belev,dest,delev,cyct,fbrat
PHS5 510 TD 1 30.21 10.21 / pitid,belev,dest,delev,cyct,fbrat
PHS5 510 TD 2 25.68 10.68 / pitid,belev,dest,delev,cyct,fbrat
PHS6 300 CRUSH 315 30.00 10.00 / pitid,belev,dest,delev,cyct,fbrat
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82146 DOCUMENTATION Revised: 31-May-2002
MULTIPLE MODEL FILES IN ASCII FORMAT (FILE 19) OPTIONAL
This file contains up to 10 models in ASCII format. Starting from line#3, each column provides an entry for a model in
space or comma delineated free format. Up to 10 models can be input. The total number of lines for bench elevation
input is dependent on the model with the most number of benches. For example, if there are 4 models, model 1 has 64
benches, model 2 has 5 benches, model 3 has 10 benches, model 4 has 15 benches, the total number of lines for bench
elevation input will be 64. The entries for other models beyond their elevation input must be filled with 0s. The input
format for this file is given below.
Line# 1 = PCF file (e.g., msop10.dat)
Line# 2 = Imperial or metric unit flag (e.g., metric)
Line# 3 = Model labels delineated by comma (e.g., Model 1, Model 2 - variable, Model 3, ...)
Line# 4 = Constant or variable bench height indicators (e.g., constant variable constant ...)
Line# 5 = Number of benches (e.g., nbench1 nbench2 nbench3 ...)
where:
nbench1 = number of benches for model 1
nbench2 = number of benches for model 2
nbench3 = number of benches for model 3
......
nbenchN = number of benches for model N (N10)
Line# 6 = Bench heights (e.g., height1 height2 height3 ...)
where:
height1 = bench height for model 1
height2 = bench height for model 2
height3 = bench height for model 3
......
heightN = bench height for model N (N10)
NOTE: The bench heights for variable bench height models are usually set at -1.
Line# 7 = Crest elevation of models (e.g., crest1 crest2 crest3 ...)
where:
crest1 = crest elevation for model 1
crest2 = crest elevation for model 2
crest3 = crest elevation for model 3
......
crestN = crest elevation for model N (N10)
Line# 8 = Bench elevation at toe for models (e.g., elev1 elev2 elev3 ...)
where:
elev1 = bench toe elevation for model 1
elev2 = bench toe elevation for model 2
elev3 = bench toe elevation for model 3
......
elevN = bench toe elevation for model N (N10)
Add more of Line#8 inputs for additional bench elevations.
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82147
BENCH PARAMETER FILE (FILE 24) OPTIONAL
This file contains optional bench control parameters input by phase by bench. The control parameters are mining rate,
shovel fleet number and truck loading factor. If IOP35=1, the truck loading factor will be replaced with ore/waste
mining order. In this case, 0 means that the ore and waste should be mined according to the stripping ratio of the
bench, and 1 means that the ore can be completely mined before mining begins on the waste on that bench. The input
format for this file is given below:
Line# 1 = header line - comment of input fields (no significance to schedule run)
Line# 2 = phaseID phaseN elev benchN mrate shlN loadF
where:
phaseID = phase label ( 5 letters, corresponding to Type 5 input, e.g., PHAS1)
phaseN = phase sequence number (e.g., 5)
elev = bench toe elevation (e.g., 2945)
benchN = bench number (e.g., 1)
mrate = bench mining rate in x- tons/day (x corresponds to the reserve magnitude,
for example, x=1000 or k-ton/day if the reserves are in 1000 tons. An example
of mining rate can be 500kt/day).
ShlN = shovel fleet number (e.g., 1 which may correspond to 4100 shovel fleet)
LoadF = truck loading factor (e.g., 75, meaning 75% of loading factor)
If IOP35=1, the loadF corresponds to ore/waste mining order.
Add more Line#2 for additional bench parameters.
NOTE: Only the benches, which require control parameters, need to be input. The default mining rate for each
bench is the phase mining rate. The shovel fleet used will be based on shovel fleet priority (input order) and
availability. The default loading factor is 100%. The truck capacity can also be adjusted by cost classes according to
material type if IOP460 > 1 (refer to input for TRUCK and SHOVEL CHARACTERISTICS)
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82148 DOCUMENTATION Revised: 31-May-2002
ECONOMIC PARAMETER ADJUSTMENTS BY PERIOD INPUT FILE (FILE 20) OPTIONAL
This file contains optional adjustments to economic parameters by period. The economic parameters are: mining cost,
primary metal price, secondary metal price, destination (processing) cost, shovel operating cost, and truck operating
cost. The input format for this file is given below:
Line# 1 = header line - comment of input fields (no significance to schedule run)
Line# 2 = mncostadj ppriceadj spriceadj fcostadj shcostadj tkcostadj iper1 iper2
where:
mncostadj = mining cost adjustment in $/ton from iper1 to iper2
ppriceadj = primary metal price adjustment in $/unit from iper1 to iper2
spriceadj = secondary metal price adjustment in $/unit from iper1 to iper2
fcostadj = adjustment for the destination fixed cost in $/ton from iper1 to iper2
shcostadj = shovel operating cost adjustment in $/hour from iper1 to iper2
tkcostadj = truck operating cost adjustment in $/hour from iper1 to iper2
iper1 = starting period number for the adjustment taking effect
iper2 = ending period number for the adjustment
Add more Line#2 for additional adjustment in different period spans.
NOTE: The adjustment parameters are required only for the periods in which economic parameters need to be
adjusted. The default values of the adjustments = 0. File 20 input overrides the parameters PAR451 PAR458.
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82149
CASH FLOW TABLE INPUT FILE (FILE 28)
Cash flow input:
Line# 1 = ntydp nsydp iadtk iadsh iadtn iadsn iadtr iadsr taxrt yshft
where,
ntydp = number of years for truck fleet depreciation (Default=7, max=10)
nsydp = number of years for shovel fleet depreciation (Default=15, max=20)
iadtk = fleet number for the characteristics of the automatically added truck fleet (Default=1)
iadsh = fleet number for the characteristics of the automatically added shovel fleet (Default=1)
iadtn = number of trucks in the automatically added truck fleet because of fluctuation (Default=5)
iadsn = number of shovels in the automatically added shovel fleet because of fluctuation (Default=1)
iadtr = number of trucks in the automatically added truck fleet when replacing fleet iadtk
(Default=the number of trucks in the fleet iadtk)
iadsr = number of shovels in the automatically added shovel fleet when replacing fleet iadsh
(Default=the number of shovels in the fleet iadsh)
taxrt = tax rate in percent (Default=30%)
yshft = shift value for Net Present Value (NPV) time reference from year-end, e.g., 0.5 for half year. There is no
default when File 28 is present. (Default=0.5 when File 28 is not present)
Line# 2 = tcpcs1 tcpcs2 tcpcs3 tcpcs4 tcpcs5 tcpcs6 tcpcs7 tcpcs8 tcpcs9 tcpcs10 (10 trucks/line)
where,
tcpcs1= Capital investment cost per truck for truck fleet number 1 (Default=$2.3 million)
tcpcs2= Capital investment cost per truck for truck fleet number 2 (Default=$2.3 million)
tcpcs3= Capital investment cost per truck for truck fleet number 3 (Default=$2.3 million)
......
tcpcs10= Capital investment cost per truck for truck fleet number 10 (Default=$2.3 million)
Add more Line#2 lines for more truck fleets.
Line# 3 = scpcs1 scpcs2 scpcs3 scpcs4 scpcs5 scpcs6 scpcs7 scpcs8 scpcs9 scpcs10 (10 shovels/line)
where,
scpcs1= Capital investment cost per shovel for shovel fleet number 1 (Default=$8.0 million)
scpcs2= Capital investment cost per shovel for shovel fleet number 2 (Default=$8.0 million)
scpcs3= Capital investment cost per shovel for shovel fleet number 3 (Default=$8.0 million)
......
scpcs10= Capital investment cost per shovel for shovel fleet number 10 (Default=$8.0 million)
Add more Line# 3 lines for more shovel fleets.
Line# 4 = tdprt1 tdprt2 tdprt3 tdprt4 tdprt5 tdprt6 tdprt7 tdprt8 tdprt9 tdprt10 (10 rates/line)
where,
tdprt1= depreciation rate in percent for trucks for year 1
tdprt2= depreciation rate in percent for trucks for year 2
tdprt3= depreciation rate in percent for trucks for year 2
......
tdprt10= depreciation rate in percent for trucks for year 10
Add more Line#4 lines for more depreciation rates (default depreciation is straight line).
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82150 DOCUMENTATION Revised: 31-May-2002
Line# 5 = sdprt1 sdprt2 sdprt3 sdprt4 sdprt5 sdprt6 sdprt7 sdprt8 sdprt9 sdprt10 (10 rates/line)
where,
sdprt1= depreciation rate in percent for shovels for year 1
sdprt2= depreciation rate in percent for shovels for year 2
sdprt3= depreciation rate in percent for shovels for year 2
......
sdprt10= depreciation rate in percent for shovels for year 10
Add more Line# 5 lines for more depreciation rates (default depreciation is straight line).
Table Input for Cash Flow (period 1 - 10):
Line# 6 = Fixed portion of cost of sales by period
Line# 7 = Fixed portion of depreciation & amortization by period
Line# 8 = Other income (expenses) by period
Line# 9 = Fixed portion of capital expenditure by period
Line# 10 = Working capital movement by period
Line# 11 = Other cash adjustments by period
Line# 12 = Total assets by period
Line# 13 = Total capital by period
Table Input for Cash Flow (period 11 - 20) (if applicable):
Line# 6 = Fixed portion of cost of sales by period
Line# 7 = Fixed portion of depreciation & amortization by period
Line# 8 = Other income (expenses) by period
Line# 9 = Fixed portion of capital expenditure by period
Line# 10 = Working capital movement by period
Line# 11 = Other cash adjustments by period
Line# 12 = Total assets by period
Line# 13 = Total capital by period
Add more Line# 6 - Line# 13 lines as blocks if there are more than 20 periods (total number of lines 36).
NOTE: If File 28 is not in input, the default cash flow input will be generated.
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82151
SAMPLE FOR CASH FLOW INPUT FILE: cashfl.inp
7 7 1 1 5 1 17 2 35.0 0.0/ #of yrs for trk&shl depr.; Add trk&shl char, #of trk,shl; #of trk&shl; Tax rate,
Shift for NPV
2300 2300 2300 2300 2300 / capital cost per truck for truck fleets
7500 7500 7500 / capital cost per shovel for shovel fleets
50 10 10 10 10 5 5 / truck depreciation rate% for years 1 - 7
40 10 10 10 10 10 10 / shovel depreciation rate% for years 1 - 7
51567 12932 11342 14685 16931 13063 17009 15572 14692 14400 / cost of sales (period 1-10)
0 2954 2769 3286 3139 3164 3095 3167 3066 2960 / depreciation & amortization
0 0 0 0 0 0 0 0 0 0 / other income (expenses)
3969 5557 6347 5614 2481 3559 508 398 348 355 / capital expenditure
0 5534 5186 5872 5802 5444 3849 3250 4888 4803 / working capital
0 0 0 0 0 0 0 0 0 0 / other cash adjustments
546133 548394 551790 556708 555294 554252 551009 549144 549581 547872 / total assets
528276 527508 534399 536882 536186 534797 531084 529106 529134 528307 / total capital
14157 14742 14940 45193 44062 44601 44140 45809 45809 44809 / cost of sal es ( per i od 11- 20)
3175 3036 2862 6694 6694 6694 6694 5508 5508 5508 / depreciation & amortization
0 0 0 0 0 0 0 0 0 0 / other income (expenses)
440 400 440 5582 4955 481 841 3245 3245 3247 / capital expenditure
6217 6842 5663 5590 5742 5690 5579 4525 4525 4525 / working capital
0 0 0 0 0 0 0 0 0 0 / other cash adjustments
549584 549842 554613 548352 547225 553919 539837 538926 538324 537739 / total assets
527732 527521 531436 524342 523860 520682 517476 515789 515810 515848 / total capital
45809 17874 17874 17874 16874 16874 16874 18874 16874 17874 / cost of sales (period 21-30)
5508 35636 39761 37292 38232 38802 38110 37665 37384 39855 / depreciation & amortization
0 0 0 0 0 0 0 0 0 0 / other income (expenses)
3546 6399 45515 3592 3332 26172 7092 8055 45350 6479 / capital expenditure
6125 88881 88888 153273 45549 65278 25106 55583 55138 53599 / working capital
0 0 0 0 0 0 0 0 0 0 / other cash adjustments
538876 508477 508827 572236 538953 525612 593565 579242 576800 590684 / total assets
514647 503774 503112 537204 500745 513632 549959 531640 526045 590628 / total capital
18874 18874 18874 18874 0 / cost of sal es ( per i od 31- 35)
35062 38833 36557 34012 34012 / depreciation & amortization
0 0 0 0 0 / other income (expenses)
3291 3395 599 0 0 / capital expenditure
53268 53832 52152 0 0 / working capital
0 0 0 0 0 / other cash adjustments
223125 184412 519979 6381 3555 / total assets
169850 132208 216890 0 0 / total capital
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82152 DOCUMENTATION Revised: 31-May-2002
SAMPLE RUNFILE FOR M821V1 (RUN821.A)
MEDS-821V1 10=msop10.dat 3=rpt821.mat 34=sum821.mat 29=plt821.mat;
MEDS-821V1 33=rst821.tmp 23=ass821.mat 25=dtl821.mat 30=dmp821.mat;
MEDS-821V1 19=ascpcf.tab 24=vbp821.prn 35=drt821.prn 36=vbn821.prn;
MEDS-821V1 37=mrt821.prn 38=vct821.prn 39=vad821.prn 20=eaj821.prn;
MEDS-821V1 32=rst821.dat
* MSOP - mill+2 leach+3 stockpile+4 waste types+reclaim stockpile schedule
DOC DOC
USR = abc / user id Tuesday,May 07,2002 03:26 PM
IOP1 = 2 / Location of primary grade
IOP2 = 3 / Location of secondary grade
IOP3 = 1 / Location of third grade
IOP8 = 1 / Option for processing all the mined type 1 mill ore materials
COM 0= No impact
COM 1= Process all the mined type 1 mill ore materials
IOP11 = 16 / #of periods for schedule run
COM N= #of periods for schedule run, IOP11 can be less than
COM #of periods defined in production requirements.
IOP12 = 102 / Schedule material number for materials below cutoff
COM Schedule material number for materials below period cutoff
COM when variable cutoff by phase option is used (file 38).
IOP13 = 1 / Option for using net$/ton values as 1st and 2nd grades.
COM 0= No impact
COM 1= 1st grade is net $/ton for mill ore for economic calculations.
COM 2nd grade is net $/ton for materials below period cutoff grade
COM including waste.
IOP14 = 4 / Option for VB interface - Mine Operations.
COM 1= Mill(Plant) - Ore/Waste
COM 2= Mill(Plant) - Ore/Stockpile/Waste
COM 3= Mill - Ore/Leach/Waste
COM 4= Mill - Ore/Leach/Stockpile/Waste
COM 5= Crushed Leach/Waste
COM 6= Crushed Leach/ROM Leach/Waste
COM 7= ROM High-Grade Leach/ROM Low-Grade Leach/Waste
COM 8= Mill/Crushed Leach/ROM Leach/Waste
COM 9= Mill/Crushed Leach/ROM Leach/Stockpile/Waste
COM 10= Other
IOP15 = 1 / Option for VB interface - Trucks & Shovels & Destinations
COM 0= Do not use Trucks & Shovels & Destinations
COM 1= Use Trucks & Shovels & Destinations
IOP17 = 1 / Option for allocating mined materials to their destinations.
COM 0= Material destination by shortest haul
COM 1= Material destination by linear programming based on minimization
COM of haulage cycle times among all mined phases and avail. destinations.
IOP19 = 2 / Option for restart.
COM 0= Produce period by period schedules from period 1
COM N= Restart from period N, the schedules from period 1
COM to period N-1 is read in from file 32.
IOP21 = 11 / Criteria to choose a mining solution
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82153
COM 1= Minimize net value (what if)
COM 2= Minimize primary mineral content (what if)
COM 3= Minimize stripping ratio
COM 4= Minimize haulage & loading cost
COM 5= Minimize haulage hours
COM 6= Minimize amount of exposed ore (what if)
COM 7= Minimize net operating profit (NOPAT)(what if)
COM 8= Minimize cash flow (what if)
COM 9= Minimize return of capital (what if)
COM 10= Minimize cost of unit metal (e.g., $/lb)
COM 11= Maximize net value
COM 12= Maximize primary mineral content
COM 13= Maximize stripping ratio (what if)
COM 14= Maximize haulage & loading cost (what if)
COM 15= Maximize haulage hours (what if)
COM 16= Maximize amount of exposed ore
COM 17= Maximize net operating profit (NOPAT)
COM 18= Maximize cash flow
COM 19= Maximize return of capital (ROC)
COM 20= Maximize cost of unit metal (e.g., $/lb)(what if)
IOP27 = 15 / Report print option
COM 1= Print mining summary reports only (default)
COM 2= Print equipment usage reports only
COM 4= Print cost reports only
COM 8= Print destination usage only
COM 3= Print mining summary and equipment usage reports
COM 7= Print mining summary and equipment usage and cost reports
COM 15= Print all summary tables in standard report file
COM 19= Print summary reports+economics+destination usages
IOP31 = 1 / Can the number of phases working in one period be changed?
COM 0= The number of phases working can not be changed
COM 1= The number of phases working can be changed by program
IOP33 = 1 / Read de-watering cost?
COM 0= No
COM 1= Yes
IOP34 = 500000 / Number of iterations for each working combination
COM of phases before program terminates the mining
COM layout search for a period.
COM = N (default = very large number)
IOP301 = 102 / Default waste type when below period cutoff
COM IOP301=one of the following: 101,102,103,104,105,and 106.
IOP401 = 6 / Max number of phases <=50
IOP402 = 3 / Max number of (mid,low,and sub-grade) stockpiles <=30
IOP404 = 17 / Max number of periods <=100
IOP405 = 17 / Max number of precedence constraints <=2000
IOP406 = 4 / Max number of truck fleets <=100
IOP407 = 4 / Max number of shovel fleets <=20
IOP408 = 1 / Max number of detailed haulage records <=200000
IOP409 = 20 / Max number of reserve classes from res routines <=100
IOP411 = 6 / Max number of ore physical destinations <=90
IOP412 = 6 / Max number of waste physical destinations <=30
IOP413 = 6 / Max number of lifts for an ore destination <=50
IOP414 = 5 / Max number of lifts for a waste destination <=50
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82154 DOCUMENTATION Revised: 31-May-2002
IOP415 = 6 / Max number of sub-regions for an ore destination <=50
IOP416 = 5 / Max number of sub-regions for a waste destination <=50
IOP417 = 3 / Max number of PCF models <=10
IOP418 = 1 / Max number of type1+type2 mill physical destinations <=30
IOP451 = 18 / Number of ore production classes <=30
IOP452 = 6 / Actual number of waste types <=6
IOP458 = 1 / Waste destinations have sub-regions?
COM 0= No, do not use waste sub-regions
COM 1= Yes, use waste sub-regions
IOP459 = 1 / Automatically retrieve secondary (mid,low, and sub-grade) stockpiles
COM 0= No
COM 1= Yes, automatically reclaim secondary stockpiles
IOP460 = 3 / Option for cost classes to adjust economic and operational parameters
COM 0= No
COM 1= Adjust mining and processing costs
COM 2= Adjust equipment operating costs, load, and haulage parameters
COM 3= Adjust both (1) and (2)
PAR1 = 15 / Annual discounting rate in percent (default=15%)
PAR2 = 330 / Number of operating days in one year
PAR4 = 1000 / Divider for reserves (e.g.,1 or 1000, default=1)
PAR6 = 24 / Operating hours per day (default=20)
PAR7 = 1000 / Tonnage units (including PAR4) (default=1000).
PAR11 = 0.375 / Estimated haulage & loading cost for ranking pushbacks
PAR13 = 5 / Number of feasible solutions needed in one period (eg,5-10)
PAR14 = 1 / Period number for feasible solution auditing
PAR15 = 1 / Default number of bottom benches within a pushback (default=1)
PAR16 = 0.4 / Fixed ore mining cost in $/ton
PAR17 = 0.4 / Fixed waste mining cost in $/ton
PAR18 = 0.4 / Fixed alluvium mining cost in $/ton
PAR19 = 0.4 / Fixed low grade (leach) mining cost in $/ton (default=PAR16)
END
6 1 0 1 1 1 1 1 1 1 1 1 1 1 / #of phases,mill1,mill2,hgleach,lgleach,mgstkp,lgstkp,sgstkp,waste1-6
CRUSH HGLCH LGLCH MGSTP LGSTP SGSTP WAST1 WAST2 WAST3 WAST4 / destination & phase labels
WAST5 WAST6 PHS1 PHS2 PHS3 PHS4 PHS5 PHS6 / destination & phase labels
1 0.7 87 2.4 80 3 1 100 / Dest# pprice prec sprice srec fcost frprd toprd
2 0.4 40 0 0 0 1 100 / Dest# pprice prec sprice srec fcost frprd toprd
3 0.6 15 0 0 0 1 100 / Dest# pprice prec sprice srec fcost frprd toprd
4 0 0 0 0 0.1 1 100 / Dest# pprice prec sprice srec fcost frprd toprd
5 0 0 0 0 0.1 1 100 / Dest# pprice prec sprice srec fcost frprd toprd
6 0 0 0 0 0.1 1 100 / Dest# pprice prec sprice srec fcost frprd toprd
7 0 0 0 0 0.1 1 100 / Dest# pprice prec sprice srec fcost frprd toprd
8 0 0 0 0 0.1 1 100 / Dest# pprice prec sprice srec fcost frprd toprd
9 0 0 0 0 0.1 1 100 / Dest# pprice prec sprice srec fcost frprd toprd
10 0 0 0 0 0.1 1 100 / Dest# pprice prec sprice srec fcost frprd toprd
11 0 0 0 0 0.1 1 100 / Dest# pprice prec sprice srec fcost frprd toprd
12 0 0 0 0 0.1 1 100 / Dest# pprice prec sprice srec fcost frprd toprd
/ End of destination economics input
20 / Number of reserve classes
101 1 2 3 4 5 6 7 8 9 / Reserve classes to production classes
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82155
10 11 12 13 14 15 16 17 18 101 / Reserve classes to production classes
19 / Number of production classes
1 1 1 2 2 2 3 3 3 3 / Production classes to cost classes
4 4 4 5 6 7 8 9 10 / Production classes to cost classes
10 / Number of cost classes
-0.15 0.05 0.1 -0.1 -0.1 0.1 0.1 0.05 -0.05 0.1 / mining cost adjustment for 10 cost classes
-0.55 0.25 0.3 -0.3 -0.2 0.2 0.2 0.35 -0.55 0.5 / processing cost adjustment for 10 cost classes
-0.05 0.15 0.1 -0.2 -0.1 0.1 0.1 0.02 -0.1 0.1 / variable mining cost adjustment for 10 cost classes
res1.scd 5000 1 2960 15 64 0 8 / reserve file name & phase parameters
30 30 30 30 30 30 30 30 30 30 / average cycle time between phases & destinations
30 30 0 0 0 0 0 0 / average cycle time between phases & destinations
res2.scd 5000 1 2960 15 64 0 8 / reserve file name & phase parameters
30 30 30 30 30 30 30 30 30 30 / average cycle time between phases & destinations
30 30 0 0 0 0 0 0 / average cycle time between phases & destinations
res3.scd 5000 1 2960 15 64 0 8 / reserve file name & phase parameters
30 30 30 30 30 30 30 30 30 30 / average cycle time between phases & destinations
30 30 0 0 0 0 0 0 / average cycle time between phases & destinations
res4.scd 5000 1 2960 15 64 0 8 / reserve file name & phase parameters
30 30 30 30 30 30 30 30 30 30 / average cycle time between phases & destinations
30 30 0 0 0 0 0 0 / average cycle time between phases & destinations
res5.scd 5000 1 2960 15 64 0 8 / reserve file name & phase parameters
30 30 30 30 30 30 30 30 30 30 / average cycle time between phases & destinations
30 30 0 0 0 0 0 0 / average cycle time between phases & destinations
res6.scd 5000 1 2960 15 64 0 8 / reserve file name & phase parameters
30 30 30 30 30 30 30 30 30 30 / average cycle time between phases & destinations
30 30 0 0 0 0 0 0 / average cycle time between phases & destinations
4 4 / number of truck and shovel fleets
T240A 1 0 240 240 83 50 / truck fleet ID & parameters
1000 90 120 3000 86 125 4500 82 130 6000 78 135 9000 90 120 10000 86 125 11000 82 130 12000 78 135 13000 90 120
14000 86 125 15000 82 130 60000 78 135 / truck availabilities, operating costs up to hours
10 15 10.5 -10 -20 -10 10 20 10 -15 / haulage capacity adjustment in tons per trip for 10 cost classes
20 15 20.5 -20 -10 -20 20 30 20 -10 / operating cost adjustment in $ per ton for 10 cost classes
2 5 0.5 -2 -1 -2 2 3 2 -1 / haulage cycle time adjustment in minutes for 10 cost classes
0.2 0.6 0.5 -1 -2 -3 5 4 2 -1.5 / fuel consumption adjustment in gal or litre for 10 cost classes
T240B 1 0 240 240 83 500 / truck fleet ID & parameters
1000 90 120 3000 86 125 4500 82 130 6000 78 135 9000 90 120 10000 86 125 11000 82 130 12000 78 135 13000 90 120
14000 86 125 15000 82 130 60000 78 135 / truck availabilities, operating costs up to hours
10 15 10.5 -10 -20 -10 10 20 10 -15 / haulage capacity adjustment in tons per trip for 10 cost classes
20 15 20.5 -20 -10 -20 20 30 20 -10 / operating cost adjustment in $ per ton for 10 cost classes
2 5 0.5 -2 -1 -2 2 3 2 -1 / haulage cycle time adjustment in minutes for 10 cost classes
0.2 0.6 0.5 -1 -2 -3 5 4 2 -1.5 / fuel consumption adjustment in gal or litre for 10 cost classes
TKSTP 1 0 195 195 83 500 / truck fleet ID & parameters
15000 86 100 30000 82 105 45000 78 110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 / truck
availabilities, operating costs up to hours
10 15 10.5 -10 -20 -10 10 20 10 -15 / haulage capacity adjustment in tons per trip for 10 cost classes
20 15 20.5 -20 -10 -20 20 30 20 -10 / operating cost adjustment in $ per ton for 10 cost classes
2 5 0.5 -2 -1 -2 2 3 2 -1 / haulage cycle time adjustment in minutes for 10 cost classes
0.2 0.6 0.5 -1 -2 -3 5 4 2 -1.5 / fuel consumption adjustment in gal or litre for 10 cost classes
TKMIL 1 0 45 45 100 5 / truck fleet ID & parameters
50000 100 0.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 / truck availabilities,
operating costs up to hours
10 15 10.5 -10 -20 -10 10 20 10 -15 / haulage capacity adjustment in tons per trip for 10 cost classes
20 15 20.5 -20 -10 -20 20 30 20 -10 / operating cost adjustment in $ per ton for 10 cost classes
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82156 DOCUMENTATION Revised: 31-May-2002
2 5 0.5 -2 -1 -2 2 3 2 -1 / haulage cycle time adjustment in minutes for 10 cost classes
0.2 0.6 0.5 -1 -2 -3 5 4 2 -1.5 / fuel consumption adjustment in gal or litre for 10 cost classes
4100A 1 0 70 10 / shovel fleet ID & parameters
2000 92 200 4000 88 205 6000 84 210 7500 82 220 9000 92 200 10000 88 205 11000 84 210 12000 82 220 13000 92 200
15000 88 205 16000 84 210 60000 82 220 / shovel availabilities, operating costs up to hours
1 0 1 1 1 0 1 1 1 1 / shovel loading flag (0=no,1=yes) for 10 cost classes
0.01 0 1 0.2 0.5 0 -0.1 -0.2 -0.5 1 / loading cycle time adjustment in minutes for 10 cost classes
5 0 10 20 5 0 -10 -20 -5 10 / operating cost adjustment in $ per ton for 10 cost classes
4100B 1 0 70 100 / shovel fleet ID & parameters
20000 92 200 40000 88 205 60000 84 210 75000 82 220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 / shovel
availabilities, operating costs up to hours
1 0 1 1 1 0 1 1 1 1 / shovel loading flag (0=no,1=yes) for 10 cost classes
0.01 0 1 0.2 0.5 0 -0.1 -0.2 -0.5 1 / loading cycle time adjustment in minutes for 10 cost classes
5 0 10 20 5 0 -10 -20 -5 10 / operating cost adjustment in $ per ton for 10 cost classes
SHSTP 1 0 60 100 / shovel fleet ID & parameters
15000 92 150 30000 88 155 45000 84 160 60000 82 165 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 / shovel
availabilities, operating costs up to hours
1 0 1 1 1 0 1 1 1 1 / shovel loading flag (0=no,1=yes) for 10 cost classes
0.01 0 1 0.2 0.5 0 -0.1 -0.2 -0.5 1 / loading cycle time adjustment in minutes for 10 cost classes
5 0 10 20 5 0 -10 -20 -5 10 / operating cost adjustment in $ per ton for 10 cost classes
SHMIL 1 0 60 100 / shovel fleet ID & parameters
15000 92 150 30000 88 155 45000 84 160 60000 82 165 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 / shovel
availabilities, operating costs up to hours
1 0 1 1 1 0 1 1 1 1 / shovel loading flag (0=no,1=yes) for 10 cost classes
0.01 0 1 0.2 0.5 0 -0.1 -0.2 -0.5 1 / loading cycle time adjustment in minutes for 10 cost classes
5 0 10 20 5 0 -10 -20 -5 10 / operating cost adjustment in $ per ton for 10 cost classes
2 2 2 2 / loading cycle time between shovel and trucks
2 2 2 2 / loading cycle time between shovel and trucks
0 0 2 0 / loading cycle time between shovel and trucks
0 0 0 2 / loading cycle time between shovel and trucks
MGSTP / stockpile label
10 / cycle time between stockpile & type 1 mill destinations
SHSTP TKSTP / designated shovel & truck fleets
LGSTP / stockpile label
10 / cycle time between stockpile & type 1 mill destinations
SHSTP TKSTP / designated shovel & truck fleets
SGSTP / stockpile label
10 / cycle time between stockpile & type 1 mill destinations
SHSTP TKSTP / designated shovel & truck fleets
CRUSH / stockpile label
1 / cycle time between stockpile & type 1 mill destinations
SHMIL TKMIL / designated shovel & truck fleets
/ End of stockpile cycle time inputs
PRD1 / period ID 1
2 40000 0.1 0 0.0 98800 800000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 5000 1 4 11 25 / production
requirements
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
PRD2 / period ID 2
2 40000 0.1 0 0.0 98800 800000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 11 0 / production
requirements
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
PRD3 / period ID 3
2 40000 0.1 0 0.0 98800 99000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 2000 1 5 11 50 / production
MineSight Proprietary Software: Mintec, Inc. M821V1LONG-RANGE SCHEDULING-OPEN PIT MINES
Revised: 31-May-2002 DOCUMENTATION Page 82157
requirements
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
PRD4 / period ID 4
2 40000 0.1 0 0.0 98800 800000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 11 0 / production
requirements
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
PRD5 / period ID 5
2 40000 0.1 0 0.0 98800 99000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 11 0 / production
requirements
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
PRD6 / period ID 6
2 40000 0.1 0 0.0 98800 800000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 11 0 / production
requirements
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
PRD7 / period ID 7
2 40000 0.1 0 0.0 98800 800000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 11 0 / production
requirements
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
PRD8 / period ID 8
2 40000 0.1 0 0.0 98800 800000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 11 0 / production
requirements
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
PRD9 / period ID 9
2 40000 0.1 0 0.0 98800 800000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 11 0 / production
requirements
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
PRD10 / period ID 10
2 40000 0.1 0 0.0 98800 800000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 11 0 / production
requirements
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
PRD11 / period ID 11
2 40000 0.1 0 0.0 98800 99000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 11 0 / production
requirements
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
PRD12 / period ID 12
2 40000 0.1 0 0.0 98800 99000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 11 0 / production
requirements
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
PRD13 / period ID 13
2 40000 0.1 0 0.0 89765 800000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 11 0 / production
requirements
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
PRD14 / period ID 14
2 40000 0.1 0 0.0 0 800000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 11 0 / production requirements
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
PRD15 / period ID 15
2 40000 0.1 0 0.0 0 800000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 11 0 / production requirements
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
PRD16 / period ID 16
2 8843 0.1 0 0.0 0 800000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 11 0 / production requirements
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
PRD17 / period ID 17
2 40000 0.1 0 0.0 0 800000 330 102 103 104 7 6 4 3 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 11 0 / production requirements
M821V1LONG RANGE SCHEDULINGOPEN PIT MINES MineSight Proprietary Software: Mintec, Inc.
Page 82158 DOCUMENTATION Revised: 31-May-2002
0.0 0.0 0.0 0.0 0.0 0.0 / min & max quality 1&2&3 requirements
/ End of production requirements
1 2675 2420 0.05 0.01 / variable mining cost by bench
2 2690 2360 0.05 0.01 / variable mining cost by bench
3 2735 2240 0.05 0.01 / variable mining cost by bench
4 2780 2210 0.05 0.01 / variable mining cost by bench
5 2885 2240 0.05 0.01 / variable mining cost by bench
6 2915 2240 0.05 0.01 / variable mining cost by bench
/ End of variable mining cost by bench input
1 DONT MINE MGSTP 12 / precedence requirement type 1
1 DONT MINE LGSTP 12 / precedence requirement type 1
1 DONT MINE SGSTP 12 / precedence requirement type 1
5 DONT MINE PHS6 0 / precedence requirement type 1
17 MUST MINE PHS6 2240 / precedence requirement type 2
17 MINE TO PHS5 2240 100 100 75 / precedence requirement type 3
/ End of precedence requirement I
PHS2 AFTER PHS1 / precedence constraint to prevent undercut mining
PHS3 AFTER PHS2 / precedence constraint to prevent undercut mining
PHS4 AFTER PHS3 / precedence constraint to prevent undercut mining
PHS5 AFTER PHS4 / precedence constraint to prevent undercut mining
PHS6 AFTER PHS5 / precedence constraint to prevent undercut mining
/ End of precedence requirement II
PHS2 AFBND PHS1 3 1 100 / precedence constraint to prevent undercut mining
PHS3 AFBND PHS2 2 1 100 / precedence constraint to prevent undercut mining
PHS4 AFBND PHS3 1 1 100 / precedence constraint to prevent undercut mining
PHS5 AFBND PHS4 1 1 100 / precedence constraint to prevent undercut mining
PHS6 AFBND PHS5 2 1 100 / precedence constraint to prevent undercut mining
/ End of binding precedence requirement
PHS5 2240 HINDE PHS6 2255 / precedence constraint to preserve structures
/ End of precedence requirement III
Proprietary Information of Mintec, inc. ePit Basics
Part #: E002 Rev. B Page B-1
Notes:
Appendix B
ePit Basics
In this section you will learn the basic principles of Pit Optimization. This is followed
by the study of the basic techniques used in designing optimized pits.
Learning Outcome
When you have completed this section, you will know:
A. What the Pit Optimization series of programs does
B. The moving cone method of pit design
C. How to initialize a special Pit Optimization File 13
The Pit Optimization Programs
The Pit Optimization series of programs (MSOPIT, MSPTSP, MSVALP) are used to
create economically feasible pit designs using the 3D mine model in conjunction with a
specifically initialized Pit Optimization File 13. Then MS2 can plot out pit designs and
reserves can be calculated using other MSCompass procedures such as pitres.dat.
Floating Cone Logic
Optimized pits can be created by a moving cone method which can rapidly generate a
series of pits based on economic criteria. The objective of the moving cone is to find
maximum total profit pit limits.
1. Each block is assigned a dollar value.
a. Negative value for waste
b. Positive values for ore
c. Zero values for air
2. Cone geometry.
a. Cone base radius (DX/2 or DY/2)
b. Cone centered on ore blocks at bottom or center
c. Variable slopes or constant slopes
3. Dollar value of cone = sum of dollar values of whole blocks within cone. If the
value of the cone is positive, all blocks within the cone are mined.
4. Movement of cone is from top down, using an iterative trial and error method.
ePit Basics Proprietary Information of Mintec, inc.
Page B-2 Part #: E002 Rev. B
Notes:
5. Possible problems:
a. Multiple pit bottoms
b. Incorrect search sequence
c. Initial pit to expose ore
d. Block size
How MSOPIT, MSPTSP and MSVALP Work Within MineSight
Using the Pit Optimization programs is a matter of following a sequence of individual
steps. The steps are:
1. Set up a special Pit Optimization file 13 using the procedure P60110.dat. The
only inputs required are the file name, elevation limits and elevation precision.
It is convenient to use a separate Pit Optimization file 13 for each series of pits.
2. Use MSPTSP to add slope data to the Pit Optimization file 13 from the 3DBM.
The procedure is PSPTSP.DAT
3. Use program MSOPIT to design ultimate pits or a series of pits. The resulting pits
are stored as surfaces in the Pit Optimization file 13. Both floating cone and LG
options are available, using the procedure PSOPIT.DAT.
4. Use MineSight to display or plot the pits. The pits can be displayed as a model
view or contoured to display as bench toes.
5. MSVALP is used to verify the economics and compute reserves for the pits.
MSVALP can also develop schedules and optimize the cutoff grades. The
procedure used is PSVALP.DAT.
6. Block partials can be computed between pits or from the original surface for
reserve calculations and analysis. All the normal resource calculation programs
can be used with the partials.
7. If desired, more detailed schedules can be created with M821V1.
Initialize Pit Optimization File 13
The Pit Optimization File 13 can be initialized using the procedure p60110.dat or
through the MSCompass project file editor, accessed through the Project tab in the
Compass dialog. Since the items and most of the precisions in the Pit Optimization File
13 are fixed, only these two methods should be used for initializing this file.
The procedure p60110.dat is a simple one-panel procedure; enter the file extension
for your special Pit Optimization File 13 (pto is the default extension if none is
specified), the minimum, maximum and precision values for project elevations, and the
name of the original File 13 from which the TOPOG values will be extracted. There is
an option for specifying file extensions for the run and report files, if desired (pto is the
default file extension if none is specified).
Using the MSCompass project file editor to initialize the Pit Optimization File 13 is
just as simple, requiring you to specify only the elevation parameters (minimum,
maximum and precision) and the source File 13 for the TOPOG item. You can specify
the file extension for the new file as it is saved. Although the project file editor requires
Proprietary Information of Mintec, inc. ePit Basics
Part #: E002 Rev. B Page B-3
Notes:
a bit less input from the user, it is not possible to use this technique within an
MSCompass multi-run; in this instance it is necessary to use the procedure.
Design Variable Considerations
MSOPIT reads the block model and either extracts or computes the Design Variable.
The Design Variable is the basis for the pit optimization and is used in either the FC or
LG algorithms to compute value directly from the variables. There are three options for
the Design Variable:
Grade, Units ( ounces or grams) , or Value per ton
Profit per block
Net per block
In all 3 cases the Design Variable can read from the block model or computed from a
number of items within the block model.
The advantage of using Grade per ton is that the cutoff grade can be varied. In
designing a series of pits using Grade per ton as the Design Variable the Value per unit
can be varied automatically also varying the cutoff grade. The problem is that this is
only possible if a single grade or an equivalent grade is used with a single process for
ore.
The Profit per block or Net per block allows for multiple grades and processes with
variable process costs, recoveries, and metal prices.
The difference between Profit per block and Net per block is that in the Profit per
block case only blocks that are processed as ore are assigned a value, waste blocks need
not be assigned a Design Variable value. For the Net per block case every block has a
value, even waste blocks, and this allows for variable waste costs.
Value Calculations
The value calculation logic is designed to be flexible, yet not overly complex. If the
value calculation is very complex, the Value can be computed with a USER subroutine
or M612RP and stored in the block model and read from the block model.
The basic logic assumes up to 5 grades, 10 metallurgical classes and 10 processes.
The grades are read from the block model, as is the metallurgical code.
The metallurgical code should be from 1 to 10. For each process and each
metallurgical code the processing cost must be defined, and for each metal the price,
recovery and the factor to convert from grade to payable units defined.
Also it is possible to have metallurgical types, which can have multiple processing
methods. In this case MSOPIT selects the best process based upon economics.
The calculation of mining costs has 3 options; the mining cost can be stored in each
block and read from the model; average ore and waste mining costs per ton can be
specified; or variable additional mining costs for ore and waste by bench
The second 2 options can be used together.
ePit Basics Proprietary Information of Mintec, inc.
Page B-4 Part #: E002 Rev. B
Notes:
Use of Ore Percent.
An ore percent item can be used from the model. The Ore percent is the portion of the
block which is ore, or potential ore, and the grades and MET code apply to this portion
of the block only. The remainder of the block is assumed to be waste. Specific gravity
and mining costs can be assigned for both portions of the block (SGO, SGW, CMO,
CMW).
Topography Percent and Percent Mined
The TOPO model item is usually used to store the percentage of the block which is
below topography and is used as a volume reduction item in the value calculations. In
addition, a percent mined (MPCT) can be specified which is applied against the whole
block and used in the value calculations.
Using other model items
The following is a list of all the model items that can be used. To use them the label
of the item in the current 3D block model must be specified in the procedure.
Item Ref Name Description
TOPO Percent below topography
GRADE1 If the Design variable is read, it is assumed to be the first
grade
RSCOD Mining restriction; if this value is positive, the block can not
be mined
GRADE2 Second grade
GRADE3 Third grade
GRADE4 Fourth grade
GRADE5 Fifth grade
MET Metallurgical code 1 to 10. Only used in value calculation
for Design Variable
IUSE Resource class. Code from 1 to N, with 1 having the highest
confidence. The maximum value to include as ore can be
specified.
OPCT Ore percent; grades and MET code apply to this portion of
block
SGO Specific gravity for ore percent
SGW Specific gravity for waste
MCO Mining cost per ton for ore percent
MCW Mining cost per ton for waste
MPCT Mined percent
The Item Ref Name is used for reference in the documentation and procedure. The
model item names have no restrictions.
The following items can be stored back in the block model from MSOPIT.
CCPRO Calculated process code
VALPB Calculated value per block
VALPT Calculated value per ton
These items can only be calculated and stored in the block model if the Design
Variable is Value per block calculated from the 3DBM
Proprietary Information of Mintec, inc. ePit Basics
Part #: E002 Rev. B Page B-5
Notes:
Pit Slopes
There are two options for pit slopes. Slopes can be defined by azimuths or complex
slopes can be defined by surfaces and sector codes.
If the number of complex slope surfaces is specified as 0, the azimuth method is
assumed, otherwise complex slopes will be used.
Pit Slopes by Azimuth
Up to 50 slopes can be specified for azimuths from 0 to 360 degrees. The pit slope to
any block from the base block is determined by computing the azimuth from the base
block to the block in question and computing an average slope based upon the weighted
average of the slopes for the closest defined azimuths. A more detailed method is to use
a set of pit slope azimuths for different base bottom limits.
Complex Slopes
Up to 4 surfaces defined as grids in the Pit Optimization file 13 can be used; for each
surface each grid point has a sector code which is tied to a table of slopes. From this
information a template defining the pit wall is calculated. In previous Pit Optimization
programs such as M720V2 and M720V4 this template was computed for every base
block. In MSOPIT there are 2 options for handling the computation of the template to
minimize compute time using the floating ray method.
Use Base pit to define template. A previously designed pit is used to compute a
template just once, which is used for the FC or LG pit designs. Obviously it is
very fast, for irregular shaped pit bottoms it is not accurate.
Recompute template for each bench based upon bench above geometry in FC.
Not allowed now, but I guess we need to allow either the recalculation of the
template by block or the use of multiple templates.
Assigning Complex Slope data to the DIPPER file 13
Program MSPTSP and procedure PSPTSP are used to assign the 4 surfaces and sector
codes from an item in the 3DBM.
ePit Basics Proprietary Information of Mintec, inc.
Page B-6 Part #: E002 Rev. B
Notes:
Proprietary Information of Mintec, inc. Overview Python Scripting
Part #: E002 Rev. B Page C-1
Notes:
Appendix C
Overview Python Scripting
Introduction
Scripting support has been added to MineSight 3-D (MS3D). This section focuses on
the uses of scripting within MS3D, complete with examples and options. Different areas
of use including model access, reserves manipulation and reporting will be discussed.
Scripts to manipulate model, reserve and geometry data will be demonstrated.
Python is the language used to implement scripting in MS3D. Python is a high level
scripting language built into MS3D. Its syntax is relatively simple and straightforward.
It is object oriented but does not require you to use that form if you do not feel
comfortable with that style. It has many extensions; one can import libraries to do things
such as make dialog boxes, link to Microsoft
Excel spreadsheet or any other COM based application. You could also have it produce
custom ASCII reports. Libraries exist to interface scripts to e-mail clients, database
engines, GUI toolkits and a plethora of other clients.
Overview Python Scripting Proprietary Information of Mintec, inc.
Page C-4 Part #: E002 Rev. B
Notes:
Figure 3. Microsoft
Excel Report
Scripts can also be used to augment current capabilities. A good example is routing
codes. A script can be used to determine a routing code based on multiple grades and or
rock types. This routing code can then be assigned to a user-defined attribute that is
carried with the cut. The user can, if they wish, override this assigned code and assign
their own. The data used for this routing code determination does not have to be static
and preprogrammed into the script either but can be gathered at runtime from a variety
or sources.
Figure 4. ASCII Report
Proprietary Information of Mintec, inc. Overview Python Scripting
Part #: E002 Rev. B Page C-5
Notes:
Figure 5. Auto Setting of a Routing Code
Scripts can also be quite useful for creating geometry for plotting purposes. A user
has access to all the data about a cut including its geometry, reserves, custom attributes
(like routing code in above example), and a multitude of other useful information. To
visualize this we need to create text and or geometry. Scripts can do this for us. A user
has access to the geometry of the cuts so we can get centroids, bounding boxes and
boundaries for labeling. Creation of all basic types of geometry is supported,
polylines/polygons, markers, shells, semi-transformed text. Using these tools and the
information provided about the cuts, it is possible to automate quite a bit of the plotting
process in regards to cuts.
Model scripts are a very powerful addition to the scripting lineup. As shown above
they are not part of the IP Tool but rather run from the Model View properties dialog
box under the Scripts tab. Model scripts are both powerful and dangerous as they allow
you full control and access to your model. This means you can read and write to your
model. So if you make an error in your script, it is conceivable you could overwrite
valuable data in your model. Be careful when using the write feature in model scripts.
Overview Python Scripting Proprietary Information of Mintec, inc.
Page C-6 Part #: E002 Rev. B
Notes:
Figure 6. Plotting Overlay
Figure 7. Zone Item
Proprietary Information of Mintec, inc. Overview Python Scripting
Part #: E002 Rev. B Page C-7
Notes:
Figure 8. Contact Blocks Coded by Number of Adjacent Waste Blocks
Conclusion
Scripts mean flexibility. What used to have to be done in separate steps can now be
automated. Many phased processes can now be tied together especially in the area of
short range planning. This was not at the expense of the users who do not need this level
of customization, but in addition to it. The default scripts produce excellent reports for
most users. Model scripts are an extremely powerful tool. When you must go beyond
simple single cell calculations your only choice used to be to write a user subroutine.
This required knowledge of Fortran as well as a compiler. With scripting, access to the
model has been made much easier.
Overview Python Scripting Proprietary Information of Mintec, inc.
Page C-8 Part #: E002 Rev. B
Notes:
Proprietary Information of Mintec, inc. How to Build Python Scripts
Part #: E002 Rev. B Page D-1
Appendix D
How to Build Python Scripts
Scripting support has been added to MineSight 3-D (MS3D). This section focuses on the uses of scripting within
MS3D, complete with examples and options. Different areas of use including model access, reserves manipulation and
reporting will be discussed. We also will go over the mechanics of script writing in this section
Python is the language used to implement scripting in MS3D. Python is a high level scripting language built into
MS3D. Its syntax is relative simple and straightforward. It is object oriented, but does not require you to use that form if
you do not feel comfortable with that style. It has many extensions; one can import libraries to do things like make dialog
boxes, link to Microsoft
Excel or do a multitude of other things. The official website for Python is www.python.org.
What are scripts going to do for us now that we have them? Since scripts are interpreted at runtime and not at compile
time they are much more flexible then hard code. They can be tailored to a users unique need. Does this mean that every
user needs to write scripts? Absolutely not! Default scripts are in place that provide good default reports. You may not
however want to see all your grades being reported for each cut as it is reported in the default window. You may want a
routing code calculated based on multiple grades and impurities. These calculations can be scripted and displayed
automatically when you make your cuts. On the model side you may want to code an item based on how many waste
blocks are touching each ore block (for contact block dilution calculation). This can be done quite easily with scripts.
Scripts allow the user to tailor MS3D to exactly their requirements. Calculations that used to be done in post
processing can now be done on the fly. Data can be read in from external sources and used in calculations or assigned to
attributes on the cuts (for the reserves side). There are many possibilities. However there is no requirement for any user
to meddle with scripts. The default scripts will work just fine. Mintec staff are of course available to customize scripts on
request.
Tools & Syntax
The editor of choice that comes with the Python install is called IDLE. It has most of the functionality you would
expect from an editor plus some extras you will need for Python specifically. IDLE will color your code based on
keywords it recognizes (see figure 1). It will also use smart indenting, which is critical given that spacing in general is an
important concept in Python for determining where code blocks start and end. IDLE also includes the standard search
and replace functions and most other editor functions you expect from a modern editor. The one glaring feature missing
from this editor is a print function.
How to Build Python Scripts Proprietary Information of Mintec, inc.
Page D-2 Part #: E002 Rev. B
Figure 1. IDLE Interface
Lets explore this idea of indentation defining the start and end of code blocks in Python scripts as it is so critical and
can lead to problems further down the road. Some languages use sentinels or brackets of some sort to surround blocks of
code. By blocks of code I mean pieces of code which are to be executed in a loop or if a conditional expression is met. In
Python this is determined by indentation level alone. This brings up one big problem; tabs are not the same as spaces.
You may look at a piece of code and it may look indented properly but there could be tabs in place of spaces. IDLE has
an option on its toolbar under edit to untabify. I highly recommend keeping all your scripts with spaces only to avoid any
issues like this. The default scripts provided with MS3D all use spaces for indentation. If you have two lines of code one
indented four spaces and then the next only three they are not considered to be in the same block of code. This makes for
very tight and neat code but can lead to confusion when you are starting out.
Other tools at your disposal are the many libraries, some provided by us like reslib.py (Reference Table A) and others
provided by default with the Python install like string handling. Use the provided libraries whenever possible. This is
especially true when it comes to reslib.py. Reslib.py is a helper library for getting the reserves information from the
reserves dictionary (explained below). When the reserves structure is changed reslib.py will be changed along with it so
any scripts that were written using it will still work. However if you parsed the reserves dictionary yourself there is a
good possibility that any changes in the structure of the reserves dictionary could break your script. Libraries can be
found under the ./python21/lib directory (not libs). There is no reason why you cannot make your own libraries and in
fact it is encouraged. It promotes code reuse and limits errors.
To make use of any function you must define it first. This is also why you must import libraries at the top of your
script as well for this defines all the functions within it. Here is a clip from a script.
import reserves
import core
import gview
import string
import geomview
import reslib
def main():
hRes = reserves.hGetCurResRef() # Get reserves handle
dRes = reserves.dGetRes(hRes) # Get the whole reserves structure
Proprietary Information of Mintec, inc. How to Build Python Scripts
Part #: E002 Rev. B Page D-3
# we are assuming one area with one material set here
numbins = reslib.getnumbins(dRes)
fillmain(dRes, numbins)
if dRes[curcut] >= 0:
fillcut(dRes, numbins)
main()
You can see we import quite a few libraries and then define a function, which we call at the bottom. You can also see
the form in which functions are called. Functions from within libraries are called using the library name dot function
name.
There is quite a bit more to syntax and general Python programming than what I have just covered but there are many
good books, which cover it as well. There are also many good online tutorials as well. I will now concentrate on the
MS3D aspects of scripting.
Anatomy of a Reserves Script
All reserves scripts share a few things in common; they only start to diverge when it comes to where they are going to
route their output to. All reserves scripts will need to import the same libraries; reserves, core and reslib at the very least.
They also share the same two lines of code as follows:
hRes = reserves.hGetCurResRef() # Get reserves handle
dRes = reserves.dGetRes(hRes) # Get the whole reserves structure
The first line gets the reserves handle. The reserves handle is a numeric identifier for this plan. This is then used in the
call to dGetRes, which returns to us our reserves dictionary. A dictionary is a free form data structure in Python.
This one holds all our reserve data for the current plan. It does not hold the actual geometry data although that data can
be obtained through further calls if desired. Here is where reslib.py comes into play. You could parse the dictionary
yourself which is not recommended or you could use the functions provided and described in Reference Table A to
obtain the values you need for reporting purposes. If for some reason the function you require is not present or you are
just curious, the structure of the reserves dictionary is shown in Reference Table B.
Assuming we are making an accumulation script we need to know how to pop up those nice grid windows and
populate them. I have included the source code for the default accumulation script in Reference Table C. To use the
accumulation windows you must import the library called gview.
def fillmain(dRes, numbins):
phndl = gview.OpenStdGrid(3+(3+reslib.getnumgrades(dRes)) * (numbins + 1), 3, 1)
labelrows(phndl, dRes)
gview.SetWinLev(phndl, 1)
fillcurrentperiod(phndl, dRes, numbins)
fillplan(phndl, dRes, numbins)
gview.CloseStdGrid(phndl)
gview.DisplayStdGrid(phndl)
Here is a clip from the default script that deals with the period and plan accumulation window. The call OpenStdGrid
takes three arguments. The first two can be easily figured out - they are row and column. The last argument is for
window instance. We can have multiple windows; this is how we know which window to pop up or refresh. There is no
difference between popping up a new window or refreshing an old one. If the instance is being used the existing window
will be refreshed. If it is not being used a new window will be created. There is no limit to the number of windows you
can create.
Clearly you should consider multiple monitors if you decide to take this to excess. A few lines farther down we set the
How to Build Python Scripts Proprietary Information of Mintec, inc.
Page D-4 Part #: E002 Rev. B
focus level of the window, SetWinLev. This is how we can tell the window to always be on top if this is what we desire -
values range from one to four. Finally at the bottom of the code clip are the CloseStdGrd, which closes it for editing, and
DisplayStdGrid, which displays it or updates it depending on the existing state.
File output is not so difficult either. The default IP script is included in Reference Table D. It follows the same logic as
in most of other languages, you open the file write to it, close it. I have included a clip to illustrate; I have included some
error handling as well.
try:
fl = open("report.txt", w)
except IOError:
return 0
fl.write("%10.0f \n" % 12.4)
fl.write("test" + "\n")
fl.close()
core.vSysSpawn ("notepad","report.txt")
The format specifiers used in Python are very similar to FORTRAN and C/C++. You can use "f" for float, "d" for
decimal and "s" for strings. A full listing is on the Python website and in the many books written on the subject. There is
also a call here, which spawns an external process. In this case we are spawning Notepad with our newly created file.
This function can be used to spawn other process as well.
Lets take a closer look at what reslib.py has to offer. The first function we should look at is getcontolgrade(). This
returns the control grade on which the cutoffs are based. It is used in many places so we should get used to using it. It has
two arguments but only one is required. The first argument, and one that is used in almost all calls to reslib, is the
reserves dictionary. The second and optional argument is an area index. We can use multiple areas but their use and
scripting for them is beyond the scope of this discussion.
The next group of calls is the bin calls like Getcuttonsmaterialbin and getcutgradematerialbin. When you think bin
you can think cutoff. There are a whole series of calls to get tons, volumes, grades by cutoff. There are also bin calls,
which do not break it down by material or cut either such as, getbintons, getbinvol and getbingrade. Many of these calls
are not meant as a final product but rather to be used together to get to the desired result. There are many other utility
functions in reslib.py. This is really the heart of reserves scripting. Make sure to have Reference Table A with you
anytime you plan on writing reserves scripts.
When trying to make your own reserve script it is recommended that you start by trying to modify the existing scripts
first (backing up the originals first). Once you feel comfortable then you can start branching out and doing more
adventurous reserves scripts.
Anatomy of a Model Script
Model scripts are a very powerful tool. They provide you complete read and write access to you model. As with
reserve scripts they start off with a few required imports and one required line of code. The imports are as follows:
import model
from Numeric import *
We import the model library as our interface into our MineSight model. The Numeric import is quite different however
and deserves some discussion on its own. The Numeric library allows us to work with very large arrays of numerical data
efficiently in Python, which is critical with model data. This brings up another good point about model scripts. Model
scripts are based around the idea of a slab of data. This slab can span multiple benches and multiple items. It could span
your whole model and all of your items. I doubt many users have a computer that could fit their whole model in RAM.
Thus even though you are allowed to try this it is not recommended. You can probably load your whole model if you are
only getting one or two items and you could definitely load a slab the size of a bench with all your items. The point is
that instead of limiting the usefulness of the tool by putting in artificial limitations, we put the onus on the script authors
to think about memory usage before making their scripts.
Proprietary Information of Mintec, inc. How to Build Python Scripts
Part #: E002 Rev. B Page D-5
Included in Reference Table E is a contact block dilution script. In this script every ore block is checked against
adjacent blocks to see how many waste blocks it borders. Then an item is coded with this value. To minimize memory
usage no more than three single bench slabs are loaded in memory at one time. When a new one is loaded an old one is
stored back and freed, moving down through the model. Lets see how to work with a model.
SlabDesc = {}
ModelDesc = model.dGetActiveModelDesc()
SlabDesc[NumberItems] = 2
SlabDesc[ItemList] = [ZONE,VALPT]
SlabDesc[Origin] = [0,0,0]
SlabDesc[Extents] = [ModelDesc[Extents][0],ModelDesc[Extents][1],1]
Mid = model.dGetSlab(ModelDesc, SlabDesc)
Here is a clip from the dilution script. In the first line we are declaring an empty dictionary. It is here we are going to
describe the slab we want returned (which we will read and write to, then return for updating). The next line is where we
get the information about the current model, with a call to dGetActiveModelDesc(). It returns a dictionary with
information such as origin, extents, rotation and item list. A script that lists all its data is included as Reference Table F.
Then we define the slab we want to retrieve in our empty dictionary and retrieve it with a call to dGetSlab.
To access the items in the model use a form as follows,
Mid[item][level][row][col] = value
It should be noted that the level, row and column are relative to the slab origin not the model origin. So if they do not
correspond then they will not be the same values. For example if your slab only encompasses the fourth bench then the
level value would not be 4 but rather 0 as it is the first level in the slab even though it is not the first in the model. Note
that in Python, indexes start at 0, not 1 as they do in Fortran. The item value is not a name but rather an index based on
the position of the item in the item list given in the slab description. Once we are finished reading and possibly writing
new values to our slab we need to update and free the slab.
model.vSetSlab(ModelDesc, SlabDesc, Top)
model.vFreeSlab(Top)
Here we call vSetSlab to update the MineSight(r) model with our changed values. VFreeSlab frees the memory. You
do not need to call vSet slab if you do not need the data updated. Always remember to free your slabs, they are very large
and you will run out of memory very fast.
Scripts (above and beyond)
We have barely scratched the surface of what scripts can do. Another powerful feature of MS3D scripts is the ability to
automatically update custom attributes. Here is an example.
import core
import string
import geomview
import reslib
def main():
hRes = reserves.hGetCurResRef() # Get reserves handle
dRes = reserves.dGetRes(hRes) # Get the whole reserves structure
reslib.assignavggrade(dRes, reslib.getcontrolgrade(dRes))
How to Build Python Scripts Proprietary Information of Mintec, inc.
Page D-6 Part #: E002 Rev. B
def assignavggrade(dRes, grade):
for cut in dRes[cuts]:
ttons = 0.0
tgrade = 0.0
for res in cut[reserves]:
if res[tons] > 0.0:
tgrade = (tgrade * ttons + reslib.getgrade(grade, res) * res[tons]) / (ttons + res[tons])
ttons = ttons + res[tons]
# assign to cut
geomview.vSetAttr(cut[geomkey], Avg_Grade, tgrade)
main()
The first seven lines or so should look familiar; they are the same for all reserve scripts. Then we call assigneavggrade
with our control grade conveniently given to us from reslib.py. In assignavggrade we loop over all our cuts and calculate
the average grade for our controlling grade and then assign it to a custom attribute named Avg_Grade. Now while this
script may not be the most useful in the world it illustrates a very useful principal. You can assign attributes to be carried
with cuts based on multiple grades and or external data. Routing codes comes to mind. There are many possibilities here.
If we are auto-assigning codes here the user still has the ability to override the generated code so you are not constrained
by any means.
Although not covered here, there is also a library called Easyexcel for simplifying the interface with Microsoft
Excel.
There is also geometry import and export. These are not things to be implemented in the future; these are things that are
available now.
Reference Table A (reslib.py)
Import reslib
getcontrolgrade(dRes,<aidx>)
Returns name of controlling grade given the reserves dictionary and area index. If the area index is not specified an
area index of 0 is assumed.
Getcuttonsmaterialbin(cut, matname, bin)
Returns the tons for a cut given the cut dictionary, material name and bin number. If the material or bin is not found
it returns 0.
Getcuttonsmaterial(dRes, cut, matname)
Returns the tons for a cut given the material name
getcutvolmaterialbin(cut, matname, bin)
Returns the volume for a cut given the cut dictionary, material name and bin number. If the material or bin is not
found it returns 0.
Getcutvolmaterial(dRes, cut, matname)
Returns the volume for a cut given the material name
getcutgradematerialbin(cut, gname, matname, bin)
Returns the grade for a cut given the cut dictionary, grade name, material name and bin number. If the material or bin
is not found it returns 0.
Proprietary Information of Mintec, inc. How to Build Python Scripts
Part #: E002 Rev. B Page D-7
getnumgrades(dRes, areaidx = 0)
Returns the number of grades given the reserves dictionary and area index. If the area index is not specified an area
index of 0 is assumed.
getgradename(dRes, i, areaidx = 0)
Returns the grade name given the reserves dictionary, grade index and area index. If the area index is not specified
an area index of 0 is assumed.
getgrade(gname, res)
Returns the grade given a grade name and a reserves list. If not found it will return 0.
attrexists(cut, attrname)
Returns 1 if the attribute exists given a cut dictionary and attribute name, otherwise returns none.
getcustomattr(cut, attrname)
Returns the value of a custom attribute given a cut dictionary and attribute. Returns none if the attribute is not found.
getmatreserves(cut, matname)
Returns reserves structure given a cut structure and material name. Returns none if not found.
getcuttons(cut)
Returns total tons for a cut given a cut dictionary.
getbintonsperiod(dRes, period, bin)
Returns tons for a given period and bin, also needs the reserves dictionary.
getbinvolperiod(dRes, period, bin)
Returns volume for a given period and bin, also needs the reserves dictionary.
getbingradeperiod(dRes, period, bin, gradename)
Returns grade for a given period and bin, also needs the reserves dictionary and gradename.
getbintons(dRes, bin)
Returns tons for a given bin, needs the reserves dictionary as an argument.
getbinvol(dRes, bin)
Returns volume for a given bin, needs the reserves dictionary as an argument.
getbingrade(dRes, bin, gradename)
Returns grade for a given bin, needs the reserves dictionary and grade name as well for arguments.
getnumbins(dRes, areaidx = 0)
Returns number of bins given resource dictionary and area index. If the area index is not specified an area index of 0 is
assumed.
isgradeaccum(dRes, grade)
Returns 1 if the grade is accumulated otherwise returns a 0. Required arguments are the reserves dictionary and grade
name.
gettonscutbin(cut, bin)
Returns tons given a cut dictionary and a bin.
How to Build Python Scripts Proprietary Information of Mintec, inc.
Page D-8 Part #: E002 Rev. B
getvolcutbin(cut, bin)
Returns volume given a cut dictionary and a bin.
getgradeperiod(dRes, period, gradename)
Return grade for plan given reserves dictionary, period and grade name.
getgradeplan(dRes, gradename)
Return grade for plan given reserves dictionary and grade name.
getdefarea(dRes)
Return default area given reserves dictionary.
getdefmaterial(dRes)
Return default material given reserves dictionary.
Getmaterial (dRes, material)
Return material, given reserve dictionary and material name
GetNumMaterials (dRes)
Return number of materials, given reserve dictionary
GetArea(dres, cut)
Return area, given reserves dictionary and cut
errprint(msg, fname = "scripterr.txt")
Generic error printing function supply your message and optional filename with path if desired. If no filename is supplied
it will default to scripterr.txt in the active directory.
Reference Table B (Reserves dictionary structure)
planname - plan name
volredpct - true if volume reduction / mined out is represented by a percent
imperial - imperial flag
curcut - current cut index; -1 if there is no current cut
numcuts - number of cuts
numareas - number of areas
curarea - current area
curminearea - current mining area
curperiod - current period
cuts - list of cut dictionaries (use numerical index)
geomkey - key to geometry segment
planelabel - plane label
name - cuts name
area - cuts area
miningarea - cuts mining area
Proprietary Information of Mintec, inc. How to Build Python Scripts
Part #: E002 Rev. B Page D-9
period - cuts period
numres - number of cut reserves
numcustom - number of cuts custom attributes
attributes - list of customs attribute dictionaries
name - attribute name
type - attribute type (integer, double, string)
value - value of attribute in above type
reserves - list of reserve dictionaries
material - material name
numgrades - number of grades
cutoff - cutoff index
tons - tons of this reserve item
volume - volume of this reserve item
gradenames - list of grade names
gradevalues - list of grade values (floats)
areas - list of area dictionaries
name - area name
thicknessitem - thickness item name
volreditem - volume reduction item name
partialsitem - partials item name
model - model handle
partialsmodel - partials model handle
flags - dont use
volreduction - volume reduction flag, 1 if volume reduction item was used
zoneitem - zone item name
orepctitem - ore percent item
densityitem - density item
sgflag - 1 if using SG
numgrades - num grades
grades - list of grades dictionaries
name - grade name
accum - integer flag accumulated -vs- averaged
materials - list of material dictionaries
name - material name
index - materials index
default - 1 if this is the default material
How to Build Python Scripts Proprietary Information of Mintec, inc.
Page D-10 Part #: E002 Rev. B
numcutoffs - number of cutoffs
density - default density for this material
cutoffs - list of cutoff values (floats)
Reference Table C (Default Accumulation Script)
reportingunits = 1
import reserves
import core
import gview
import string
import metafile
import geomview
import reslib
def main():
hRes = reserves.hGetCurResRef() # Get reserves handle
dRes = reserves.dGetRes(hRes) # Get the whole reserves structure
# we are assuming one area with one material set here
numbins = reslib.getnumbins(dRes)
fillmain(dRes, numbins)
if dRes[curcut] >= 0:
fillcut(dRes, numbins)
def fillmain(dRes, numbins):
phndl = gview.OpenStdGrid(3 + (3 + reslib.getnumgrades(dRes)) *
(numbins + 1), 3, 1)
gview.SetWinLev(phndl, 1)
labelrows(phndl, dRes)
fillcurrentperiod(phndl, dRes, numbins)
fillplan(phndl, dRes, numbins)
gview.CloseStdGrid(phndl)
gview.DisplayStdGrid(phndl)
def setuppanel(phndl, numbins, numgrades, nummaterials):
for i in range(nummaterials):
gview.SetColumnColor(phndl, i * 2, 128, 128, 128)
gview.SetColumnColor(phndl, 0, 128, 128, 128)
gview.SetRowColor(phndl, 0, 128, 128, 128)
gview.SetRowColor(phndl, 1, 128, 128, 128)
gview.SetRowColor(phndl, 2, 128, 128, 128)
for i in range(numbins + 1):
gview.SetRowColor(phndl, 3 + i * (3 + numgrades), 128, 128, 128)
def fillcutmaterial(dRes, phndl, cut, material, startrow, numbins):
ttons = 0
tvol = 0
activerow = startrow
labelrow = activerow + 1
tonsrow = activerow + 2
volrow = activerow + 3
Proprietary Information of Mintec, inc. How to Build Python Scripts
Part #: E002 Rev. B Page D-11
graderow = activerow + 4
mat = reslib.getmaterial(dRes, material)
if not mat:
return
gview.SetCellValue(phndl, activerow, 1, "Material:")
gview.SetCellValue(phndl, activerow, 2, material)
gview.SetCellValue(phndl, labelrow, 1, "Cutoff")
gview.SetCellValue(phndl, tonsrow, 1, "Tons")
if reslib.getunitsflag(dRes) == 1:
gview.SetCellValue(phndl, volrow, 1, "Volume (BCY)")
else:
gview.SetCellValue(phndl, volrow, 1, "Volume (BCM)")
# lets label the edge
grow = graderow
for graderec in dRes[areas][0][grades]:
gview.SetCellValue(phndl, grow, 1, graderec[name])
grow = grow + 1
# Lets label the top
for i in range(mat[numcutoffs]):
bin = (numbins - 1 - i)
gview.SetCellValue(phndl, labelrow, i + 2, ">%5.2f" % mat[cutoffs][i])
gview.SetCellValue(phndl, labelrow, numbins + 2, "Totals")
# lets label the tons
tons = 0
ttons = 0
for i in range(numbins):
tons = reslib.getcuttonsmaterialbin(cut, material, i)/reportingunits
ttons = ttons + tons
gview.SetCellValue(phndl , tonsrow, i + 2, "%d" % round(tons))
gview.SetCellValue(phndl, tonsrow, numbins + 2, "%d" % round(ttons))
# lets label the volume
vol = 0
tvol = 0
for i in range(numbins):
vol = reslib.getcutvolmaterialbin(cut, material, i)/reportingunits
if reslib.getunitsflag(dRes) == 1:
vol = vol/27.0
tvol = tvol + vol
gview.SetCellValue(phndl, volrow, i + 2, "%d" % round(vol))
gview.SetCellValue(phndl, volrow, numbins + 2, "%d" % round(tvol))
for graderec in dRes[areas][0][grades]:
agrade = 0
tons = 0
vol = 0
ttons = 0
gval = 0
accum = reslib.isgradeaccum(dRes, graderec[name])
for i in range(numbins):
bin = (numbins - 1 - i)
How to Build Python Scripts Proprietary Information of Mintec, inc.
Page D-12 Part #: E002 Rev. B
gval = 0
for res in cut[reserves]:
if res[cutoff] == i:
if res[material] == material:
if res[tons] > 0:
gval = reslib.getcutgradematerialbin(cut,
graderec[name], material, i)
if accum == 1:
agrade = agrade + gval
else:
agrade = (agrade * tons + gval * res[tons]) /
(tons + res[tons])
tons = tons + res[tons]
gview.SetCellValue(phndl, graderow, i + 2, "%6.2f" % gval)
gview.SetCellValue(phndl, graderow, numbins + 2, "%6.2f" % agrade)
graderow = graderow + 1
def fillcut(dRes, numbins):
srow = 1
ccut = dRes[cuts][dRes[curcut]]
numbins = reslib.getnumbins(dRes)
nummats = reslib.getnummaterials(dRes)
phndl = gview.OpenStdGrid((4 + reslib.getnumgrades(dRes)) * nummats, numbins
+ 2, 2, "cutaccum.vgd")
gview.SetWinLev(phndl, 1)
for material in reslib.getmaterials(dRes):
if reslib.getcuttonsmaterial(dRes, ccut, material[name]) > 0:
fillcutmaterial(dRes, phndl, ccut, material[name], srow, numbins)
srow = srow + 4 + reslib.getnumgrades(dRes)
gview.CloseStdGrid(phndl)
gview.DisplayStdGrid(phndl)
def labelrows(phndl, dRes):
gview.SetCellValue(phndl, 1, 1, "Cur Area")
gview.SetCellValue(phndl, 1, 2, dRes[curarea])
gview.SetCellValue(phndl, 2, 1, "Cur Period")
gview.SetCellValue(phndl, 2, 2, dRes[curperiod])
gview.SetCellValue(phndl, 3, 2, "Period Totals")
gview.SetCellValue(phndl, 3, 3, "Grand Totals")
def fillcurrentperiod(phndl, dRes, numbins):
pttons = 0
ptvol = 0
ptgrade = 0
for i in range(numbins):
bin = (numbins - 1 - i)
oset = 4 + bin * (3 + reslib.getnumgrades(dRes))
material = "%s" % reslib.getmaterials(dRes)[0][name]
high =
div =
if i == (numbins - 1):
low = ">%6.2f" % reslib.getmaterials(dRes)[0][cutoffs][i]
else:
low = "%6.2f" % reslib.getmaterials(dRes)[0][cutoffs][i]
high = "%6.2f" % reslib.getmaterials(dRes)[0][cutoffs][i + 1]
Proprietary Information of Mintec, inc. How to Build Python Scripts
Part #: E002 Rev. B Page D-13
div = -
gview.SetCellValue(phndl, oset, 1, reslib.getcontrolgrade(dRes) + +
low + div + high)
gview.SetCellValue(phndl, oset + 1, 1, "Tons")
if reslib.getunitsflag(dRes) == 1:
gview.SetCellValue(phndl, oset + 2, 1, "Volume (BCY)")
else:
gview.SetCellValue(phndl, oset + 2, 1, "Volume (BCM)")
ptons = reslib.getbintonsperiod(dRes, dRes[curperiod], numbins - bin -
1)/reportingunits
pvol = reslib.getbinvolperiod(dRes, dRes[curperiod], numbins - bin -
1)/reportingunits
if reslib.getunitsflag(dRes) == 1:
pvol = pvol/27.0
gview.SetCellValue(phndl, oset + 1, 2, "%d" % round(ptons) )
gview.SetCellValue(phndl, oset + 2, 2, "%d" % round(pvol) )
j = 0
for grec in dRes[areas][0][grades]:
pgrade = reslib.getbingradeperiod(dRes, dRes[curperiod], numbins -
bin - 1, grec[name])
gview.SetCellValue(phndl, oset + 3 + j, 2, "%6.2f" % pgrade )
gview.SetCellValue(phndl, oset + 3 + j, 1, grec[name] )
j = j + 1
if ptons > 0:
ptgrade = (ptgrade * pttons + pgrade * ptons) / (pttons + ptons)
pttons = pttons + ptons
ptvol = ptvol + pvol
oset = 4 + numbins * (3 + reslib.getnumgrades(dRes))
gview.SetCellValue(phndl, oset, 1, "Totals")
gview.SetCellValue(phndl, oset + 1, 1, "Tons")
if reslib.getunitsflag(dRes) == 1:
gview.SetCellValue(phndl, oset + 2, 1, "Volume (BCY)")
else:
gview.SetCellValue(phndl, oset + 2, 1, "Volume (BCM)")
gview.SetCellValue(phndl, oset + 1, 2, "%d" % round(pttons))
gview.SetCellValue(phndl, oset + 2, 2, "%d" % round(ptvol))
j = 0
for grec in dRes[areas][0][grades]:
grade = reslib.getgradeperiod(dRes, dRes[curperiod], grec[name])
gview.SetCellValue(phndl, oset + 3 + j, 2, "%6.2f" % grade)
gview.SetCellValue(phndl, oset + 3 + j, 1, grec[name])
j = j + 1
def fillplan(phndl, dRes, numbins):
ttons = 0
tvol = 0
tgrade = 0
for i in range(numbins):
bin = (numbins - 1 - i)
oset = 4 + bin * (3 + reslib.getnumgrades(dRes))
tons = reslib.getbintons(dRes, numbins - bin - 1)/reportingunits
How to Build Python Scripts Proprietary Information of Mintec, inc.
Page D-14 Part #: E002 Rev. B
vol = reslib.getbinvol(dRes, numbins - bin - 1)/reportingunits
if reslib.getunitsflag(dRes) == 1:
vol = vol/27.0
gview.SetCellValue(phndl, oset + 1, 3, "%d" % round(tons))
gview.SetCellValue(phndl, oset + 2, 3, "%d" % round(vol))
j = 0
for grec in dRes[areas][0][grades]:
grade = reslib.getbingrade(dRes, numbins - bin - 1, grec[name])
gview.SetCellValue(phndl, oset + 3 + j, 3, "%6.2f" % grade)
j = j + 1
if tons > 0:
tgrade = (tgrade * ttons + grade * tons) / (ttons + tons)
ttons = ttons + tons
tvol = tvol + vol
oset = 4 + numbins * (3 + reslib.getnumgrades(dRes))
gview.SetCellValue(phndl, oset + 1, 3, "%d" % round(ttons))
gview.SetCellValue(phndl, oset + 2, 3, "%d" % round(tvol))
j = 0
for grec in dRes[areas][0][grades]:
grade = reslib.getgradeplan(dRes, grec[name])
gview.SetCellValue(phndl, oset + 3 + j, 3, "%6.2f" % grade)
j = j + 1
main()
Reference Table D (Default Report Script)
repfilename = "report.txt"
reportingunits = 1
import reserves
import core
import string
import reslib
def main():
try:
fl = open(repfilename, w)
except IOError:
return 0
hRes = reserves.hGetCurResRef() # Get reserves handle
dRes = reserves.dGetRes(hRes) # Get the whole reserves structure
reportcuts(fl, dRes)
reporttotals(fl, dRes)
fl.close()
core.vSysSpawn ("notepad","report.txt")
def reportcuts(fl, dRes):
i = 1
for cut in dRes[cuts]:
writecutheader(fl, cut, i, dRes)
i = i + 1
Proprietary Information of Mintec, inc. How to Build Python Scripts
Part #: E002 Rev. B Page D-15
for material in reslib.getmaterials(dRes):
reportcutmaterial(fl, cut, material, dRes)
def writecutheader(fl, cut, num, dRes):
plabel = cut[planelabel]
splitlabel = plabel.split()
l = len(splitlabel)
str = "Cut%4d Slice %s Coord %s Area %s Period %s" %(num, splitlabel[l-
1], splitlabel[l-1], cut[area], cut[period])
for j in range(reslib.getnumcustomattr(dRes)):
name = reslib.getcustomattrname(dRes, j);
str = str + " %15s=%-15s " % (name, reslib.getcustomattr(cut,
name))
str = str + "\n"
fl.write(str)
str = "MATERIAL ITEM CUTOFFS ON %5s - REPORTING UNITS :%6d\n" %
(reslib.getcontrolgrade(dRes), reportingunits)
fl.write(str)
def reportcutmaterial(fl, cut, material, dRes):
# first lets check to see if there is any material to report
ttons = 0
tvol = 0
tgrade = 0
report = 0
for res in cut[reserves]:
if res[material] == material[name]:
if res[tons] > 0:
report = 1
if report == 0:
return
fl.write(\n)
reportmaterialheader(fl, material)
reportcuttons(fl, cut, material)
reportcutvolumes(fl, cut, material, dRes)
for i in range(reslib.getnumgrades(dRes)):
reportcutgrades(fl, reslib.getgradename(dRes, i), cut, material,
dRes)
fl.write(\n)
def reportcuttons(fl, cut, material):
ttons = 0
str = "%-10s TONNES " % material[name]
for i in range(material[numcutoffs]):
tons = reslib.getcuttonsmaterialbin(cut, material[name], i) /
reportingunits
ttons = ttons + tons
str = str + "%10.0f" % tons
str = str + "%10.0f" % ttons + \n
fl.write(str)
How to Build Python Scripts Proprietary Information of Mintec, inc.
Page D-16 Part #: E002 Rev. B
def reportcutvolumes(fl, cut, material, dRes):
tvol = 0
if reslib.getunitsflag(dRes) == 1:
str = " B.C.Y. "
else:
str = " B.C.M. "
for i in range(material[numcutoffs]):
vol = reslib.getcutvolmaterialbin(cut, material[name], i) /
reportingunits
if reslib.getunitsflag(dRes) == 1:
vol = vol/27.0
tvol = tvol + vol
str = str + "%10.0f" % vol
str = str + "%10.0f" % tvol + \n
fl.write(str)
def reportcutgrades(fl, gname, cut, material, dRes):
tgrade = 0
ttons = 0
str = " %6s " % gname
accum = reslib.isgradeaccum(dRes, gname)
for j in range(material[numcutoffs]):
grade = reslib.getcutgradematerialbin(cut, gname, material[name], j)
tons = reslib.getcuttonsmaterialbin(cut, material[name], j)
if tons > 0:
# we have to determine if it is an averaged or accumulated grade
if accum == 1:
tgrade = tgrade + grade
else:
tgrade = ((grade * tons) + (tgrade * ttons)) / (tons + ttons)
ttons = ttons + tons
str = str + "%10.4f" % grade
str = str + "%10.4f" % tgrade + \n
fl.write(str)
def reportmaterialheader(fl, material):
str = " "
for co in material[cutoffs]:
str = str + "%10.2f" % co
str = str + Totals\n
fl.write(str)
def reporttotals(fl, dRes):
fl.write("*** CUMULATIVE TOTAL FOR ALL CUTS ***\n")
str = "MATERIAL ITEM CUTOFFS ON %5s - REPORTING UNITS :%6d\n" %
(reslib.getcontrolgrade(dRes), reportingunits)
fl.write(str)
fl.write(\n)
for material in reslib.getmaterials(dRes):
reportmaterialheader(fl, material)
reportmaterialtotals(fl, dRes, material)
def reportmaterialtotals(fl, dRes, material):
reportmaterialtons(fl, dRes, material)
reportmaterialvol(fl, dRes, material)
Proprietary Information of Mintec, inc. How to Build Python Scripts
Part #: E002 Rev. B Page D-17
for grade in dRes[areas][0][grades]:
reportmaterialgrade(fl, dRes, material, grade[name])
fl.write(\n)
def reportmaterialtons(fl, dRes, material):
tons = 0
ttons = 0
str = "%-10s TONNES " % material[name]
for i in range(material[numcutoffs]):
tons = 0
for cut in dRes[cuts]:
tons = tons + reslib.getcuttonsmaterialbin(cut, material[name], i)
/ reportingunits
str = str + "%10.0f" % tons
ttons = ttons + tons
str = str + "%10.0f" % ttons + \n
fl.write(str)
def reportmaterialvol(fl, dRes, material):
vol = 0
tvol = 0
if reslib.getunitsflag(dRes) == 1:
str = " B.C.Y. "
else:
str = " B.C.M. "
for i in range(material[numcutoffs]):
vol = 0
for cut in dRes[cuts]:
vol = vol + reslib.getcutvolmaterialbin(cut, material[name], i) /
reportingunits
str = str + "%10.0f" % vol
tvol = tvol + vol
if reslib.getunitsflag(dRes) == 1:
tvol = tvol/27.0
str = str + "%10.0f" % tvol + \n
fl.write(str)
def reportmaterialgrade(fl, dRes, material, gname):
gtgrade = 0
gttons = 0
str = " %6s " % gname
accum = reslib.isgradeaccum(dRes, gname)
for i in range(material[numcutoffs]):
tgrade = 0
ttons = 0
for cut in dRes[cuts]:
grade = reslib.getcutgradematerialbin(cut, gname, material[name],
i)
tons = reslib.getcuttonsmaterialbin(cut, material[name], i)
if tons > 0:
if accum == 1:
tgrade = tgrade + grade
else:
# we have to determine if it is an averaged or accumulated
grade
tgrade = ((grade * tons) + (tgrade * ttons)) / (tons + ttons)
ttons = ttons + tons
How to Build Python Scripts Proprietary Information of Mintec, inc.
Page D-18 Part #: E002 Rev. B
str = str + "%10.4f" % tgrade
if ttons > 0:
if accum == 1:
gtgrade = gtgrade + tgrade
else:
# we have to determine if it is an averaged or accumulated
grade
gtgrade = ((tgrade * ttons) + (gtgrade * gttons)) / (ttons +
gttons)
gttons = gttons + ttons
str = str + "%10.4f" % gtgrade + \n
fl.write(str)
main()
Reference Table E (Contact Block Dilution Script)
# Example script which codes ore blocks which contact waste blocks with the
number of waste blocks they
#
import model
from Numeric import *
zoneore = [1]
zonewaste = [2,3,4,5]
def main():
SlabDesc = {}
ModelDesc = model.dGetActiveModelDesc()
SlabDesc[NumberItems] = 2
SlabDesc[ItemList] = [ZONE,VALPT]
# Origin ()
SlabDesc[Origin] = [0,0,0]
SlabDesc[Extents] = [ModelDesc[Extents][0],ModelDesc[Extents][1],1]
Mid = model.dGetSlab(ModelDesc, SlabDesc)
for lev in range(1, ModelDesc[Extents][2] + 2):
if(lev < ModelDesc[Extents][2]):
SlabDesc[Origin][2] = lev
Bot = model.dGetSlab(ModelDesc, SlabDesc)
for row in range(ModelDesc[Extents][1]):
for col in range(ModelDesc[Extents][0]):
if row > 0:
if diffzone(Mid[0][0][row][col], Mid[0][0][row - 1][col]) ==
1:
Mid[1][0][row][col] += 1
if row < ModelDesc[Extents][1] - 1:
if diffzone(Mid[0][0][row][col], Mid[0][0][row + 1][col]) ==
1:
Mid[1][0][row][col] += 1
if col > 0:
if diffzone(Mid[0][0][row][col], Mid[0][0][row][col - 1]) ==
1:
Mid[1][0][row][col] += 1
if col < ModelDesc[Extents][0] - 1:
if diffzone(Mid[0][0][row][col], Mid[0][0][row][col + 1]) ==
Proprietary Information of Mintec, inc. How to Build Python Scripts
Part #: E002 Rev. B Page D-19
1:
Mid[1][0][row][col] += 1
if lev > 1:
if diffzone(Mid[0][0][row][col], Top[0][0][row][col]) == 1:
Mid[1][0][row][col] += 1
if lev < ModelDesc[Extents][2] - 1:
if diffzone(Mid[0][0][row][col], Bot[0][0][row][col]) == 1:
Mid[1][0][row][col] += 1
if lev > 1:
SlabDesc[Origin][2] = lev - 2
model.vSetSlab(ModelDesc, SlabDesc, Top)
model.vFreeSlab(Top)
Top = Mid
Mid = Bot
def diffzone(zone1, zone2):
# There are three possible outcomes
# same zone, diffrent zone, cant find one of the zones
# The third case can be addressed in a number of ways but will
# not be at this time
type1 = 0
type2 = 0
for code in zoneore:
if zone1 == code:
type1 = 1
if zone2 == code:
type2 = 1
if type1 == type2:
return 0
else:
return 1
main()
Reference Table F (Model description)
# Example script which dumps all the information form a models description
dictionary
#
import model
from Numeric import *
def main():
SlabDesc = {}
ModelDesc = model.dGetActiveModelDesc()
fl = open(Out.txt, a)
fl.write(Number of items: %d\n % ModelDesc[NumberItems])
fl.write(Origin: %f, %f, %f\n %
(ModelDesc[Origin][0],ModelDesc[Origin][1],ModelDesc[Origin][2]))
fl.write(DX: %f\n % ModelDesc[dx])
fl.write(DY: %f\n % ModelDesc[dy])
fl.write(DZ: %f\n % ModelDesc[dz])
fl.write(Extents 0: %f\n % ModelDesc[Extents][0])
fl.write(Extents 1: %f\n % ModelDesc[Extents][1])
fl.write(Extents 2: %f\n % ModelDesc[Extents][2])
How to Build Python Scripts Proprietary Information of Mintec, inc.
Page D-20 Part #: E002 Rev. B
fl.write(Item List. \n)
for item in ModelDesc[ItemList]:
fl.write(item + \n )
fl.write(ZCrest: %f\n % ModelDesc[Zcrest])
fl.write(Bench Toes \n)
for toe in ModelDesc[BenchToes]:
fl.write(%f\n % toe )
RInfo = ModelDesc[RotateInfo]
fl.write(Rotation Origin: %f, %f, %f\n %
(RInfo[Origin][0],RInfo[Origin][1],RInfo[Origin][2]))
fl.write(Rotations: %f, %f, %f\n %
(RInfo[Rotations][0],RInfo[Rotations][1],RInfo[Rotations][2]))
fl.write(Azim: %f\n % RInfo[Azimuth])
fl.write(Dip: %f\n % RInfo[Dip])
fl.write(Plunge: %f\n % RInfo[Plunge])
fl.write(Reflect: %f\n % RInfo[Reflect])
fl.write(Rotation Type: %s\n % RInfo[Type])
fl.write(Rotation Matrix\n)
fl.write(%f, %f, %f\n
%(RInfo[RotationMatrix][0],RInfo[RotationMatrix][1],RInfo[RotationMatrix][2]))
fl.write(%f, %f, %f\n
%(RInfo[RotationMatrix][3],RInfo[RotationMatrix][4],RInfo[RotationMatrix][5]))
fl.write(%f, %f, %f\n
%(RInfo[RotationMatrix][6],RInfo[RotationMatrix][7],RInfo[RotationMatrix][8]))
fl.close()
main()