Академический Документы
Профессиональный Документы
Культура Документы
User Guide
Edition 2.1
This documentation is confidential and may not be reproduced or shown to third parties without the written permission of Mineral Industries Computing Limited.
Wireframe menus diagram Introduction Wireframe concepts Wireframe classification New group New surface New surface New triangle Select wireframe Selecting wireframes introduction Selection method Attributes Group Surface Filters Files Verify Normal and adjacency values Display Open Edges Display Shared Edges Display Crossovers Convert to Strings Renumber Surfaces Check for Duplicate Points Set point tolerance Linking introduction String Linking Control Settings Optimal Linking Linking Options Linking Types Linking Link strings Link boundary Link to line Link boundary to line Link quad End link End link boundary Undo last link Point separation
Page 1
Create tag string Set tag string color Use tags Linking toolbar
Link two outlines using attributes
DTM Introduction DTM settings Use Selected Limit Strings Duplicate Point Checking World Coordinates-Off for View Coords Interactive DTM creation Make DTM Undo last DTM Select outer limit Select inner limit Deselect one limit Deselect all limits Set point tolerance Maximum separation New point separation DTM settings DTM toolbar Tools Slice wireframe Convert slice to string Generate multiple slices Calculate volume Strings from intersections Hull to strings Edit attributes Unlink triangle Unlink wireframe Boolean operations Merge Union Intersection Difference Split Multiple split Solid hull Update DTM Project DTM to view Boolean toolbar Batch tools
Page 2
Create a DTM Add two wireframe files Calculate center of triangle Extend wireframe along a trend Calculate wireframe volume Evaluate model v wireframe Select data using wireframe Project string to wireframe Strings from wireframe section Move wireframe Copy wireframe Translate wireframe Move wireframe point Insert wireframe point Delete wireframe point Wireframe settings Other wireframe commands
Page 3
Page 4
Introduction
Studio has an extensive repertoire of commands and functions for creating and manipulating wireframe models. This User Guide explains many of the principles of wireframing and provides guidance, with examples, of much of the functionality. To create a wireframe a series of strings must be created and then these strings must be linked to form the 3D surface outline. Solid wireframes can be used to represent a 3D volume, such as: A zone of high grade mineralization An orebody A particular lithology From these wireframes, volumes and tonnages can be calculated, which are useful for determining resources and reserves. Wireframes can also be used to represent surfaces, such as: Topography (Digital Terrain Model) Pit geometry Wireframe data are stored in two related files, a triangle file and a points file. Values for all fields except COLOUR are assigned internally, by the system, and may be used for filtering.
TRIANGLE FILE FIELD TRIANGLE PID1 PID2 PID3 GROUP SURFACE LINK NORMAL-X NORMAL-Y NORMAL-Z TRE1ADJ TRE2ADJ TRE3ADJ COLOUR GROUP XP YP ZP PID DESCRIPTION Triangle number First triangle point ID number Second triangle point ID number Third triangle point ID number Wireframe group ID number Wireframe surface ID number Link number Stores the values which define the orientation of the normal of the triangle in the X, Y and Z directions. Stores the adjacency data, which define open and shared triangle edges.
POINT FILE
Wireframe Group X, Y and Z coordinates of the triangle point defined by the PID value. The point ID number (as referenced by PID1 etc in the triangle file).
Page 5
Wireframe Concepts
A points file is the basis for a wireframe. Each point is joined to several others to form a series of triangles (in the display window) that form the surface (in the visualizer). A wireframe can be viewed in the visualizer, which is useful for displaying the newly created surface (or zone) in 3D. The way the triangles are formed can be controlled; the method used is dependent on the wireframe purpose and user preference.
Wireframe Classification
Wireframes are classified by the following fields which are present in all triangle files: GROUP - A GROUP can consist of one or more distinct wireframes that have either the same, or different surface numbers. - An individual wireframe SURFACE can be selected from within a GROUP of wireframes. This surface can be either a DTM or a solid wireframe. - Each wireframe surface consists of a number of individual links, each numbered individually.
SURFACE
LINK
This classification of wireframes by GROUP and SURFACE provides a means by which wireframes can be identified for operations such as combining and verifying. It also provides greater control when using the erase commands; specific GROUPs, SURFACEs, LINKs and triangles may be selected and erased. The wireframe GROUP, SURFACE and LINK numbers are stored in both the wireframe points and triangles files as the fields: GROUP, SURFACE and LINK respectively. These values are assigned internally by the system. It is possible to select a wireframe by its GROUP or SURFACE number. Wireframes from different GROUPs can be selected together by using other selection methods such as filters. To give a better understanding of how GROUPs and SURFACEs are defined and used there is a wireframe tutorial. To display the GROUP, SURFACE and LINK numbers use the query-triangle (qt) command.
Page 6
New group
nwg new-wireframe Increments the wireframe group number prior to linking. Used to distinguish between wireframes, and to aid selection.
New surface
nws new-wireframe-surface Increments the wireframe surface number prior to linking. Used to distinguish between wireframes and aid selection. ntr dvp-new-triangle Gives the user the ability to create an individual triangle sw select-wireframe Selects a wireframe group and surface prior to linking. The command takes the selected group and surface number to ensure a continuous surface and group number when a wireframe is extended.
Setting the method in the wireframe settings dialog (Wireframes | Wireframe Settings).
Several wireframe commands require the selection of a wireframe; they all honor the chosen selection method. The commands are: Wireframes | Boolean Operations (e.g. Union, Intersection etc); Wireframes | Verify; Wireframes | Tools | Edit Attributes; Wireframe volumes; Wireframe evaluation.
Page 7
When any of the above commands are run, there will be a prompt to select a wireframe triangle.
By Attributes
sba
wf-select-attribute-switch
If By Attributes is chosen then wireframe data with user defined attributes matching those of the selected triangle are isolated. For example, the wireframes illustrated below belong to different GROUPs. By setting the attributes toggle on, both wireframes can be selected. The wireframe GROUP and SURFACE numbers are ignored on input, and new GROUP and SURFACE values are generated on output. This is particularly useful for re-grouping wireframes (see Wireframes | Verify for more details).
By Group
sbg
wf-select-group-switch
If By picked wireframe GROUP is chosen then all wireframe data matching the selected triangles GROUP will be selected.
By Surface
sbs
wf-select-surface-switch
If By picked wireframe SURFACE is chosen then all wireframe data matching the selected triangles GROUP and SURFACE values will be selected.
By Filters
sbfl
wf-select-filter-switch
If By user defined filters is chosen, wireframe data is selected on the basis of triangle and point filters. To apply triangle filters but not point filters then press the RETURN key at the prompt for point filters. Using the wireframes shown above, the wireframes can be selected using the following filter.
Page 8
As with the attributes selection method the wireframe group and surface numbers are ignored on input and new group and surface values are generated on output. This is particularly useful for regrouping wireframes (see Verify Wireframe for more details). To get a better understanding of how these various selection methods can be used try the short tutorial at the end of this user guide. By Files sbfi wf-select-files-switch Select wireframe by prompting for wireframe point and triangle filenames.
Verifying Wireframes
Verify wvf wireframe-verify
The Wireframes | Verify command is used to perform a number of validation checks, including: Identifying holes within a wireframe surface Identifying intersections of different surfaces with different IDs Identifying crossovers within, or between, surfaces Checking for duplicate points Renumbering wireframe surfaces. The Verify command is controlled by a number of settings accessed through Wireframes | Wireframe Settings.
Normal and Adjacency Values These values are generated automatically for each wireframe. The adjacency values list which triangle is next to a particular side of another specific triangle. Most triangles will have 3 other triangles neighboring them, apart from along an edge of a wireframe. Normal values lie between 1 and -1, and give an indication of the dip of the triangle. A horizontal surface has a value of 0 and a vertical surface has a value of 1 or -1. The values are positive or negative depending on whether the point is above or below the surface.
Page 9
The values for the NORMAL-X, NORMAL-Y, and NORMAL-Z fields are assigned when the wireframe is linked whereas TRE1ADJ, TRE2ADJ and TRE3ADJ have their values assigned when the Verify command is run. The table below shows the adjacency values generated. Note: PID1, PID2 and PID3 refer to the triangle point ID numbers so PID1 - PID2 refers to the line joining points 1 and 2.
Value Stored In
No adjacent triangle Adjacent triangle is part of the same surface Adjacent triangle has been created from the MERGE Option
0 0 0
-1 -1 -1
1 1 1
It is important to generate these data prior to merging or splitting wireframes. If the adjacency data already exist for the selected wireframe data (i.e the Verify command has been used before) then there will be a prompt for the re-assembly of the adjacency data. Display Open Edges twvb wf-boundary-line-switch This setting enables open edges, or boundaries of a wireframe, to be displayed during wireframe verification. Note: these will only be converted to strings if the Convert to Strings option is selected.
Display Shared Edges twvm wf-merge-line-switch This setting can only be used effectively on wireframe data that have been merged or intersected using the Merge or Split commands (Wireframes | Boolean Operations). Shared edges between the intersected surfaces are assigned an adjacency value of -1 (stored in the fields TRE1ADJ, TRE2ADJ, TRE3ADJ). Each surface is assigned a different surface identifier to enable it to be manipulated independently. This toggle allows the shared, or merged lines to be displayed during wireframe verification. Note: these will only be converted to strings if the Convert to Strings setting has been selected. Display Crossovers twvi wf-intersect-line-switch The Wireframes | Verify command can be used to check for wireframe surfaces that contain crossovers, or intersect other surfaces. This setting controls whether these crossovers are displayed. Note: these will only be converted to strings if the Convert to Strings setting has been selected.
Page 10
Convert to Strings
twcl wf-convert-line-switch This setting controls whether boundary lines, merge lines and lines identifying crossovers are converted to strings during the Wireframes | Verify command. twn wf-sfvalue-switch This setting enables the renumbering of surfaces during verification. It is useful for re-grouping wireframes. The wireframe below consists of two GROUPs. The links between the perimeters belonging to one GROUP and the end-links belong to another. To select this wireframe as a single entity the surfaces must be renumbered so they are the same.
Renumber Surfaces
As the surfaces have the same color, the selection method should be set to By Attributes. This will ensure that all the wireframe data required are selected. Note: By Filters could also be used, provided Renumber Surfaces is selected. The surfaces will be renumbered during the wireframe verification. The resultant wireframe will have a single GROUP number. Check for Duplicate Points twcd wf-pid-check-switch This setting will ensure that adjacent triangles will have common point ID numbers (PIDs). Note: common triangles points which belong to different GROUPs cannot have the same point ID number. Set Point Tolerance sto set-tolerance For DTM formation no triangles will be created with sides of length less than this tolerance. For the Wireframe-Verify command, points within this tolerance will be considered duplicates. Any triangles that are degenerate after this point merging will be discarded.
Page 11
Select the radio button for the method to be used; the screen capture shows the default. Minimum surface area method tma link-area-methodswitch Equi-angular shape method tea link-radii-methodswitch Proportional length method tpr link-shape-methodswitch The system will create the triangulation that results in the smallest wireframe surface area.
The system will create equi-angular triangles (i.e. equilateral or isosceles triangles). Ideal for complex geometries. This option will create triangles which best maintain their proportional position along the string. This option works best where the shapes of the two strings are similar. Ideal for long thin volumes.
The following screen captures show three identical pairs of perimeters; each pair linked using a different one of the methods.
Optimal Linking
tlm link-method-switch The Wireframe Settings also offer the option to use optimal linking.
Page 12
Optimal Linking
tlm
linking-method-switch
If this is selected then several wireframes will be generated internally using different starting points. The final wireframe will be created using the best surface from all those that satisfied the linking criteria. If the Proportional Length Method is selected the Equi-Angular Shape method is used.
There are three other options for controlling the linking of strings: Link Crossover Checking tlc Link-crossover-switch Use Tag Strings uta Use-tag-switch Wireframe Attributes from Strings tsa wf-attr-from-str-switch This automatically checks for a link that intersects another link. Any surface that would contain crossovers will not be created and a warning dialog is displayed. This toggle controls whether the tag strings should be ignored when creating a link. If selected, the string attributes, including color, will be passed to the wireframe during linking.
Another command, important in the creation of links, is Point Separation (Wireframe | Linking | Point Separation) which inserts additional, temporary points along the strings being linked. The command opens a dialog for setting the maximum separation distance between the additional points. This feature is useful for minimizing the creation of long, narrow triangles. The default value is 0, which is effectively off. Long narrow triangles can form an inefficient wireframe that does not match the data accurately.
Page 13
Linking Options
Linking Types
The linking commands used can be found in the Wireframes | Linking menu.
Link Strings
ls link-strings A minimum of two strings must be loaded in the design window, this command will create the link between the strings. lbo link-boundary Links two strings together taking into account (not crossing) any boundary strings. A minimum of one boundary string is necessary. A boundary string is created using the new-string command the string must be snapped to a point on the same string at each end, line snapping is not acceptable. The boundary divides a string, to assist in creating a split wireframe. ll link-to-line Links a string to a single line (not a closed string section). This is useful for closing-off wireframes.
Link Boundary
Link to Line
Link Boundary to Line lbl link-boundary-to-line Links a string to a line to close the wireframe effectively, but taking into account (not crossing) and boundary (bridge) strings. Link Quad lq link-quad Creates a wireframe link between two selected points on each string. The segment between the two points must be selected. Link Quad gives an alternative control to using tag strings and allows a link to be built in stages. Useful for complex wireframes.
Page 14
Point separation
When creating a DTM it is possible to force Studio to add new points to improve the triangulation. This can be useful if some of the string data has long segment lengths which would create large triangles. By setting a separation distance greater than zero string segments are divided up into shorter segments of the set value for triangulation. Note the new points are not inserted into the strings but are incorporated into the wireframe. The string data is not changed using this command.
Tag Strings
Tag strings may be used to increase control over the linking process. They can define the points to be linked for the Link Strings command, which is particularly useful when wireframing complex shapes. A tag string may contain any number of points but each one must be on a different string perimeter. It is also possible to link a single point on one perimeter to a number of different points on the second perimeter as shown below.
Page 15
tgs create-tag-string Tag strings must be snapped to the strings to be wireframed, as an exact coordinate match is expected. To create a tag string use (wireframes-linking-create-tag-strings). The command newstring is not acceptable. taco tag-string-colour
The color number may be typed in or the logical color name may be given, such as 'red'.
Use tags uta use-tag-switch Tag strings will only be used if the Use tag strings option has been turned on in the menu or from the Wireframe Settings dialog (Wireframes | Wireframe Settings). They can be used with any of the wireframe linking methods listed above. The tag strings that may be required for sub-optimal linking to achieve the required shape and avoid crossovers may be unnecessary for optimal linking.
Linking toolbar Displays the wireframe toolbar Link two outlines using attributes l3 link-outline-pair-attribute
Enables multiple strings with a common attribute to be linked together in a single action to create a wireframe. Uses a common attribute from at least two strings to create wireframe surfaces within the area described by each string. If a string is not closed, a straight line will be drawn between the endpoints to complete a boundary. Before running the command select at least two strings with a common attribute.
Page 16
Simple unfolded surfaces like topography or terrain surfaces can be modeled as Digital Terrain Models or DTMs. A DTM provides an exact triangulated surface model in which all the datum points are honored. To create a DTM a set of X, Y, Z data values which describe the surface are required. This might take the form of point surveys or contour strings depending on the source of the data. DTMs are a special type of wireframe model, the file structures of DTMs and wireframes are identical. Some wireframe commands are also used for DTMs, e.g. Write Wireframes is used to save all wireframes, including DTMs. DTM settings The DTM Settings option permits the setting of the key parameters for DTMs.
Use Selected Limit Strings tli dtm-limit-include-switch The selected limits (inner or outer) will form part of the DTM. Duplicate Point Checking tpc dtm-point-check-switch Checks the data for duplicate points. World Coordinates-Off for View Coords tcs dtm-coordinate-switch This controls the plane in which the DTM is generated. The DTM will be created in plan view when on and, in screen view when off.
Page 17
Make DTM
md make-the-dtm To create a DTM, a points file must be loaded into Studio first. The resultant DTM will honor any settings and limits that may have been set. A color must be selected to display the DTM. uld dtm-undo-last-link Removes the links between the displayed points of the most recently created DTM.
Maximum Separation
Page 18
Tools
Slice wireframe slw slice-wireframe Displays the intersection of the wireframe with the view plane. To save the intersection use Convert slice to string and save to a string file.
Convert slice to string csl convert-wireframe-slice Converts a slice or slices through a wireframe into a string or strings. Generate multiple slices msl multiple-wireframe-slice Generates slices through a wireframe at given interval, parallel to the view plane. There is the option to save the intersections as strings. wvo wireframe-volume Reports the volume, above or below a DTM, or within a closed wireframe. A wireframe must be selected and the type of wireframe must be selected (closed or DTM) before the results are displayed in the output window.
Calculate volume
Strings from intersections sfi wf-intersections Creates new strings from the intersections of wireframe triangles, where two of more wireframes cross each other. Hull to strings hts convert-wf-hull Creates strings of the outline of the wireframe as it is displayed on screen. If more than one wireframe overlap, only one outline is generated incorporating the wireframes. ewa edit-wireframe-attributes The color and any user defined attribute of a wireframe can be changed to suit. Attribute values can be changed by clicking on the ATT button and using the up and down arrows to select the attribute to edit.
Edit attributes
Unlink triangle
utr unlink-triangle Erases a triangle after it is selected and confirmed. Save wireframe before running command because it is not possible to undo. uw unlink-wireframe Erases a link between two strings after it is selected and confirmed. Save wireframe before running command because it is not possible to undo.
Unlink wireframe
Page 19
Boolean operations
Studio has several commands, under Wireframes | Boolean Operations, that allow the merging, intersection or splitting of wireframes.
Wireframes are selected according to the chosen selection method. It is important to verify the selected wireframes prior to combing or splitting. This ensures that adjacency data has been generated for each wireframe.
Merge
wme
wireframe-merge
Merge is a surface operation that splits two wireframes where their surfaces intersect. Merge can be used for both open and closed wireframes. After running, each surface is uniquely numbered, this allows individual surfaces to be erased using Erase | Wireframe Surface. Verify each wireframe before merging. Examples Intersecting a Pit Wireframe with a Topography Wireframe The figure below includes a topography wireframe and a pit wireframe. The wireframes share the same GROUP and SURFACE values so, to select them individually, the selection method has been set to Attributes.
When running Merge, two wireframes must be selected. Selected wireframes will be displayed with dashed lines.
Page 20
Four surfaces are created by Merge and these are illustrated below.
Topo inside the pit Pit above topo
1. 2. 3. 4.
The pit above topography (Yellow) The pit below topography (Brown) The topography outside the pit (Light green) The topography inside the pit (Dark green)
Each surface has a different SURFACE number, which makes it possible to erase a surface using Erase | Wireframe Surfaces.
Truncating an Orebody at a Fault The wireframes below represent an orebody that is truncated by a fault. Merge can be used to truncate the orebody wireframe at the fault surface.
Page 21
Merge requires each wireframe to be selected in turn; the order does not matter. It creates four separate surfaces: 1. 2. 3. 4. The orebody to the left of the fault. The orebody to the right of the fault. The fault inside the orebody. The fault outside the orebody.
The resulting surfaces have the same GROUP value but different SURFACE values.
Page 22
Erase | Wireframe Surfaces can be used to erase any unwanted wireframe sections.
Union
wun
wireframe-union
Union enables wireframes to be combined. The example below shows a newly discovered shoot (represented by the green wireframe slice), which is to be merged with the original wireframe model of the orebody (represented by the red wireframe slice).
The command prompts for each of the wireframes to be selected in turn. As with all merge and intersect commands, wireframe selection is controlled by the selection method. The resulting wireframe is a union of the two original wireframes.
Page 23
Verify each wireframe before union. Make sure the wireframes and strings are saved before selecting union if an intersection string is to be created as above. If not other strings will be saved to the file, not just the intersection.
Intersection
win
wireframe-intersection
Intersection is used to find the common volume of two overlapping wireframes. The resultant wireframe represents the overlap of the two selected wireframes as shown in the example below.
Before Intersection
Page 24
After Intersection
Difference
wdi
wireframe-difference
Difference takes two overlapping wireframes and subtracts the second wireframe from the first. A screen shot below is of two wireframes representing a stope with development. The second is a slice through the same wireframes. Difference is used to subtract the development wireframe from the stope wireframe. The stope wireframe is selected first.
Page 25
Split
spli
wireframe-split
Split is used to split a wireframe along the intersection of the selected wireframe(s) with the current view plane. The following screen captures illustrate a wireframe before and after a Split. Edit | Attributes is used to color one half of the wireframe after it has been split.
After
Multiple split
mus
multiple-wireframe-split
Multiple Split is used to split a wireframe at regular intervals parallel to the view plane. The interval used for splitting must be defined. The following screen captures illustrate a wireframe before and after the Multiple Split. Multiple Split has been used to make it possible to delete a number of the resulting sections.
Page 26
Solid hull
soh wireframe-solid-hull Solid operation to find the outer surface for overlapping wireframes. The result is the equivalent of performing wireframe-union commands on the surfaces in the wireframe two at a time until all are merged into a single solid. The method differs from wireframe-union in that the wireframe-solid-hull command resolves the overlap in the selected wireframe.
Update DTM
udt wireframe-surface-merge This is used to update one surface wireframe with another. The new surface is generated using the second wireframe selected to update the surface elevation.
Page 27
In the example shown below the Update DTM (Boolean Operations | Update DTM) command has been used to update an open cut pit by adding the new to the existing pit wireframe. The first screen capture shows a slice through the wireframe; different line colors have been
The following screen captures show the resultant wireframe after the (Boolean Operations | Update DTM) has been run.
pdv wireframe-surface-project Project a wireframe surface to the viewplane to form a solid. The input wireframe should be open and single valued when viewed in the direction of the viewplane. The input wireframe may be several discrete surfaces
Page 28
Batch tools
Create a DTM SURTRI Generates a triangulated digital terrain model from perimeter, string and/or point data, subject to optional boundary and string edge constraints. ADDTRI Combines two pairs of wireframe model files into a single pair of output files. The names of the first two wireframe files may be the same as the output file names.
Calculate center of triangle COGTRI This process calculates the centre of gravity and orientation of each triangle in a wireframe file. Extend wireframe along a trend WFTREND This process creates a dtm wireframe surface which can be extended beyond the data limits by a specified distance using a planar trend surface. Calculate wireframe volume TRIVOL Reports volume and other statistics of a wireframe model. Evaluate model v wireframe TRIVAL Evaluates a standard STUDIO cell/sub-cell model against a triangulated wireframe model. Select data using wireframe SELWF Select records lying inside/outside wireframe models or above/below triangulated (DTM) surfaces. Project string to wireframe PERDTM Project 2D perimeters onto a DTM surface, creating a 3D string. Converts 2-dimensional perimeters to 3-dimensional perimeters by vertical projection into a DTM surface. Strings from wireframe section WIREPE Creates strings or perimeters defining the intersection of a wireframe model with either a single plane or with a family of planes.
Page 29
Move wireframe
Move wireframe mw move-wireframe Select the wireframe, to be moved, then select the new location using the mouse.
Copy wireframe
Copy wireframe cpw copy-wireframe Select the wireframe, to be copied, then select the new location using the mouse.
Translate wireframe
Translate wireframe trw translate-wireframe Select the wireframe, to be moved, then select the distance the wireframe will be moved in the X,Y,Z direction.
Page 30
colour-wf-slice-switch
tsc This alters the way in which wireframing slices are displayed convert-wireframe-slice csl Convert a slice through a wireframe into a new string or strings display-wireframe dw Display the (filtered) wireframe models held in the wireframe files erase-wireframe erw Erase the data for the selected group from current wireframe files erase-wireframes eaw Erase all (filtered) wireframe data from the current wireframe files erase-wireframe-surface ews Erase the data for the selected surface from the current wireframe files evaluate-wireframe evw Evaluate above or below DTM or within a wireframe. A comparison of the total volume of the cells within the wireframe and the volume of the wireframe is made filter-wireframe-points fwp Turn on or off the display of wireframe points based on filters filter-wireframe-triangles fwt Turn on or off the display of wireframe triangles based on filters
Page 31
multiple-wireframe-slice msl Generate slices through a wireframe at a given interval project-string-onto-wf Project a string vertically to intersect with a wireframe surface wf-slice-switch twsl Turn on or off automatic display of a wireframe slice
Page 32