3 Ways to Handle Internal Waste (or any other solid-in-solid scenario!)

One issue that commonly comes up when working with wireframe solids in general mining packages is the handling of internal waste.  At some point, anyone that constucts complex lithologic solids will need to somehow represent internal waste.  This would be a band of waste material inside a stockwork vein, a portion of unmineralized dike, the list goes on.  The problem with most (if not all) mining softwares is that they are really good at quantifying the material within a given wireframe, but not so good for removing material that’s within one wireframe residing in another wireframe – in other words, a waste blob can’t easily be removed from a volume calculation of an ore blob.  Not only that, but there’s not really a way to graphically represent a completely detached blob of material within another one and still have an accurate volumetric analysis.  Granted my experience resides primarily in Vulcan, but from my limited exposure to some of the other software options this is a common issue.  As such, here are three possible ways to deal with internal waste using a general mining package.

Method #1: Build a Bridge

For my example, I have generated an extremely simple scenario – the internal waste is represented by the red set of ovals, and the ore body is represented by the yellow.
My goal is to be able to quantify the volume of material within the ore body, while simultaneously removing the volume of waste.  A very simple method is to build a “bridge” from the outside polygon to the inside polygon.  I shall explain:
1.  Start by tracing the outer polygon with a new polygon:
2. Trace almost all the way around the outer polygon, stopping just before closing it:
3. keeping the same polygon active trace around the inner circle in the OPPOSITE direction as the first:
4.  Trace the inner polygon almost all the way and, as with the outer, stop just before closing on the starting point:
5.  Close the polygon by allowing the last point on the inner polygon to connect to the first point of the outer polygon:
6.  Success!  This is the bridge.  Essentially, what we’ve done is built the two polygons into one, leaving a little gap for the software to still be able to identify an outer surface and an inner surface.
7.  Repeat these steps for the remaining polygons, and then link them together as usual into a single solid.

Method #2 – Wrap around the Ends

The second method is a little easier than the first, in that additional polygons aren’t necessary.  This solid will be made by wrapping the outer polygons to the inner polygons at the ends of the solid.
1.  Start by building the solid as normal using the un-bridged polygons, beginning with the outer polygons:
2.  once you reach the end polygon on the outer shell, without stopping the current wireframe construction, select the nearest internal polygon to extrude the wireframe shape to that:
3.  Wireframe the internal polygons as normal, but in the opposite direction as the outer had been done (image has been spun around to see the open side):
4.  At the final internal polygon, before ending the wireframe, reselect the first outer polygon to connect the wireframe to it and thereby close the solid:
While these first two methods work well enough, the problem with both of them is that they require at least one open end in order for the software to differentiate an “outside” surface from an “inside” surface.  (Granted, with the Bridge method it could be done that the ends are closed and just the portion in the bridge area is the “external” wall, but that requires a great deal of effort and really isn’t worth the effort in most cases.)  What happens if the internal solid should be completely encompassed by the outer solid?

Method #3 – Let the Block Model Handle It

It is a common misconception amongst geologic modelers, particularly those who are not involved in the resource estimation, that the wireframes have to completely represent a lithologic regime as a stand-alone entity, which leads to the unnecessary compulsion to try to differentiate internal material within a single solid, often with disappointing or frustrating results.
If a block model is intended to be used for resource calculations, the best option is to let it account for the internal vs. external material.  It doesn’t matter where the solids situate in space, just as long as the internal solids are given more “priority” during the model construction so the external solids don’t overwrite them.  Again using the example polygons, two solids have been made – the internal solid was made smaller than the external solid on all sides, so it is completely encompassed:
When building the block model, the solids are used to differentiate “ore” from “waste” – take note of the values in the “Priority” column – I have assigned the internal solid a much higher priority than the outer solid, so that the block model construction process will flag the blocks inside the internal solid as waste, then flag the blocks inside the outer solid as ore but will ignore the internal solid waste blocks because of their higher priority.
The end result will look like this from plan view:
And from Section View:
Clearly, the block model was able to effectively handle the internal material with much more accuracy and ease than by attempting to construct a wireframe solid to honor all aspects of the given orebody.  Of course a block model won’t necessarily be used in every situation, but whenever it will be used the wireframes should not become a great burden to edit.
Hopefully these options help anyone who has struggled with this situation in the past.  If there are any other techniques I didn’t mention, let me know in the comments!  I’d also be interested if there are other software packages that can handle internal solids more efficiently than I am aware.