Generate IsoSurfaces Dialog

Using the Generate IsoSurfaces dialog

Generate IsoSurfaces Dialog

To access this dialog use one of the following methods:

  • Activate the Model ribbon and select Data from Model | Isosurfaces

  • In the Command Line, run the create-isosurfaces command.

  • In a 3D window, use the quick key 'iso'.

  • Activate the Surfaces ribbon and select Create | Isosurfaces

The Generate IsoSurfaces dialog is used to generate isosurface wireframes from a block model.

note.gif (1017 bytes)

A block model must be loaded to use this command.

 

Field Details:

Output:

Current Object: select this option to use the current wireframe object (append the new surface(s) data to the current object's data).

New Object(s): select this option to use a new wireframe object.

Object Name: define the base name of the object to which isosurfaces are saved.

Single Object Output: select this check box to save multiple surfaces to the same object. De-select it to generate a new object for each surface.
 

Input Block Model:

Block Model Name: select a loaded block model for generating the isosurface(s).
 

Subsample:

X: select a subsample value:

    •  Select 1 (default) to use the centre of each block model cell as the sample coordinate.

    •  Select a value >1 to generate a higher frequency of samples.

note.gif (1017 bytes)          

The "marching cubes" algorithm used by the isosurface generator needs to sample the underlying data at fixed intervals. This is fine for block models which consist entirely of full cells, as the samples occur at cell centres by default. However, where subcelling has been used, only one of those subcells will be sampled in each cell, which could lead to missed data, and a reduction in detail.

Increasing the subsampling amount will increase the number of samples within each cell, along each axis. For example, subsampling at 2 would be appropriate where the cell has been divided into 2 x 2 x 2 subcells.

Increasing the number of subsamples will increase the number of calculations required: for example, 2 subsamples require 8 times as many calculations, 3 subsamples require 27 times as many calculations, and since this increase applies to all cells, even if they haven’t been subcelled, subsampling should be used with caution.

 

Isolevels Column:

Column Name: select the field/column which will control the isosurface generation.

note.gif (1017 bytes)

Although wireframes can be generated for multiple isosurface values at the same time, only one data attribute may be referenced. ForPassing Value(s)isosurfaces, only numeric columns will be offered - see below.

 

Isolevel Type:

Passing Value(s) (numeric values only): select this option to generate isosurfaces which have interpolated values passing a certain isolevel value.
 

note.gif (1017 bytes)                        

For example, if a block model was used to generate a series of surfaces according to the ZC value of the model cells, and the model values ranged from 5 to 25 with a step of 5:

  • The first wireframe would be constructed in accordance with data points 5 to 25 (all the values that pass the 5 elevation).
  • The second surface would take cells from elevations 10 to 25 into account and so on:

 

Equal to Value(s): isosurfaces are generated where values change from a specific value, or to a specific value. Values are included in isosurface generation if they are exactly equal to the value(s) in the Current Value list.

Include Boundaries: normally, samples are only taken between the minimum and maximum extents of the block model, as no valid data exists outside of this range (the values will all be absent). However, selecting Include Boundaries can help with closing off volumes which may have been bisected by the model boundary, and would otherwise have left a gap in the surface. When generating Passing Values(s) isosurfaces, the correct use of the Absent cell/values setting is vital to ensure the gap is closed in the correct direction.
 

Absent cells/values: use these options to specify how absent values are treated. Since this is not relevant for Equal To Value(s) isosurfaces, these options are disabled if Equal To Value(s) is selected.

Treat as Low: treat absent cells/values as lower than the isosurface.

Treat as High: treat absent cells/values as higher than the isosurface.
 

Isolevel Values: isolevels values are specified in this section. Multiple isosurfaces can be generated at a single time, but all isosurfaces must reference only a single attribute (data column). Values can be added to the Current Value(s) list using the following methods:

From Isolevel Column: adds the unique values found in the Isolevel Column to the Current Value(s) list. After selecting this option, and clicking Add, the approximate number of entries to be added - if greater than 20 - is displayed, and you are prompted to confirm continuation. If you accept, the unique values are added. This option is most useful when generating multiple isosurfaces using the Equal To Value(s) Isolevel type.

From Legend: adds the boundary values for each legend item in the selected legend to the Current Value(s) list. Only non-filter legends are included. After selecting this option, and specifying the Legend Name, clicking Add will add the values to the Current Value(s) list.

From Value: adds a specific value to the Current Value(s) list. After selecting this option, and typing the required value in the FromValue box, clicking Add will add the value to the Current Value(s)list.

From Range: adds a set of equally- spaced values to the Current Value(s)list. After selecting this option, enter the starting value in the Min box, the largest value in the Max box, and the required interval in the Step box. When Addis clicked, the approximate number of entries are added - if greater than 20 - and you are prompted to confirm continuation. If you accept, the values are added.

Add: adds values to the Current Value(s) list, depending on the selections made in the Isolevel Values group - see above.

Remove All: remove the entries displayed in the Current Value(s) list.

Current Value(s): values determining the relevant  intervals when defining unique isosurfaces. At least one value must be present before isosurface generation can be done.

Smoothing: as isosurfaces are generated from block models, the results can look a little ‘boxy’, especially if the original cell size was large. The resulting wireframe can be smoothed externally using the wireframe-smooth command, or this can be done  at generation time using the following options:

Smooth Wireframe: smooths surfaces after they have been generated.

Passes: defines the number of smoothing passes.

note.gif (1017 bytes)      

The algorithm that is used to create the wireframe surface data takes samples of the data at fixed intervals and looks for samples falling either side of a target level. In which case, a wireframe surface is generated at the appropriate point. Isosurfaces may be generated where sample values pass through a target level, or alternatively where sample values changeto a specific target value, or from a specific target value.

Only one attribute can have isosurfaces generated at a time, but isosurfaces for many different isolevels may be generated within a single run. An option is also available to smooth surfaces, to minimise artefacts from the surface generation. This menu option is only enabled if a block model exists in memory.

 

For an example of how this command is used, click here

  openbook.gif (910 bytes)   Related Topics

 

Current Object Concept
Introduction to Block Models
Introducing Wireframes