Define a Stope Naming Convention

The Stope Naming table is found on the Report screen and allows you to build a custom naming convention for each stope, combining text, numbers, fields, and calculated values.

The name is saved into the final stope output files and is crucial for tracking, downstream processing, and reporting in production planning systems. Each row in the grid represents one component of the name string.

These components are concatenated in order, forming the final stope name. The fields in each row let you control the content, formatting, and alignment of that component.

Naming Constraints

MSO accepts a wide variety of characters:

  • Alphanumeric characters: A–Z, a–z, 0–9

  • Common symbols: _, -, ., /, #, $, %, &, +, =

  • Mathematical or spacing symbols: *, ~, (, ), @

  • Currency and other marks: £, €, ¥ (depending on system encoding)

  • Quotes: " and ' can be used, though some systems may escape them when writing to flat files

Avoid using \ or control characters like tab, newline, or | in stope names — these can interfere with parsing or exporting results.

Position Counter

The Position Counter is used to automatically generate a component of the stope name based on its spatial location along a specific axis (U, V, or W). This is especially helpful when you want stope names to reflect their ordering within the design framework.

It creates either alphabetical or numerical progressions depending on the selected type. You can control the direction, step size, and starting point of the progression, making this a highly flexible naming method for sequence-based identification.

This method is particularly useful in projects with systematic stope sequencing, such as panel-based mining layouts or where physical sorting by spatial direction is required.

Expression List

The Expression List type in Stope Naming allows you to define one or more logical expressions that evaluate to a true/false result for each stope. When the condition is true, the associated value is written into the stope name using the column defined for Expression List.

These expressions can combine:

  • Relational operators: =, !=, >, <, >=, <=

  • Logical operators: AND, OR, NOT

  • Parentheses: For grouping conditions

  • Model Fields: e.g., AU, DENSITY, REGION

  • Engine Fields: e.g., QUAD, STOPENUM, VOLUME, XSTOPE, RESULT

  • Pattern Matching: via MATCHES, MATCHES REGEXP (regular expressions)

For example, you could use a grade field to define a legend:

Expression Assigned Value
AU > 10.0

"HG"

AU >= 5.0 "MG"
AU >= 2.5 "LG"
AU < 2.5 "WST"

Activity steps

  1. Create an MSO scenario and define a block model.

  2. Configure other settings as required.

  3. Display the Report screen.

  4. Expand the Stope Naming control group.

  5. Use the Stope Naming table to define the components of the stope name:

    • Type – Defines the source of the value for this part of the name. In any case, click + to expand to specify further details for the selected type.

      You can choose from:

      • Reporting Field – Get the component value from model attribute fields.

        Click + to enter the Field Name (in the block model) and the Field Default to use where data values don't exist in the model.

      • Computed Value – Calculated from other fields (for example, tonnage or revenue). MSO will extract the correct numeric value (average, min, max, etc.) for each stope, based on its 3D position or characteristics.

        Note: Computed values are derived from MSO’s internal stope geometry calculations. These values are not block model attributes, but are instead computed during processing and vary per stope.

        Click + to enter the Computed Value type. This can be the Stope Type or Stope Orientation Plane, or the average, minimum or maximum coordinate values in either world or local framework space.

      • Fixed String – Static custom text. This text remains unchanged across all stopes. It’s not calculated or pulled from data. Think of it like a hard-coded stamp in your naming pattern.

        Click + to enter anything into the Fixed String field.

      • Position Counter – Running index based on location. This can either be an incremented or decremented number or letter, based on the position of the stope along the U,V or W axis.

        Click + to select:

        • A Type – Choose either a Letter Count or Number Count index.

        • Set the spatial Axis (U, V, W) along which the position counter will progress.

        • Define the Progression of numbers or letters it to Start at Minimum (from the Start index, increasing) or Back at Maximum (from the maximum order value, decreasing.

        • Choose the Letter Count or Number Count Start value (and the Step value in each case.

          Note: When selecting Start (the initial letter to use), multi-letter combinations are supported if the sequence exceeds the alphabet.

      • Expression List – Advanced conditional logic based on a logical expression.

        Click + to select:

        • An Expression – Click the ellipsis to generate a logical expression using the Expression Builder popup. This expression is, in essence a filter that provides 'passing values'.

        • Value When True – Enter the name component to set when the expression passes for the output data.

    • Define the name component Length. This is the maximum number of characters this segment can use. Critical for name truncation or padding. Helps maintain a consistent overall name length

      Note: A stope name cannot exceed 80 characters.

    • For numeric values, specifies how many Decimal Places to display after the decimal point. Set to 0 for whole numbers or if not applicable.

    • Determines if the content aligns to the left or right of its allocated space using Justification. Helps structure the name neatly when segments vary in length.

    • Choose a Pad Character. This is used if the segment is shorter than the assigned length, this character is used to fill the remaining space. Common ones include:

      • 0 – pad with zeros (for example, 001).

      • _ – pad with underscores.

      • - – pad with hyphens.

      • Use None if no padding is needed.

  6. Save your settings.

Stope Naming Examples

Reporting Field Example

Consider the following settings:

  • Type: Reporting Field

    • Field Name: STOPENUM

    • Field Default: 10000

  • Length: 10

  • Justification: Left

  • Decimal Places: 0

  • Pad Character: 0

A stope with STOPENUM = "456" would be formatted as: 0000000456

If STOPENUM were missing in the model, it would use the default value 10000 and output: 0000010000.

Computed Value Example

Suppose you want to name stopes based on their height:

  • Add a Computed Value of Z World Max.

  • Limit it to 3 digits Length (for example, 450 becomes “450”)

  • Add a new Fixed String entry to the table and create aseparator “_”.

  • Add another Position Counter (Number Count) table entry.

You’d get something like: “STP450_001”, “STP452_002”, etc.

Position Counter Example

You're using the U axis, want to start naming at the lowest U value, and label each stope with letters moving forward. You configure:

  • Type: Letter Count

  • Axis: U

  • Progression: Start at Minimum

  • Start: A

  • Step: Forward

Resulting names: A, B, C, D, E, …

Related topics and activities