Aller au contenu

Block Model Operations

The Operation menu of a block model groups the tools used to transform an existing model: build surfaces and envelopes, populate or correct variables, add blocks, and export derived results.

All operations act on the currently selected block model. Most of them open a dialog where you choose the target variables, the envelopes involved, and the options to apply. Operations modify the model in place, so it is good practice to validate the result (statistics, sections, 3D view) after each run.

Available Operations

Generate Isosurface…

Builds a closed envelope following the limit where a variable crosses a cutoff value. Typical uses are grade shells, mineralised envelopes, or any threshold-based boundary derived from the model.

Parameters:

  • Field: the variable used to build the surface. Estimated and imported variables are available, plus density, classification and type. Calculated and simulated variables cannot be used.
  • CutOff: the threshold value defining the surface.
  • Over CutOff: when enabled the surface encloses the blocks above the cutoff; when disabled it encloses the blocks below it.
  • Clean Minimal Domains: discards the small isolated bodies produced by the surface generation.
  • Minimal Domain Size: expressed in number of blocks, only the domains containing at least this many blocks are kept. Available when Clean Minimal Domains is enabled.

The resulting envelope is added to the envelopes set, named after the source block model.

Generate Face Envelope

Creates a closed envelope wrapping the outer faces of the block model. No parameter is requested: the operation runs on every selected model and adds one envelope per model, named after it. Use it to obtain the shell of the modelled volume, for display, for volume checks, or as an input envelope for other operations.

Generate Percent from Envelope…

Computes, for each block, the fraction of its volume located inside a selected envelope and stores it in a percent (fraction) variable. Partial-percent fields are required for accurate volume and tonnage reporting on blocks cut by a boundary (topography, mineralisation, geological domain).

Parameters:

  • Envelope: one or several envelopes to process. Each envelope is processed in turn and writes its result in the selected variable.
  • Variable: the field receiving the computed fraction. Only non-calculated, non-simulated fields (and existing fraction fields) are proposed.
  • Use Fast Algorithm: uses the optimised computation. Disable it to control the piercing direction manually.
  • Piercing Direction (YZ, XY, XZ): the plane along which needles are sent through the blocks to measure the inside proportion. Choosing a direction perpendicular to the envelope gives the best accuracy. For surfaces the piercing is always done in XY. Available when the fast algorithm is disabled.
  • Precision (Normal, High): the number of piercings used per block, 25 for Normal and 100 for High. Higher precision gives smoother fractions but takes significantly longer.
  • Search (Low, Medium, High, Very High): extends the search around each block so that blocks only slightly intersecting the envelope are still computed. This is slow and only needed when the blocks are much larger than the envelope. Not available for surfaces.

Tag by Envelope…

Assigns a value (a tag) to selected variables for the blocks belonging to one or more envelopes. Tagged blocks can then be filtered, reported, or estimated separately by domain. When several envelopes are selected, they are processed according to their priority order, so an envelope with a higher priority overrides the tags already written by the previous ones.

Parameters:

  • Envelope: one or several envelopes used to select the blocks to tag.
  • Tag value source: choose one of
    • Use Envelope Name as Tag Value: writes the envelope name.
    • Use Envelope Tag as Tag Value: writes the tag defined on the envelope. Unless the target is the Type variable, this tag must be numeric.
    • Use Specific Tag Value: writes the value entered in Tag Value.
  • Variables: the fields to update. Type, estimable fields, predefined fields, fixed density and classification fields can be selected. Selecting fields other than Type requires a specific or envelope tag value.
  • Use Envelope Fraction / Min fraction value: computes the fraction of the block inside the envelope on the fly and only tags the block when that fraction reaches the minimum (between 0 and 1).
  • Use Block Fraction / Fraction / Min fraction value: uses an existing fraction field of the model instead, and only tags the blocks whose fraction reaches the minimum.
  • Add Precision (Slow): increases the number of piercings used for the fraction computation. More precise but much slower. Available when one of the fraction constraints is used.
  • Cross Direction (XY, XZ, YZ): the piercing direction used for the fraction computation. A direction perpendicular to the envelope gives the most precise block fraction.

Set Variable Value…

Assigns or updates the value of one or several variables for the blocks of the selected models. It is used to initialise a field, flag blocks, or correct a limited area of the model. The operation can run on several block models at once; in that case only the variables common to all of them are offered.

Parameters:

  • Mode: choose one of
    • Normal: the value can be a constant or a formula. Block position keywords (ix, iy, iz, x, y, z) are available in the expressions.
    • Use SQL: the value and the constraint are written in SQL form (the constraint behaves as a Where clause).
    • Use Value from another block model: takes the value from a second block model and applies it to the matching blocks.
  • Value: the value, formula or SQL expression to write. Not used in the another block model mode.
  • Constraint: optional boolean expression evaluated per block; the value is written only when it is true. Not used in the another block model mode.
  • Variable: check every field to update. Removable fields, fraction fields, density, classification fields and type are available.
  • Block Model (Value from another Bm): the source model providing the values.
  • Field (Value from another Bm): the source field. Leave it empty to use the same field name in both models.

Add Blocks from Block Model…

Completes the current model with blocks coming from one or several other block models that share the same grid definition. It is used to merge adjacent or complementary models. The operation modifies the current model, so a confirmation is requested when several source models are selected.

