Destination Scheduling #2: Destination Paths

Click to Print


In the previous section, we looked at the basics of how Spry uses Destination Paths in general. This section addresses the actual writing of a Destination Path itself.

If you’re familiar with writing a Source Path, writing Destination Paths should be quite simple. Not only are there not any new concepts, there are less options available! If you’re not familiar with writing a Source Path, the recommendation is to read the Conceptual section there first, and then come back here for the practical.

The next section will address Priorities for Destination Paths and some simple examples on how you can use them to simplify workflow.


Destination paths are both case and white space insensitive and the path can be built up over multiple lines with each line adding more steps to the path.

This section will build a simple example Path that uses the full variety of options available to you.

The Basics

The simplest Destination Path possible is a single wildcard asterisk (‘*’) character which tells equipment to work logically lowest index to highest (refer to your Destination table Setup Levels) and all sub levels are completed before moving to the next index.

Example Path Line: *


Paths are built up in a similar structure as ranges with each level of the table separated by slashes (either ‘/’ or ‘\’). For each level, a subset of positions for that level can be generated. These can either be a range of positions between two ends (e.g. ’1-5′), individual positions (e.g. ’1,2,3,4,5′) or a combination of both (’1-2,3,4-5′). To select every position for a level, the asterisk (‘*’) character can be used as a wildcard (or ‘-*’ to include all positions in reverse order). If any level is omitted, it is assumed that all positions of lower levels are included (e.g. ‘A’ is equivalent to ‘A\*\*\*’, although ‘A\’ would create no steps as nothing has been specified for the second level).

Example Path Line: Your Mine\Stage 1\*\1-5,7\*\*


Order: “Node Order”

The order defines the order the schedule loops through the levels to generate the individual tasks the equipment should follow. Changing the order can have a significant impact to the path of the equipment. In the examples below, case 1 would ensure that elevation 200 is completed filled for all blocks in strips 15 and 16 before moving on to the next elevation. In case 2, strip 15 would be completely filled from elevation 200-260 before starting strip 16. The only difference between the two examples is a slight change in the order that the levels are specified in.

Node order must have the same names as defined in levels on the table it is defined in and is \ separated. Not all levels have to be used, but no level can be used more than once. This will override the default order set in your Destination Table Fields

Example Path Lines:
Order: Mine\Pit\Strip\Stage\Sub Block\Sub Strip\Bench


Percentage ‘( )’:

Allows for only a portion of a task to be scheduled (e.g. ‘A\15 (50%)’ or ‘A\15 (0.5)’).

Example Path Lines:
Order: Mine\Pit\Strip\Stage\Sub Block\Sub Strip\Bench
*\1-5,7\*\* (50%)


Path Arrays

Introduced in Spry, path arrays allow for multiple lines to be combined into a single line paths. The arrays are specified between {} characters with semi-colons (;) delimiting entries. For example:

A\{1-3;2,4;1}\2-5\{300;280;260}-{290;270;250} [0.9x] ; B\{1-3;2,4;1;5}\2-5\{300;290;280;270} ; C\1\1\408

gets expanded to:

A\1-3\2-5\300-290 [0.9x]
A\2,4\2-5\280-270 [0.9x]
A\1\2-5\260-250 [0.9x]

The number of items in each array for a path must be the identical. Hovering the mouse over an arrayed line shows the expanded version of it.