Studio Ug Shedule
Studio Ug Shedule
Planning Tutorial
This tutorial demonstrates a simple run-through of Studio UG's planning functions.Each exercise aims to highlight functions
that have been introduced in Studio UG that may differ from legacy underground planning products such as Datamine's
Mine2-4D and Studio 5D Planner applications. It may be a useful resource for both new users and existing clients
transitioning to Studio UG.
Starting with project setup and ending with an animated schedule linked to Datamine's Enhanced Production Scheduler
application, the following exercises provide a basis for exploring Studio UG further. It isn't practical to cover every function
available to you; instead, key functionality is described using a simple data set that takes you through the preparation of
design data representing primary and secondary developments accessing a steeply dipping AU deposit, using conventional
benching techniques.
You will encounter fixed cross-sectional design strings representing the underground development and imported wireframes
representing both primary and derived stoping activities. These hypothetical wireframes were generated by Datamine's
Mineable Shape Optimizer application, using the same model as used for interrogation in this tutorial. Although MSO isn't
accessed directly in the following exercises, the tutorial data set you download in the first section contains a collection of all
MSO outputs for the tutorial project, including the stope wireframes that will ultimately be used to construct stoping and
derived backfilling activities.
Links to other topics or within topics are kept to a minimum; this tutorial is best followed from start to finish without
diversions. As such, the usual 'Related Topics' section at the bottom of each page is replaced with a link to the next topic in
sequence.
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 2 of 54
This tutorial can be completed in approximately one hour. You can break it up into sections if you wish, saving your project
after each section, but it is advisable to complete all exercises in each section in the same Studio UG project session.
Several data files are referenced throughout the tutorial. The first exercise generates a new Studio UG project and ensures the
relevant data is available. An archive containing the input design files, EPS template and evaluation legend (.elg) file is
downloaded as part of the first exercise.
Tutorial Sections
Each section of the tutorial starts with a brief description of the prerequisites for the next set of exercises. These prerequisites
will reference required knowledge, data and previous exercises that need to be completed beforehand.
For new users, it is recommended to 'stick to the script' for the first run-through. If you are more familiar with Studio UG's
planning functions, you can consider adjusting some of the instructions to see the impact on your resulting data and/or
schedule. For example, you can adjust the evaluation legend bins to see the impact on downstream processing/reporting, or
adjust some of the dependencies to see how it affects your schedule in EPS.
You should following the tutorial through in the order specified as many exercises rely on output from previous exercises.
The Studio UG tutorial comprises the following sections, each broken down into related exercises.
Each section is contained within a dedicated Help topic and is shown as a separate entry in the Table of Contents on the left.
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 3 of 54
Creating a new Studio UG project will automatically create a new folder on disk. This folder, by default, is structured to host
the following information types:
• Non-managed Data files (Datamine or otherwise) that will be 'fed into' the functions that Studio UG has to offer.
These can reside anywhere on disk, but are commonly found at the root level of the project folder. Files that start off
here may be migrated to a managed environment by other functions, for example, fixed cross section design data is
moved into the "UGDatabase\Scenario1\Data\Prepared" folder once it has been connected to design definitions.
• Managed Data Files: Studio UG also hosts data that is managed by the planning functions and commands.
A specific structure (both within the data file and within a specific folder structure) is created to allow data within it to
be accessed and utilized by Studio UG's planning functionality. This database is not encrypted, but is instead
comprised of a series of folders and sub-folders.
The "UGDatabase" sub-folder is automatically created when a Studio UG product is formed. It will contain a "Data"
sub-folder and a default set of folders. These folders, and their contents, will be appended as you progress through the
managed planning workflow. This represents your project's managed data files.
• XML Project Settings: Studio UG uses XML (Extensible Markup Language) files to store and transfer settings that
determine how your schedule is formed. You can create these XML definition files yourself within many of the
planning dialogs, and Studio UG will automatically create these files as well. The automatically-created XML settings
files are also stored in the "UGDatabase" sub-folder, and a "Settings" sub-folder.
Prerequisites
• You have access to the Internet (to download tutorial data files).
• You have some knowledge of Studio user interface customization, in particular, docking and floating control bars. You
can find out more here.
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 4 of 54
Name: "UG_Tutorial" (if a project with this name already exists, pick a different name - an empty project is required
for this tutorial)
Location: C:\Database\UG_tutorial (or whatever the project name is)
Automatically add files...: disable (uncheck)
Otherwise, click Next and Finish to complete the wizard. The 3D window will be displayed.
1. Use this link to download your tutorial data (Internet connection required).
2. Click Download to download the tutorial files archive to your local machine. Download to any suitable, temporary,
local folder.
3. Unzip the contents of the archive to the folder created above e.g. C:\Database\UG_tutorial
4. Your project folder should now contain the following items:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 5 of 54
The next step is to define the design files that will become the basis for your planning project. This is described in the
following section.
Home > Introductory Planning Tutorial > Planning Project Settings > Design Files
• fxs_decline.dm:
A string file generated by Studio's optimize-decline command, representing a loopback decline drive and sole access to
the levels. This will form the basis for a fixed-cross sectional solid.
• fxs_levels.dm:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 6 of 54
A string file comprising multiple string entities representing per-level access drives to the stopes. This will form the
basis for fixed-cross sectional solids.
• fxs_oredev.dm:
A file containing ore development strings. This will form the basis for fixed-cross sectional solids.
• fxs_vent.dm:
A string file representing two vent shafts. This will form the basis for fixed-cross sectional solids.
• stopes_tr.dm:
Wireframes representing mineable stopes, as generated by Datamine's Mineable Shape Optimizer tool. Individual
stopes are delineated by the STOPE field value. This data will be an "Imported Wireframe" design type.
• bm_benching.dm:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 7 of 54
The model file that will be evaluated and depleted according to the interrogation rules defined below.
The following exercises set these files as your design data for the upcoming planning project.
Prerequisites
• You have created a new tutorial project as described in the previous section (Project Setup)
• You have downloaded tutorial data and installed it as described in the previous section (Project Setup)
1. The Settings panel should be displayed. If not, activate the Planning ribbon and click Settings (or Show, then Settings
if it is not initially enabled).
2. Initially, there are no design files associated with your project. To add one, click the green "+" button in the Design
Files group:
3. You're going to set up the decline string as a fixed cross-sectional design type. From the menu provided, select [Fixed
Cross Sectional] to display the Project Browser.
4. In the Project Browser, Files section, select "fxs_decline.dm" (you could also use the browse button to select it from
disk).
5. With fxs_decline selected, click OK. A new item is added to the Design Files table:
The Status: 'Available' means the file can be found on disk where is expected (Status can be useful if the file is
accidentally moved or renamed later on).
The Group Identifier field is used to denote if and how the file should be subdivided into sub-data; this setting is only
relevant for Wireframe design types, so is unavailable here.
6. Add the files "fxs_levels.dm", "fxs_oredev.dm" and "fxs_vent.dm" to the table, also using the [Fixed Cross Sectional]
(FXS) design type and the same default settings. Your table now looks like this:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 8 of 54
7. The final file "stopes_tr" is a wireframe. This needs to be added using the [Wireframes] design type. Browse for the
file "STOPES_TR.dm" and Open it. Click OK to add this fifth entry to the design files table.
8. Unlike the FXS design data, the wireframe needs to be scheduled according to the independent stope shapes held
within it. This information is determined by the STOPE field in the wireframe's triangle file. This is also referred to as
the wireframe's Group Identifier.
A Group Identifier is mandatory when defining wireframe design data. As soon as you add the wireframe to the Design
Files table, a warning is issued:
9. The stopes_tr file needs to be scheduled on a stope-by-stope basis, so expand the Group Identifier field and select the
[STOPE] attribute. This denotes independent stopes within the wireframe file.
10. All five design files for your tutorial project are now set up.
11. Save your changes using the Save button in the top right of the panel:
The next step is to define how your schedule activities will be named. This is described in the following exercise.
Home > Introductory Planning Tutorial > Planning Project Settings > Naming Conventions
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 9 of 54
Naming Conventions are used to modify the attributes, properties and names associated with project data; this enables Studio
UG to be tailored to the individual requirements of your projects. Conventions are comprised of a filter to define the scope of
data over which the convention will be applied (e.g. all FXS data, derived activities, wireframes etc.) and the naming
convention itself.
These filters reference attributes which will be present in your design data.
The convention is the specification of the string used to name the activity that is generated from the filtered design data.
In this section, you'll set up four naming conventions; two will be applied to distinct groups of fixed cross-sectional data (for
this tutorial, the filter that differentiates which FXS data gets which convention is determined by the DESC field of each of
the specified string files), one for wireframe activities and one for derived activities.
This is achieved using the Settings panel, and tools found in the Naming Convention Assignments group.
Your project requires three naming conventions. Two require custom filters to define the scope of data to which they will be
applied. The other one is applied using system filters (the same convention is assigned to two groups of data (derived
activities and wireframe data) using two separate filters.
All four conventions are defined using a similar process and the general principles described here apply to all naming
convention scenarios.
Prerequisites
• You have completed the previous section (Design Files).
Attributes are set up using the Edit Attributes panel, which can be accessed from the Edit Naming Conventions panel (it can
be accessed from various parts of your planning system).
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 10 of 54
2. In the Edit Naming Conventions panel, click "+" on the left to add a new convention to the (empty) list:
3. "NewNamingConvention" is added to the list, and a table appears on the right (ignore the warning for now):
4. Double-click the default description and edit it to read "INFR" - this convention will be used to denote a particular
region of the mine.
5. This convention will be used to set up an activity name of the following format:
An example activity name could be "Cubby_EAST". Two attributes are needed to define this convention (DESC and
REGION respectively), and they don't exist in the Studio UG database yet.
You need to define them. Click Edit Attributes to open the Edit Attributes panel:
6. The only attributes listed are system attributes required by Studio UG. These are locked and not editable. Defining
attributes can either be done manually, or by extracting them from a Datamine file, which can often save time.
The tutorial data already includes the attributes and data definitions that you need, so in this case, you can generate
them. Click Generate.
7. The file fxs_decline.dm contains attributes you will need for your convention, so select it in the browser and click
Open.
8. In the Field Selector dialog, select all of the Use check boxes (not all attributes will be used for naming convention
purposes - it's just easier to define them all for later exercises now).
9. Click OK.
10. Your attributes are now transferred to the Attributes panel, and are defined for your project.
Click OK in the Attributes panel to return to the Naming Conventions panel and continue defining your first
convention.
1. In the Edit Naming Conventions panel, edit the contents of the table on the right so they read:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 11 of 54
Type: Attribute
Text: (not editable for the selected Type - blank)
Attribute: DESC (this is the attribute that will be used to define the design types later on)
From Index: 1
To Index: 8
Padding Type: Right
Character:_ (underscore)
This defines the first element of the "INFR" naming convention; a string, 8 characters long based on the DESC field
value of the FXS design data, followed by an underscore.
2. The second element of the naming convention for "INFR" is a reference to the region of the mine to which the activity
relates. In this case, the REGION field contains this information.
Click the "+" sign above the table on the right and add the following information to the table:
Type: Attribute
Text: (not editable for the selected Type - blank)
Attribute: REGION
From Index: 1
To Index: 4
Padding Type: None
Character:(blank)
Your table now looks like this and is complete for the INFR naming convention.
3. Two more conventions are needed for your project; one to name activities relating to stoping and the other to reference
development activities.
4. Add a new convention using the "+" icon on the left of the panel. Rename this convention to "Development".
5. Use the tools on the right to set the table up for "Development" like this:
6. Similarly, create another convention called "Stopes" and set it up like this:
Stope activity names are set up for this project in the following format: [Design Definition Type]_0[Stope Sequence
Number]_[Level number]_[Region Description]
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 12 of 54
Your first filter will be used to define a naming convention that will be applied to a specific set of structures, each of which
needs to be easily identifiable in the resulting schedule.
2. The Edit Filters panel is used to define the name and rules for your filter. Select the green "+" icon on the left to add a
[NewFilter] item to menu list below (the list already contains some default filters - these are always present and not
editable):
3. Double-click the [NewFilter] field and enter the description "FXS_NAMING1". This will be the convention that
applies to the first set of activities relating to your fixed cross sectional data.
4. On the right of the panel, a warning has appeared in the Field Name cell. This is because you haven't defined an
attribute that will used to filter your design data:
5. You're going to set up a filter so that only design data that has specific values for the DESC attribute will be subject to
a particular naming convention (which you'll finalize shortly).
The first FXS naming convention will be used where the DESC value for the design data matches any of the following
values:
DECLINE
DEC_MNVR
INT_RSE
SHAFT_EX
SHAFT_IN
INT_ACC
For now set up the first row of the table so that it matches the image below:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 13 of 54
6. Click "+" to add another condition to the filter. This will be an "OR" condition, meaning data will pass the filter if it
matches the definition, regardless of other filter elements.
7. Importantly, change the [And] to read [Or], then populate the second row like this:
8. Complete the filter expression for the "FXS_NAMING1" convention by adding the following filter elements:
That's the first filter complete; it defines a group of structures within the project that will carry a specific naming
convention (in this case, it will be the "INFR" convention you defined earlier).
9. The remaining filters for your project can be loaded from an XML file downloaded earlier.
One more naming convention filter is needed, but others are needed for dependency configuration later.
To import filter information, click Import in the top right corner of the panel:
10. Navigate to and open the file "Filters.xml" that is found in the "XML" sub-folder of your current directory.
11. All remaining filters and definitions are added to the Edit Filters panel.
Have a look at them to get an idea of how they are constructed (particularly "FXS_NAMING2") then click OK to close
the Edit Filters panel.
1. In the Setup panel (Naming Convention Assignments group), click the associated "+" icon.
2. Edit the Filter name by selecting [FXS_NAMING1] from the drop-down list.
3. In the Naming Convention cell, select [INFR]
This naming convention will be applied to all infrastructure activities throughout the mine, and will use the "INFR"
convention you set up manually in a previous exercise.
4. For the second convention assignment, click "+" and define [FXS_NAMING2] (a filter imported from XML earlier)
and the [Development] Naming Convention.
5. The last two conventions use the same convention ("Stopes"): assign the [*WFM] system filter to the [Stopes] Naming
Convention.
6. Finally, assign the [*DER] Filter to the same [Stopes] Naming Convention (you want to use it for both wireframe and
derived activities).
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 14 of 54
7. Save your planning settings using the Save button at the top of the panel:
Your naming conventions are now set up for your project. In the next exercise you'll set up your block model and its
interrogation rules.
Home > Introductory Planning Tutorial > Planning Project Settings > Interrogation Rules
While the system supports multiple block models, the action performed on a block model (e.g. depletion) results in this block
model being altered and acting as the input for the next instance of the use of that model. If you haven't read it already, you
should review this help topic to give you some background information to how and why Studio UG lets you determine your
model interrogation rules as part of the initial project setup. It may also help for you to review this information on block
model depletion before you proceed with the following exercises.
The following exercises define the model for your project (Studio UG supports multiple models, but only one is specified
here for simplicity). Next you will set up an evaluate-deplete-reevaluate rule set to control how data is evaluated during
sequence processing.
Prerequisites
• You have set up your naming conventions and filters, as described in the previous section.
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 15 of 54
1. With the Project Settings panel displayed, select Edit Block Models in the Interrogation Settings group:
2. Your project doesn't reference a block model yet, so you need to add one. Click "+" to add a row to the table below
(multiple models can be specified, although you will only be defining one for this project).
3. In the File Name field, select the browse button to display the Project Browser dialog.
4. In the Project Browser dialog, select the browse button next to the Filename field:
5. Select the file "BM_Benching.dm" from your project directory and click Open.
6. Click OK again to return to the Block Model Files panel.
7. The rest of the table fields are filled out automatically. As the input model contains a DENSITY field, it is
automatically set but this can be adjusted to another field if one exists (in this case, the default is what you want).
The Status field indicates the model exists in the location originally specified. If it is moved, renamed or deleted later
on, you'll see a warning here (as well as several others throughout UG as depletion and evaluation will be blocked).
8. Click OK to return to the Project Settings panel.
In your project, you're interested in AU grade. You're also going to set up a derived activity for backfilling, so a property
describing the backfill volume is needed.
The Properties panel is used to define the properties you wish to report in evaluation and includes the unit of measurement
associated with each property as well as whether the property is used during evaluation or if it is weighted against another
property (e.g. weighting a volume against a density).
Click "+" to add a "NewProperty" item - double-click to edit this description to read "AU". This will be your grade
evaluation property.
3. As a grade property, add "g/t" to the Units cell.
4. As you want to evaluate this property during model interrogation, enable the Is Evaluated check box.
5. Add another property; this time call it "Backfill_Volume" and set the units to "bfm³" (copy and paste the description
here to quickly add the superscript). The property is automatically weighted on 'Mined_Mass' (as are all attributes
where the Is Evaluated setting is enabled).
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 16 of 54
1. In the Setup panel (Interrrogation Rules group), select Edit Default Values:
2. The Edit Default Values panel contains a list of all default values for every property to be evaluated (i.e. its Is
Evaluated setting in the Edit Properties panel is selected).
The default value for [AU] (0) is fine, but the [Density] Default value is currently set to 1 and needs to be higher. Set it
to "2.8" for this tutorial. A density of 2.8 will now be assumed for evaluation purposes if absent density data is detected
in the model.
3. Click OK to update the default value for the Density property.
In this exercise, you will define 3 interrogation steps which will be completed in order:
a. Interrogate all ore development wireframes against the undepleted model (bm_Benching). This uses an imported filter
that segregates data using the expression DTYPE = ORE.
b. Deplete [bm_Benching] against the ore development wireframes. This uses the same filter as above. In this instance,
you will set up custom sub-celling when depleting the model.
c. Interrogate all project wireframes against the resultant block model from step (2). This uses the system *WFM filter,
which all project wireframe data will pass.
To do the above, you need to edit the contents of the Interrogation Rules table. You've already defined/imported the filters
required, so it won't take long:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 17 of 54
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 18 of 54
3. Select the file "BENCHING EVALUATION.elg" in your project folder. This is a simple evaluation legend breaking
down model AU values into 4 bins of equal range size:
8. Save your planning settings using the Save button at the top of the panel:
Project setup is complete! In the next exercise you will assign some previously-defined attributes to your design data.
Attributes are extra "fields" which get added to the end of the points table in the project. They are used to give scheduling
activities extra information which can be used during the scheduling process, including, for example, level information, rock
type, panel numbers etc. Traditionally, attributes were simply placed onto the design item strings by editing them in the 3D
window. Experience has shown that it is easy to make mistakes using this method, and hence improved methods were
devised to streamline the attribute application process, and reduce the risk of error.
Adding attributes to a design allows filtering of the schedule, and reporting in Studio UG. This improves the usefulness of the
information derived from the final schedule. Attributes provide 'pointers' to different areas in the mine, so they can be easily
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 19 of 54
located during the scheduling process. They are used to create the naming convention for each activity (mining activities and
derived activities). It is the naming convention which imports the attribute information into your application.
In the following exercises, you will 'complete' your partly-attribute project data; your FXS design data (specifically, the data
representing the vent structures) differentiates between risers and service access structures using the DESC field. This field is
used in the filters you have already defined, and these filters are used in both naming convention and dependency assignment
functions later on.
Your 'fxs_vent' fixed cross-sectional design data contains several entities relating to simple flow-through ventilation
development. There are no auxiliary fan and duct systems in your example project. Two shafts (inbound and exhaust
ventilation) lead to corresponding service and raises. In your data, some raise attributes are missing from the primary
exhausting shaft, indicated by the purple arrows below:
In this exercise, you will use the Manual Attribute Assignment panel to add the appropriate DESC attribute to these string
entities, thus completing the attribute setup for your design data.
Prerequisites
• You have completed the previous section (Interrogation Rules).
• You are familiar with using the Sheets control bar to enable and disable object overlays. More...
• You are familiar with 3D window view manipulation tools such as zooming and panning.
All system and custom attributes currently assigned to your project can be seen in the Attribute drop-down list. The
attributes in this list mimic the contents of the Edit Attributes panel used in a previous exercise (this panel is also
accessible from the Manual Attribute Assignment panel, but as you've already defined your attributes for the project,
you won't be needing it).
Several Studio UG functions operate in one of two modes; where design data is loaded and where data is unloaded. In
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 20 of 54
some cases, for example, you have to load data in order to perform interactive functions upon it, or you have to unload
data first in order to edit object values. Studio UG will let you know if you're in the wrong mode for a particular
function.
Loading the designs populates the Current Values list with all currently assigned (unique) values. These are the
values found in all of the design data you specified on the Project Settings panel (where a DESC attribute can be
found).
It doesn't matter if you load your designs, then select an attribute, or do it the other way round. If you already
have designs loaded, for example, the Current Values list will update instantly when a new Attribute is
selected.
4. By loading your designs, you can see all of your design data (four FXS files and one wireframe file):
5. There's too much data on screen; you're only interested in the ventilation infrastructure strings.
Using the Sheets control bar, disable the view of the following data:
fxs_decline (strings)
fxs_levels (strings)
fxs-oredev (strings)
stopes_tr/stopes_pt (wireframe)
6. Zoom all data and you should be looking at something similar to this:
The pink/red data represents the ventilation exhaust plan for your project, consisting of a primary exhausting shaft, and
alternating service and vent raise structures that ultimately connect to each of the level drives leading into the ore
development strings.
7. At the bottom of the panel, in the Labels section, select [DESC] from the drop-down list.
8. Select the Show Labels check box to update the screen.
9. Zoom in on the lower half of the exhaust ventilation string object. You can see that four of the string entities in the
lower levels are not currently assigned a [DESC] attribute:
In the next exercise, you'll manually assign attributes to these strings to designate them as vent raises for the exhaust
infrastructure.
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 21 of 54
In this exercise, you're going to use the Quick Filters control bar and adopt the latter approach (although for this kind of data,
both methods are arguably as quick as each other, it will depend on the type/complexity of data loaded as to which one you
choose in live operations).
1. With your labelled vent data displayed, expand the Quick Filters control bar on the right of the screen:
4. You're now looking at the part of your ventilation fixed-cross-sectional data that doesn't currently have an assigned
DESC attribute:
9. Your ventilation strings reappear, displaying the DESC values for your string. Specifically, zoom in and rotate the
view to check that your newly-applied attributes have been assigned like this:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 22 of 54
10. At this point, only the data held in memory has been updated. You need to commit these changes to your design data
files.
12. Close the Manual Attribute Assignment panel using the "x" in the top-right corner.
13. Save your project.
Configuring the
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 23 of 54
Design definitions determine how your design data will be prepared for scheduling and the rate of mining for each structure
type.
• In the case of fixed cross-sectional (FXS) data, a design definition includes defining the profile/shape that will be used
to extrude along the string and create a solid that can be segmented, then each segment sequenced and evaluated. Your
project consist of four FXS design file covering decline, level, ore development and ventilation development.
• In the case of wireframe design data (your project includes a wireframe representing the mineable stopes), the design
definition will describe the rate at which the wireframe volume will be extracted.
Your project will be supported by a total of fifteen separate definitions, each of which corresponds to a particular structure
within your design data. Most relate to fixed cross-sectional data.
In the following exercises, you will define one of the FXS shapes (the one used to extrude along the main decline structure)
and then define the display settings, segmentation, scheduling constraint and rate of mining for that structure. The remaining
design definitions will be loaded from the provided XML file.
Design definitions require a unique combination of "Matching Attributes" (you can find out more about this here) but for this
tutorial, only the COLOUR attribute - the only matching attribute - and the definition name are required to be unique for each
definition. In other words, you won't be changing the default matching attribute configuration (where COLOUR is the only
matching attribute) in this exercise.
You will also create a design definition for your stope volume wireframe. The activities that spawn from this definition will
be used later to trigger another activity: backfilling. This is an example of a 'derived activity'.
Prerequisites
• You have completed the previous section (Assign Attributes)
This displays the Apply Design Definitions panel. There aren't any definitions for your project yet, so the table shows
only one entry - the default item representing an absent definition.
You'll come back to this screen once you have defined your decline design definition and loaded the remainder from
XML. You will then interactively apply it to the main decline string as an example.
2. To start creating and editing design definitions, click Edit Definitions:
3. The Design Definitions panel is displayed. This panel segregates definitions by data type. As your project includes
only FXS and wireframe data, you'll be using those tabs only.
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 24 of 54
1. In the Design Definitions panel, Click "+" to add a new row to the definitions table.
In addition to a unique Name, you can choose the attributes that represent your definition using the Attributes
for Mapping dialog. In this example, the default setting is used; only COLOUR is used to segregate each
definition. This means that every COLOUR value in your definitions table must be unique. Design data that is
added to the project will be automatically matched against the COLOUR attribute value during processing.
Where a match is found, the corresponding design definition is automatically applied.
5. Ignore Shape for now - you'll define a cross-sectional shape for the decline FXS string in the next exercise.
6. You're going to split your decline up into 12m intervals; in the Segmenting - Method cell, select the [By Length]
option.
7. You are prompted to enter a Length. In this case, enter "12".
Studio UG also lets you define a number of segments using the [By Number] option, and works out the distance
for you. For this example, though, the length is important as 12m represents a pragmatic way to break up the
decline string into schedule-ready solids.
8. Default Values aren't important for this definition so can be left as is.
9. The default constraint is fine too; you want the decline development to start as soon as the completion of precursor
activities is complete. This becomes clearer when you set up dependencies later on.
10. The equipment assigned to the project has been determined to progress the decline at 100 meters per month. As such,
in the Quantity field, enter "100", select [m] from the Unit drop-down list and select [Month] from the Period drop
down list.
11. Check your design definition matches the properties listed below:
Name: DECLINE
Description: Decline
Colour: 10
Linestyle: 1001
Symbol: 201
Shape: Default Shape (will be changed in the next exercise)
Method: By Length
Length: 12
Default Values: <Default>
Default Constraint: As Soon As Possible
Quantity: 100
Unit: m
Period: Month
Exclude: disabled
Other shapes will be used in your project, but they will be imported from XML as part of this exercise.
1. Leave the Design Definitions panel open (although you may need to move it out of the way) and click the Edit FXS
Shapes button on the Apply Design Definitions panel:
Studio UG will generally let you open any number of panels at once, with each panel being aware of changes
being made in other areas. This is a really useful way to set up multi-faceted design descriptions without have to
close and reopen panels unnecessarily.
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 25 of 54
2. The Edit Shapes panel shows the default square profile, i.e.:
3. You're going to define a new shape for your decline arch. Click the "+" button to add a new entry to the listing on the
left: "NewShape".
4. Edit this description to read "Arch 4.5x4".
5. Select [Arch] from the Shape Type drop-down list. The default Arch profile appears:
12. Browse to your project's "XML" sub-folder and load the file "FXSShapes.xml". This loads the remaining definitions -
select each one to see the differing configurations:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 26 of 54
Name: STOPE
Description: STOPE
Colour: 37
Linestyle: 1001
Symbol: 201
Default Values: <Default>
Default Constraint: As Soon As Possible
Quantity: 45000
Unit:miT
Period: Month
Exclude: Disabled
Segmentation and shape definition is not relevant for wireframe design data.
3. Browse to and open the file "DesignDefinitions.xml" from your project folder's "XML" sub-folder.
4. After a few seconds, the remaining definitions will appear in the table:
2. Your fixed cross-section design data is loaded (the type of data that is loaded will depend on the selected table tab, in
this case, FXS):
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 27 of 54
3. The grey decline string at the top of the image above doesn't currently have a design definition. This means that it
cannot be used to generate solids data and segment it into activities for scheduling.
4. In the FXS table, select the DECLINE table row to highlight it:
5. Click Apply to Selected and click away to see your decline string coloured in green. This means the definition has been
successfully applied:
6. Enable Filter using selected definition - this lets you see the DECLINE structure on its own in the 3D window.
7. Cycle through the other table entries (click each one) to show the structures in isolation:
The view will automatically zoom to accommodate the selected item data as Zoom all when filter changes is
enabled.
8. Disable the Filter using selected definition check box and select the WFM tab.
9. Your imported wireframe stope data is displayed:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 28 of 54
Your loaded wireframe data has already been associated with the definition you created earlier (which is why it is
shown in green) so nothing more to do here.
10. Click Save Designs to commit the latest definitions to your design data.
11. Unload your design data using the Unload Designs button:
At this stage, you have 'connected' your design definitions to your design data so Studio UG can construct the relevant
activity points for your underground plan. You haven't set up any specific dependencies yet, but that comes later. For now,
you need to verify that your design data doesn't include geometry that cannot be mined, considering your current operational
constraints. In some cases, validation will detect more fundamental problems such as duplicate strings or points that could
give rise to multiple concurrent activities of the same type - this is rarely desired.
Validation can also prepare your data where discrepancies occur, such as automatically closing string data defined as the
Outlines or Complex Solids design type. It also provides useful proximity checks to ensure inter-level spacing is adequate for
the rock type and so on.
In the following exercise, you're going to validate your project with the default settings, then review the results and
understand them. Folowing that, you're going to relax one of the validation rules slightly for fixed cross sections in order to
let validation complete without errors.
Prerequisites
• You have completed the previous section (Configure Design Definitions)
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 29 of 54
Click Go to start the validation of your design data with the default settings. The default settings are essentially "check
everything on everything". The checks that are made are explained in more detail in your context-sensitive Help files,
but in essence they are grouped into settings for each design type.
- Strings are opened if they are closed (it's uncommon to extrude a profile shape in a closed boundary, although it is
possible)
- String segments that change azimuth by more than 90 degrees are reported (tighter corners than this aren't desired for
this project)
- Strings can't dip by more than 15 degree changes between line segments - this is limited by your machinery
capabilities
- Horizontal design strings can't deviate by more than 9.46 degrees from horizontal
- Vertical design strings can't deviate by more than 60 degrees from vertical
- There are no string cross overs in the same plane (i.e. no coincident string data)
- There is a minimum vertical separate of 10m between strings (this is likely to be governed by machinery and the
material being mined)
3. Process can take up to a couple of minutes to complete. Once complete, a report is displayed. This report lists all data
that fails one or more of the validation rules. In your case, the Fixed Cross Sectional data has one or more issues to
deal with:
As displayed, there are 12 items (Count=12) of design data that have failed validation and need to be reviewed.
4. Expand the Design Type: FixedCrossSectional list to display the error conditions that have occurred.
5. In this case, one or more design strings show a change in azimuth (between subsequent segments) that exceeds the
predefined limit (the default value, and the one used here, is 90 degrees).
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 30 of 54
6. Expand the Error Type: Azimuth Change list to show the 12 string entities that exhibit this validation failure:
7. Select the first "fxs_vent" item in the list and enable both Filter Designs for Selected Error and Zoom all when filter
changes check boxes.
8. Zoom out slightly with the middle mouse wheel (or use the View ribbon's zoom functions to do the same). The
resulting string is one of the vent raise strings for the exhaust infrastructure:
9. Although it's hardly noticeable, the two string segments violate the Maximum Azimuth Change validation rule
(coincident edges cannot vary by more than 90 degrees) by a very small amount.
10. Select some of the other "fxs_vent" entries in the table - the result is identical; they all suffer from the same failure.
11. Resolution in this case would be to either adjust each of the strings to make the angle between segments less acute or to
relax the validation rule. In this case, you're going to do the latter.
12. In the Validation Options area (expand it), change the Maximum Azimuth Change value to "95" and click Go again to
revalidate your data.
13. This time, there are no validation errors, so you can proceed to solids generation.
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 31 of 54
Studio UG uses your input design data (fixed cross-sectional strings, outline strings, complex solid strings and imported
wireframes) as a starting point for creating solid volumes that can be assigned an 3D activity point within your schedule.
In the case of string data (FXS, CXS, Outlines), volume data is generated by extruding from a base string,or between strings,
to form closed volumes for evaluation and segmenting. Wireframe data is not segmented but is instead depleted according to
the specified mining rate of the design definition.
Solids creation, referred to in Studio UG with the general term of "Processing", brings together your design data, definitions
and other project settings to create a series of solids, containing one or more activity points that can be scheduled, potentially
with other dependencies injected into the mix (dependencies are covered in a later section).
In the following series of exercises, you will process your design data (four FXS designs and one wireframe) into solids and
activity points. You'll also set up a derived activity (backfilling) that will apply to all wireframe data scheduling e.g.:
In this scenario, wireframes will be generated from the derived activity definition.
Prerequisites
• You have completed the previous section (Validate Design Data).
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 32 of 54
The Processing panel also provides instant access to the Apply Design Definitions panel.
4. Click the "+" button (top right) to add a new row to the Derived Activities table.
Each derived activity is associated with an Assignment Filter and Expression (to determine how the resulting volume
will be evaluated). This information is entered into the lower half of the screen. The lower table automatically appears
when you create the first row in the table. For now, you'll continue to enter the derived activity definition and populate
the lower table afterwards.
5. Edit both the Name and Description to read "BackFill".
6. Backfilling relates to the entire in situ stope volume. The system wireframe filter is perfect for this assignment, so
select [*WFM] from the Parent Filter drop-down list.
7. Use the default [201] Symbol.
8. You're going to offset your derived activities slightly from the stope wireframes. This is handled by the Point
Translation options. Derived activity points will be created 1m higher than the parent stope data, so choose [Z] as the
Axis and enter "1" for the Offset.
Within Studio UG it is not valid to have two points at exactly the same 3D position in space. It is therefore
necessary to specify the translation of the newly created point using the Point Translation parameters, with
respect to the original point. In addition to this the system also ensures that no points are coincident by adding an
increment to coincident point elevations automatically.
9. You don't have to created derived activity wireframes, but in this case select the Wireframes - Create check box and
set a Colour of [18] (pale red).
Your backfilling derived activity will progress at a specific daily rate.
10. Set up the following Duration / Rate fields:
Quantity: 610
Unit: im³
Period: Day
11. Backfilling needs to start as soon as the schedule permits it, so [As Soon As Possible] is the correct Constraint.
12. Check that your Backfill activity is defined as follows:
Name: BackFill
Description: BackFill
Parent Filter: *WFM
Symbol: 201 (default)
Point Translation - Axis: Z
Point Translation - Offset: 1
Wireframes - Create: Enabled
Wireframes - Colour: 18
Reverse: disabled
Activity Type: Fixed Rate
Quantity: 610
Unit: bfm³
Period: Day
Constraint: As Soon As Possible
Exclude: disabled
13. Next, you need to define a field name that will receive the calculated volume results. This is done using the lower
table. Click the "+" button in the lower half of the screen.
14. Select [Backfill_Volume] from the Field Name drop-down list.
15. Select [*WFM] from the Assignment Filter drop-down list.
16. You want to report the in situ volume of backfill activities, so click inside the Expression field, then click the browse
button to display the Expression Builder panel:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 33 of 54
17. In the Expression field, enter "Insitu_Volume" (exactly as shown here, without quotes). This is a system property that
is available to all Studio UG projects. You'll know you've typed it correctly as the Status field will show the following
message:
Processing starts. The order of processing is always the same and reflected by the top-bottom order of progress bars.
Each data type is processed in order, then the model is interrogated according to the interrogate rules you set up in a
previous section (evaluation, depletion, then reevaluation in this scenario).
As your project doesn't contain complex solids or outline design strings, these steps are skipped.
Your volumes are displayed in the 3D window as they are created, and the model section is displayed as depletion is
performed:
FXS volumes:
Wireframe (stopes):
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 34 of 54
2. The process takes a few minutes to complete (geological interrogation is the lengthiest task).
The actual time taken is shown at the bottom of the Process output table in the Process: End Processing section e.g.:
3. The Process output table can provide 3 different levels of information; errors, warnings and messages. "Errors" will
always need to be reviewed and resolved before you continue, "Warnings" are highlights showing where elements of
your output are unusual but could still be subject to scheduling and "Messages" are status updates that indicate
successful processing.
In your case, there are 35 messages and no errors or warnings. This indicates that your design data was processed into
solids and activity segments/points without any problems.
Review the list of messages to better understand the steps Studio UG takes to process your tutorial design data.
4. Save your project:
The next step is to set up some inter-activity dependencies. This is covered in the next section.
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 35 of 54
By default, activities that have been generated along a design string, or within a segmented extruded solid, will already be
dependent on the previous/next activity in the direction of the underlying string.
In Studio UG, dependencies can be described interactively (by selecting predecessor and successor activities in the 3D
window) and/or by setting up rules that automatically form dependencies between activities if they fall within a given 'search
geometry'. These geometries are ellipsoids that you can (and will, below) define yourself.
For example, you may want to specify that all activities relating to access drives to levels from the main decline structure are
always constructed in the order of decline access - level access (completing the former before the latter begins). For example:
This can be done manually, but your decline has to access multiple levels and setting these end-start activity relationships
manually would take some time.
Thankfully, dependency rules let you apply the dependencies between activities of the same type, providing the successor
falls within a given distance of the predecessor at nominated points. To start with, all activities are set to the <Internal>
dependency layer. In this section, you'll change this so that all activities are defined using a series of logical rules that denote
what happens before what.
If no dependencies are defined for your project, each design item (as per its definition) will start simultaneously, meaning ore
development and stope excavation activities would start before the relevant access drives and shafts have been developed, for
example. The resulting schedule would be nonsensical. Dependencies order mining activities into a practical, realistic
schedule, based on genuine operational constraints.
• define a dependency rule set that will connect level access, decline access and ventilation development automatically
• load the remaining rules (governing dependencies between decline, ore drive and stoping/backfilling activities) into
your project from XML
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 36 of 54
• fix the introduced issue using the Dependency Loop detection function.
Dependencies can be defined spatially (meaning their proximity will determine if they are co-dependent) or based on the
values of given attributes (e.g. all stopes will be dependent on each other according to their STOPEID value, in ascending
order). For this scenario, you will use spatial rules to define your dependencies.
Studio UG considers activity dependencies to be non-negotiable; they must be honoured in order to provide a schedule. If
such dependencies prohibit the generation of a schedule, warning and error information will appear in the generated report.
This section may take a bit longer than the others to complete: it can be completed in approximately 30 minutes.
Prerequisites
• You have completed the previous section (Process Solids).
• Some familiarity with the Sheets control bar's overlay display settings is assumed.
Different layers can be created for different categories of dependencies in order to make it easier to identify specific types of
links during the sequencing and scheduling process. The layer information will also be transferred to the EPS schedule file
where it can be used to create additional filters
This is particularly useful if you wish to create, and then apply, different dependency default settings without having to create
projects or minor projects. Say, for example, you wanted to create a specific set of dependencies when progressing your
underground development from one stope to another, which may differ from the dependencies implicit with the task to
progress drive development away from a decline. Layers can be used to independently define a distinct category of
dependencies.
Layers can be independently activated/deactivated, hidden/shown, and colored. Each can also be configured to include a
custom relationship between predecessor and successor activities (start-finish, finish-finish, etc.). Activity delays can also be
set independently for each layer.
All dependencies are assigned to a default layer. You're going retain this layer, but set up two additional layers; one for
development and one for stoping. When you define some rules (in the next exercise), you assign the generated
dependencies to one of these layers. For this project, layers will assist with visual formatting only, although they could
just as easily define the scheduling constraint and, if required, any delay/lag between activities of each layer.
4. Click the "+" icon in the top right corner to add a new row to the Dependency Layers table:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 37 of 54
5. Edit the Name of the layer to "Development" and change the Colour to [54] (light pink).
6. The Default Type (meaning: the default scheduling constraint for dependencies assigned to the layer) is fine: you want
predecessor activities to be completed before the successor activity begins.
7. There will be no lag between your activities, so the Default Lag columns can be left as they are.
8. Note the Count values: currently, your project has no dependencies, so the [Default Layer] and [Development] items
read zero. When you generate activities (using rules) later, these numbers will change.
9. Create another layer called "Stopes" and set the colour to [57]. This will be used to contain stoping dependencies.
In each case, the scope of data that analyzed for automatic dependency assignment will be governed by a predefined filter.
These already exist in your project (you used some of them to define your activity naming conventions in a previous section
and imported others that weren't used - until now).
Each "rule" can contain one or more instructions. For your project, there will be four 'rules' covering decline, level, ore drive
and stoping activities, each containing multiple instructions.
2. The Edit Dependency Rules table is displayed. You are going to use the Spatial Based Rules tab as all of your rules are
dependent on an activity's proximity to another in 3D space (meaning activities that are sufficiently close together and
pass the defined filters will become dependent).
3. Consider the following logic:
◦ You want your decline access drives to complete before you start the level access drives.
◦ A level access drive must be complete before any services cubby can be constructed on it.
◦ A level access drive must be complete before any sump development can start.
◦ A level access drive must be complete before it can be connected to an extended ventilation inbound and exhaust
shaft.
◦ Ventilation access drives must be completed before ventilation raises.
◦ A level access drive can't be started until the primary decline has reached sufficient depth.
◦ A ventilation access shaft cannot be extended until the higher shaft development is complete.
4. The logic above represents non-negotiable rules that must be honoured in order to determine your optimal schedule.
Defining a rule set for the above involves defining the predecessor and successor activities and how they relate to each
other in a spatial context.
Before you can define this logic as a rule set, you need to define its name; click the "+" button on the left of the screen.
5. Edit the "NewRuleSet" description to read "LEVEL" and leave the Use check box enabled (you can switch rule sets on
and off with this check box - useful for testing the impact of new rules).
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 38 of 54
6. The table on the right is automatically populated with a rule, using default values.
The first rule of the set governs the relationship between decline access structures and level access structures. It is
designed to ensure the level access can't start until the decline access is complete.
All design data that represents decline access development is represented by a filter that was imported in an earlier
section (DECL_ACC). Here's a reminder of the filter definition:
So, in essence, the filter is "any data where DESC is "DECL_ACC" will pass the filter. For reference, your project data
contains the following decline access items (highlighted as thicker yellow strings, below):
For your first rule, you are going to define dependencies between the above data and the level access data, represented
in your project by the following design data:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 39 of 54
This level access data passes an existing "LVL_ACC" filter (this was also imported in a previous section).
7. In the table on the right, change the From - Filter to select the [DECL_ACC] filter.
8. Group Position is important; it determines the actual point (within the group of activities associated with decline access
data) from which a search will be made for the successor activity (in this case, level access design data).
In a simple sense, activities A and B could be automatically linked by a start-end relationship providing they are within 5m of
each other in any direction e.g.:
In the following exercise, you will define a spherical search ellipsoid of 15m radius. This will be used to locate level access
activities within 20m of the end of each decline access string.
1. Before you can select a search geometry (ellipsoid), you have to define it. Click Edit Search Geometries:
2. In the Edit Search Geometries panel, click the "+" button on the left.
3. Edit the "New Search Geometry" Name to read "15m Sphere".
4. In the Dimensions section on the left, enter a Minimum value of "0" (zero) and a Maximum value of "15".
The Minimum value of zero indicates that the entire search sphere is active (i.e. any activity points that pass the
successor filter, and fall within the sphere, will be linked to the predecessor activity). Non-zero values let you specify a
'dead zone' within the search geometry, For your project, zero is fine.
5. The Y and Z fields are both set to Keep Same. This is the simplest way to create a spherical search volume (all
ellipsoid axes will be of equal length).
6. As a sphere, it isn't necessary to restrict the orientation of the search ellipse during the search. As such, your search
geometry for the current rule is complete.
7. Before you close the dialog, import the other geometries that your project will use by selecting Import in the top left of
the panel:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 40 of 54
8. Locate and open the file "SearchGeometries.xml" in your project folder's XML sub-folder.
9. This automatically defines the remaining geometries for your project. In total, there are 11 geometries that will be
referenced by your dependency rules:
Define these additional rules (hover over the Filter name to see the logic behind the rule):
From To Search
Dependency
Group Link Group Link Azimuth Dip Layer
Filter Filter Origin Geometry
Position Position Position Position Alignment Alignment
6.5m
LVL_ACC Any None SERVICES Start None From World World Development
Sphere
6.5m
LVL_ACC Any None SUMP Start None From World World Development
Sphere
6.5m
LVL_ACC Any None VENT_ACC Start None From World World Development
Sphere
15m
VENT_ACC End None VENT_RSE Start None From World World Development
Sphere
15m
DECLINE End None LVL_ACC Start None To World World Development
Sphere
6.5m
VENT_ACC Any None VENT_ACC Start None To World World Development
Sphere
The first two rules in the table are very similar; you could use the Copy function to create the next two rows, then
edit the To - Filter to save time.
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 41 of 54
1. In the Edit Dependency Rules dialog (Spatial Based Rules tab), click Import:
2. Locate and open the file "Dependencies.xml" in your project folder's XML sub-folder.
3. Three additional rule sets will appear. These represent the remaining dependency rules for your project.
4. Select each of the [FROM_DECLINE], [OREDRIVES] and [STOPES] rule sets to see the rules they contain.
5. Click OK in the Edit Dependency Rules panel to return to the Dependencies panel.
In a similar way to processing (described in the previous tutorial section), a dependencies report is displayed,
highlighting errors, warnings and messages. In your case, you should see only messages, with the final entry stating
"Processing Completed" (and the current date) e.g.:
4. Displaying all of your data will take a few seconds. Once displayed you will be able to see the dependency arrows that
have been formed by your rules, e.g.:
The pink arrow on the left results from one of the LEVEL dependency set rules and has been assigned to the
"Development" dependency layer (which is set to pink line formatting). The purple arrow on the left results from one
of the STOPES dependency set rules, which is assigned to the "Stopes" dependency layer.
In the next exercise, you'll introduce a manual dependency that also introduces a problem to be fixed.
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 42 of 54
1. When specifying manual dependencies, it is useful to set up custom 3D window formatting. This keeps the display area
as empty as possible, displaying only areas of interest.
Using the Sheets control bar, switch off the display of all wireframes and strings.
2. Also using the Sheets control bar, switch off the display of the DER_Points and WFM_Points points object default
overlays.
3. Double-click the FXS_Points points overlay and, using the Points Properties dialog - Symbols tab, set the following
properties:
◦ Type: 3D
◦ Scale: 3
◦ Color: select Legend, the [_Z_Coord] column and choose to use the default legend.
4. Click OK to update the view of the FXS activity points in the 3D window.
6. Each of the displayed points represents a distinct activity associated with a fixed cross sectional volume.
To introduce a forced error into your project, you're going to define two start-finish dependencies between two
different elements of your design. This will create a 'dependency loop' (e.g. activity A relies on activity B being
completed, but activity B relies on activity A being completed, and so on).
7. Use the View ribbon's Zoom East command to zoom in and display a clear view of the data:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 43 of 54
10. Use the Quick Filters control bar to display only data where DESIGNDF = DECLINE or DESIGNDF = LVL_ACC,
i.e.:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 44 of 54
11. In the Dependencies panel, in the Manual dependency editing section, use the drop down lists to select the
[Development] layer and a Finish-Start constraint with zero lag, i.e.:
12. Select Draw Discrete (this option is used for simple point-point dependency setting - the Draw Continuous option is
used to daisy-chain multiple activity dependencies).
13. Click two points as shown in the image below (the order is important):
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 45 of 54
The first point is at the start of the decline and the second is on one of the ventilation shafts.
14. Define a second dependency by clicking the following 2 points (you are already in dependency editing mode so simply
have to click two more points):
15. Using the Sheets control bar, enable the Development strings overlay. You can now see the prob;ematic dependency
you just created:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 46 of 54
16. Click Draw Discrete again to disable interactive dependency editing mode.
17. Click Save to update your database with the new dependency information.
18. Now, click the Dependency Loop Detector at the bottom of the panel:
This shows that a cyclic dependency has been found, which currently impacts 15 activities (the total number of
activities in the decline string between the manual dependency predecessor and successor nodes, plus the activity on
the decline access string to which they are linked).
20. Click the Loop Number cell of the table. This automatically filters out all non-relevant data and zooms the dependency
loop into view:
21. Time to put things right: click the Delete button in the Manual dependency editing section, then select both
dependency strings to delete them.
22. Re-run the Dependency Loop Detector. This time no dependency loops are reported.
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 47 of 54
23. Zoom out to see all of your automatically-generated dependencies and activity points:
24. Click Save to update your database, then close the Dependencies panel.
25. Unload your 3D window data (type 'ua' with your cursor in the 3D window. Click Yes at the prompt.
You're now ready to export your schedule information to EPS and view an animation of the schedule playback. This is
described in the next section.
Studio UG and Datamine's Enhanced Production Scheduler (EPS) are partner products; you can connect data in one product
with the other so that they function as a single, greatly-extended application.
This section requires version 3.0.147.0 of EPS to be installed on the local system (the same system running Studio UG). If
you don't have access to a suitable version of EPS, you can skip this section if you wish, but you should consider discussing
EPS with your local Datamine representative as it is an invaluable supporting tool for Studio UG as it provides a wide range
of tools to manipulate your generated schedule and account for all of your operational requirements.
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 48 of 54
As schedule data that is modified in EPS can be synchronized with Studio UG, this combination of products gives you the
power to generate production-ready mid- to long-term underground schedules.
In this section, you will transfer your current schedule information to EPS using a template file. This template is provided as
part of your tutorial data set and is used to automatically set up various schedule properties in your EPS project.
Once transferred, you are 'connected' to EPS. Exercises here will demonstrate how to make changes to your schedule in
Studio UG, then update the EPS schedule, then make other changes in EPS and bring them back into your Studio UG project.
Finally, you'll review an animation of your fine-tuned schedule in the 3D window before moving on to the next section.
Prerequisites
• You have completed the previous section (Create Dependencies).
• Enhanced Production Scheduler v3.0.147.0 or later is installed on the local system (and licensed). It should not be
running.
This can take a few seconds to display as an external EPS service is run (you'll see an EPS icon flash up in the
Windows task bar for a second then disappear again), then the template is reviewed and data is posted back to the
Studio UG panel.
This panel is used to compare your schedule data with the information currently stored in the selected EPS template
file (.ewst). It is useful as it highlights areas where, say, a match cannot be found between a Studio UG schedule
attribute and a corresponding entry in the EPS template.
In your case, there's a problem with the DESIGNDF attribute: in Studio UG it is defined as a Code Field (and can't be
changed but the specified EPS template is expected an text field:
6. To remedy this, you'll need to use EPS to change the template so that references DESIGNDF as a code field:
a. Close the Template Report window.
b. Leave Studio UG running but access your Windows project folder.
c. Double-click the EPS template file Benching_EPSTemplate.ewst to launch EPS.
d. In EPS, select the leftmost tab button:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 49 of 54
e. Select Project Settings | Text Fields to display the Project Settings dialog. The Text Fields tab is shown by
default.
f. On the right, you'll see a list of all Text Fields contained in the tutorial EPS template. DESIGNDF is among
them:
1. In the Transfer Data to EPS panel, Animate a schedule group, click Load Schedule.
2. EPS is launched (it takes a few seconds to get started). If required, use the Windows Task Bar to display it (it may be
hidden behind Studio UG, for example). Position EPS and Studio UG alongside each other. Ideally, this would be
spread over two monitors, e.g.:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 50 of 54
3. In EPS, select the Gannt chart view by selecting the leftmost display selector:
4. This displays the EPS Gannt chart view of your schedule data.
This tutorial doesn't go into much detail about EPS functionality (there's a separate EPS Help resource for that) but as a
brief summary: the Gannt chart view dedicates the majority of screen space (by default) to listing activities on the left
and the corresponding schedule bars on the right. Each row in the table represents a distance activity, generated by
Studio UG during processing and dependency setting.
Move the scroll bar in the right panel (showing data columns) to the far left to see a collection of short schedule bars:
5. Use the vertical Gannt chart scroll bar to quickly review the position of schedule bars as you progress down the project
(and forward in time). The final batch of activities can be seen in the latter column. These represent the final activities
for the current schedule (they actually represent stoping and derived backfilling activities in the western region of the
mine.
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 51 of 54
6. Each activity is described (by default) using a collection of parameters to indicate the activity ID (unique), the Name
(as provided by your Studio UG Naming Convention), the DESIGN DF (the design definition for the structure that
relates to the activity), its Description and mining rate and duration, the activity Start and Finish date/time and a host of
other properties, including the activity predecessor (if one exists) and other exported properties such as in situ volume,
mined mass, mined volume etc:
In the next exercise, you will review an animation of the current schedule.
In the following exercise, your schedule information (as currently synchronized between Studio UG and EPS) will be
reviewed using a 3D window animation.
1. Your Studio UG application will now include an EPS Sequence control bar (at the bottom of the 3D window):
2. On the right of the control bar, you can see the date range of the activities currently displayed in the 3D window.
3. At the moment, no data is loaded, so the 3D window is empty. In Studio UG, you can animate any combination of your
solids, activity points and/or dependency strings.
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 52 of 54
These volumes represent the initial decline ramp and two ventilation shafts (inbound and exhaust).
8. Click Play in the EPS Sequence control bar to start the animation - this represents how your schedule volumes will be
progressed through the life of mine:
1. Make sure the EPS Sequence control bar slider is at the far right, and all solids are displayed:
2. Using the Quick Filter control bar, display only the following data:
◦ Column: DESIGNDF
◦ Value: DECL_ACC
3. Using the View ribbon, select View | Zoom East.
4. You should be looking at a view similar to this:
5. Using the EPS ribbon, enable the Select toggle to activate activity selection mode.
6. Using the left mouse button, drag a selection rectangle around all of the displayed decline access structures.
7. Have a look at the EPS Gannt Chart view - you'll see that all of the selected Studio UG activities are also selected in
EPS, e.g.:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 53 of 54
8. Remove the Quick Filter selection and Zoom Plan to display all of your volume data as before. Make sure the EPS
Sequence control bar slider is on the far right:
9. In EPS, expand the Task Filters group in the Sort, Filter, Group section.
10. Select [DESC DECLINE]:
11. The view of data in Studio UG is filtered to match the filtered recordset in EPS:
12. Select the first segment of the decline in Studio UG. As select mode is still active, this will highlight the uppermost
record in EPS:
13. The selected EPS activity starts at midnight on 16/11/18 and finishes at 15:40 on 19/11/18 (a duration of 3.7 days).
This is based on a 12m segment length and default rate of 100 meters a month. This was set up when you prepared
your DECLINE design definition in an earlier section:
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020
Studio_UG_Tutorial_Introduction Page 54 of 54
In EPS, edit the Rate for the initial DECLINE activity so that it is "1.00m/mo".
14. Decreasing the rate this severely causes the schedule bar to increase in length on the right, effectively pushing the
whole schedule almost a year into the future:
15. In EPS, click Clear Filter (Bookmarks group, Home ribbon) to remove all filters.
The Studio UG display is also updated to display all volumes (make sure the EPS Sequence control bar slider is on the
far right).
16. In Studio UG, click Load Schedule to synchronize your UG data with the information held in EPS.
17. Make a note of the EPS Sequence control bar date range (on the right of the slider).
18. Back in EPS, change the rate for the modified DECLINE activity back to "100m/mo".
19. In Studio UG, click Load Schedule again.
20. Make sure the EPS Sequence control bar slider is on the far right and review the date range. This time the schedule is a
year shorter than before due to the increase in rate for the decline activity (which equates to a time time-saving of
approximately 353 days).
This is a simple example of how you can export your schedule to EPS, then use EPS as a 'connected product' to fine-
tune your schedule and re-synchronize it with your Studio UG project. Coupled with a 3D animation facility in Studio
UG, this product partnership makes it really easy to assess the impact of scheduling decisions on the mid- to long-term
plan.
If you would like more information on Studio UG, you can refer to your Help file or Datamine's support portal.
To arrange for more in-depth training and see how Studio UG can be applied to your organizations specific operational
requirements, please contact your local Datamine representative.
file:///C:/Users/kcizik/AppData/Local/Temp/~hh8A6A.htm 1.04.2020