Parameters:

  • Block Model: the source models to add. The selection order defines the priority: the models are processed in that order, so the last one processed wins on shared blocks.
  • Mode:
    • Replace And Append: adds the missing blocks and overwrites the values of the blocks already present.
    • Append Only: adds only the blocks that do not exist in the current model, leaving the existing ones untouched.
    • Replace Only: updates only the blocks already present, without adding new ones.
  • Variable: the fields transferred from the source models. All non-calculated fields are selected by default.

Generate Variable Ellipsoid…

Populates the orientation fields used by variable-anisotropy estimation, so the search and variogram ellipsoid follows the local structural trends instead of a single global orientation.

Parameters (choose one generation method):

  • By Geoline: takes the azimuth and dip from the direction of the selected geolines. Geolines carrying the Spin tag are used to define the spin, which is optional; all the others define azimuth and dip. A geoline selection dialog opens after validation.
  • By Block Model: generates the angles automatically from the topology of the selected block model.
  • All Angles By Continuity: computes azimuth, dip and spin from the best local continuity.
  • Azimuth2 By Continuity: computes only a second azimuth angle from the best continuity.

Set Variable Z Surface Coord…

Writes into a block variable the Z elevation taken from a surface, at the position of each block. The resulting variable is used for depth calculations, distance-to-surface checks, or constraints relative to topography or a geological horizon.

Parameters:

  • Variable: the field receiving the Z value. Only removable (user) fields are proposed.
  • Surface: the surface the elevation is read from. A surface must be selected.

Generate 2D Map…

Flattens the block model along an envelope to produce a 2D composites set containing, for each cell of a regular grid, the thickness of the crossing and the average values of the model variables. It is the recommended way to review lateral trends (grade, thickness, accumulation) and to produce plan or long-section maps of a tabular deposit.

How it works: the envelope is first rotated onto its best-fit section, so the direction crossing the envelope becomes the depth direction. The resulting box is gridded with the requested cell sizes, and for each cell the envelope is pierced to find the entry/exit segments. Every block located inside those segments contributes to the composite of that cell.

  • Thickness is the sum of the lengths of the piercing segments of the cell (the true geometric crossing of the envelope).
  • ThicknessFromBm is derived from the blocks actually found inside those segments (their volume, weighted by the fraction field when one is used). Comparing both values helps detect areas where the model does not fill the envelope.
  • Average values are computed for every non-fraction numeric variable. Without a fraction variable this is a simple average over the blocks found; with one it becomes an average weighted by that fraction, so partially filled blocks count proportionally.

Parameters:

  • X Gridded Distance / Y Gridded Distance: the cell sizes of the 2D grid, expressed in the best-fit referential. They default to the smallest block dimension of the first selected model. Larger cells produce smoother, faster maps; smaller cells keep more detail.
  • Envelopes: the envelopes used to define the best-fit section and the thickness. With a single block model selected, every selected envelope is processed against it. With several block models selected, there must be as many envelopes as models; they are matched automatically by tag, and a manual matching dialog is shown when the tags do not give a complete match.
  • Fraction Variable: optional percent field. When set, averages are weighted by that fraction instead of being simple averages, and the fraction is also used as the mass weight for thickness and positioning.
  • Composite Position: where the generated composite is placed along the crossing direction (the X and Z of the composite are always the cell center).
    • First Hit: the entry point of the first crossing segment.
    • Real Center: the geometric middle of the crossing, that is (minimum + maximum) / 2.
    • Mass Center: the centre of mass of the blocks found, weighted by block volume and fraction.
    • Thickness Center: the centre of the crossing segments, each segment weighted by its own length. It ignores the blocks entirely.
  • Composites Set Name: name of the generated composites set. All the selected block models and envelopes are written into this single set, whose schema is the union of the schemas of the models involved. Leave empty to use a default name.

Manage Multiple Percent…

Consolidates the percent (fraction) fields when several envelopes coexist in the same model. It builds a new field containing the sum of the selected percents, capped at 1, so volumes remain consistent, and can optionally re-tag the blocks. A report is displayed at the end. At least two percent fields must be selected.

Parameters:

  • Percent Fields: the fraction fields included in the total.
  • Remove Unused Percent Fields: deletes the selected percent fields once the total has been computed.
  • Update Tag to highest percent: assigns to each block the tag of the envelope holding the largest fraction in that block.
  • Tag for each percent: the tag value associated with each selected percent field. It is pre-filled with the tag of the matching envelope and can be edited. Available when Update Tag is enabled.

Remove Blocks Near Envelope…

Finds the blocks located within a given distance of an envelope and either deletes them or flags them. Use it to clean thin or unreliable blocks along a contact before estimation or reporting. A report of the affected blocks is displayed at the end.

Parameters:

  • Envelope: the envelope(s) used as reference boundary.
  • Block Model: the models processed, pre-filled with the current selection.
  • Distance: the search distance around the envelope. Every block closer than this distance is affected.
  • Option:
    • Remove Blocks: deletes the blocks found.
    • Tag Blocks: keeps them and writes a value instead.
  • Tag Field: the variable receiving the value when Tag Blocks is selected. Only modifiable, non-calculated fields are proposed.
  • Tag Value: the value written in the tag field.
  • Run envelope-based operations (percent, tags) before estimation so domains and partial volumes are available to the estimation run.
  • Check the generated variables in the model schema and review their statistics before using them in reports.
  • Keep a copy or a version of the model before applying operations that delete or overwrite data.