Interrogate Block Model

On the Triangulation tab, in the Utility group: Click Interrogate Block Model to interrogate a block model with a set of triangulations. (Ctrl+I,B)

Interrogate Block Model allow you to generate quality values from one or more Block Models and populate the attribute values of the design elements you have selected. A pre-requisite is that the quality fields you want to interrogate (Gold Grade and Density, for example) have already been mapped to those attributes on the Interrogation tab of the Block Model Properties.

Input Data

Select the Source of the data that will be used as input to the function:

Selection Design elements you have interactively selected in the Design Window.
Visible Design elements that are visible in the loaded layer. Elements that have been specifically hidden are excluded. This a quick way of selecting all visible elements in a layer without having to explicitly select them.
Layer One or more layers that you select. Names of layers currently loaded in the Design Window are shown in bold.

 

For large datasets, for performance reasons you may prefer to select a layer rather than load that layer and select all of the elements in the layer.

Selecting a non-applicable layer will have no effect. In most cases, an error icon will indicate that the chosen input layer is not valid. Hover over the icon to view a validation hint.

Settings

Block Models

Use the drop-down to select the Block Model to Interrogate.

Clear Mapped Attributes

Select this check box to clear the values (if any) of the Input attributes mapped on the Interrogation tab of the Block Model Properties.

Apply

Click Apply to populate mapped attributes with the values in their corresponding block model fields.

Note that no folders or attributes are created when running the Interrogation action. Any folders and attributes must already exist and those attributes must be appropriately mapped to the fields of the block model. The procedures for doing so are described below.

1. Defining Block Model Fields and Aggregation

In the screenshot below, notice that some block fields have aggregation set:

In the context of Block Model Interrogation, if a triangulation only has a single block intersecting it, then aggregation is irrelevant and the fractional block value will be written to the respective attribute of the triangulation. If a triangulation has multiple intersecting blocks, then the aggregation of those intersecting blocks is written to the respective attribute.

This is important because if a field has an aggregation of ‘None’, then nothing will be written to the respective attribute because no aggregation has been/can be defined.

Always ensure that block fields have reasonable aggregations.

Secondly, notice the Density field in the Properties group. This field is important because it informs the value of the < Tonnes > field in the Fields group. Tonnes is an intrinsic field which is calculated with the following formula (Tonnes = Volume * Density). Without a Density field set, the tonnes will always be the default value.

Always ensure that the Density field is set if relying on values from the < Tonnes > field.

2. Defining the Interrogation Attribute Mappings

In the screenshot below, notice that there are 10 attribute mappings, 5 fields are repeated and separated in High Grade and Low Grade groups. The Filter Condition is then used to only write to the respective attribute when the GradeBin Block Field is the correct category: HG – High Grade, LG – Low Grade. This is the main use case for Filter Conditions.

Always ensure that every enabled attribute mapping has a valid Attribute, a valid Field, and a valid Filter Condition (if Use Condition is checked). Any attribute mappings that are not set up correctly will either not be executed in the interrogation or prevent the interrogation entirely.

Note the order of attribute mappings is only ever important if two attribute mappings are writing to the same attribute. In this case there could be overwriting happening and the attribute will have the value of the last attribute mapping in the grid (assuming no grid column sorting, or filter conditions are involved).

3. Check the results

In the screenshots below, note that the attribute values for the two selected triangulations have been populated from the blocks in the block model.

Notice that one triangulation has only High Grade blocks and another has Low Grade blocks. This is just by coincidence, but a single triangulation could have both High Grade and Low Grade blocks. The attribute structure could also be set up differently to reduce repetition, but this is up to the user to decide.

4. Trouble Shooting Block Model Interrogation

There are various settings that need to be set up correctly for block model interrogation to produce results. Some of these were noted earlier, but are listed below for convenience:

  1. Fields are set up correctly.

    1. Field Aggregations. If a triangulation has multiple intersecting blocks, then the aggregation of those intersecting blocks is written to the respective attribute. This is important because if a field has an aggregation of ‘None’, then nothing will be written to the respective attribute because no aggregation has been/can be defined. *Always ensure that block fields have reasonable aggregations.

    2. The Density Field in the Properties group. This field is important because it informs the value of the < Tonnes > field in the Fields group. Tonnes is an intrinsic field which is calculated with the following formula (Tonnes = Volume * Density). Without a density field set, the tonnes will always be the default value. *Always ensure that the density field is set if relying on values from the < Tonnes > field.

  1. Attribute Mappings are set up correctly.

    1. Attribute Mappings all have values. Always ensure that every enabled attribute mapping has a valid, Attribute, Field, and Filter Condition if Use Condition is checked. Any attribute mapping that are not set up correctly will either not be executed in interrogation or prevent interrogation entirely.

    2. Attribute Mapping order. Note the order of attribute mappings is only ever important if two attribute mappings are writing to the same attribute. In this case there could be over writing happening and the attribute will have the value of the last attribute mapping in the grid (assuming no grid column sorting, or filter conditions are involved).

  1. Interrogation on valid triangulations.

    Triangulations selected for interrogation must be valid and have consistent anticlockwise triangle winding. This is because the algorithm used for calculating volume intersections of blocks and a triangle mesh assumes triangle meshes have anticlockwise winding. If you find that interrogation is producing zero volume as a result, then the triangulation might not be valid or has inconsistent winding. One way to check if a triangulation is fit for interrogation is to run the Verify Triangulation Action on the triangulations in question.

    The above screenshot shows two triangulations which have been verified.

    Notice the Verify Attribute Folder with the Valid and Inconsistency check boxes. If a triangulation has Valid = false or Inconsistency = true, then it might not be fit for interrogation.

    How to fix unfit triangulations?

    One way to fix unfit triangulations is to run the Repair Solids Action. With the default settings, this action will attempt to heal the triangulations so that they are Valid and Consistent. After repairing, run interrogation again to see if the solids in question now receive volumes from the block model.