Dependencies: When and Where?

With a growing number of Dependency types available in the application, and with plenty of functionality overlap between them, it can be difficult to determine which Dependency works best for a certain task.

To start with, think about the type of interaction you are expecting and turn it into a sentence. If your sentence includes the word "time" or "per", for example "only one excavator per strip" or "any time I am blasting", what you need is a constraint. See: Constraints

Process Order

When to use: When you want a dependency between Tasks in a single Leaf. For example "Blast waits on Drill".

When NOT to use: When the dependency is between Tasks in different Leaves.

Sequence

When to use: The enforcement of purely vertical rules. Dig Top Down, Dump Bottom Up. Can also be used for purely horizontal rules such as Dig/Dump Direction enforcement.

When NOT to use: Staggers (there's normally an easier way), small specific dependencies or any other dependency based on centroid/solid properties.

Offset

When to use: Staggers in an environment that has roughly regular solid sizes.

When NOT to use: Staggers in an environment with varying sized solids.

Cone

When to use: Angle of repose/highwall angle enforcement.

When NOT to use: When enforcement is unnecessary and just a precaution, can have a performance effect in larger models.

Range

When to use: When you have a specific pattern of dependencies that can't be addressed in or a small section that waits on another small section

When NOT to use: When any other Dependency makes more sense. A common beginners mistake is using Wildcard (*) characters.