Lesson 9: Calculate Volumes by Five Methods

For this tutorial, we'll be using a sample stockpile drawing and calculating its volume using five distinct techniques.

  1. Stockpile Volumes: Creates grid surfaces from perimeter polyline and surface entities and calculates volumes in one command
  2. Two Surface Volumes: Calculates volumes between two grid files
  3. Volumes By Layers: Creates grid surfaces from existing and design layers and calculates volumes in one command
  4. Volumes By Triangulation: Calculates volumes between two triangulation files
  5. Calculate Sections Volumes: Calculates volumes between two section files using volumes by average end areas

Each of these routines has its own advantages. You can choose the routine that best suits your data or run multiple methods as a check of the volumes. The volume reports for each of these routines will vary slightly due to using different types of surface models that have different resolutions. These volume differences should be less than 2%.

A Results Summary of the various volume methodologies is also provided.

If there is a greater difference, try increasing the resolution of the surface models. For grids, make the grid cell size smaller and for sections, make the station interval smaller. If there is still a significant difference, then the cause should be investigated by checking the source data.

Common Steps

The following are common preparation steps for all five volume methods.

Step 1 - Open Drawing and load Civil Module:

From the File menu, choose Open and select example1.dwg from the Carlson Projects folder (e.g. C:\Carlson Projects\example1.dwg). Then load the Civil Module menu by running Settings->Carlson Menus->Civil Menu.

Step 2 - Draw Perimeter (the automated process):

There are several methods for drawing the perimeter polyline. One such method involves using the CRD (or Field to Finish).

The Surface > Stockpile/Pond/Pit Volumes > 3DPoly Perimeter command can draw by point numbers from the coordinate file. If you have the coordinate file for the points, then you can go directly to draw and use the point numbers. In this example, we have only the drawing and no coordinate file. Still we can easily create a coordinate file from the points in the drawing.

First run Points > Set CooRDinate File, and in the file selection dialog, choose the New tab and enter example1 for the file name. Next run Points > CooRDinate File Utilities and pick Update CRD File From Drawing. Go with all the defaults for this function and when prompted to select objects, enter All. Now the coordinate file has all the points from the drawing. In this example, the perimeter points are sequential. So at the 3D Poly Perimeter command prompt for points, you can enter the point range of 2000-2028 and it's done.

[Continue/Extend/Follow/Options/<Pick point or point numbers>]: 2000-2028
[Arc/Close/Distance/Follow/Undo/<Pick point or point numbers>]: C to close the perimeter and end

Another even more automated way to draw the perimeter is to use Field-To-Finish from the Survey menu to draw the points and the perimeter at the same time. In Field-To-Finish, you can control how to draw the points based on the point description. And you can create linework by point description. For this case, the Field-To-Finish code for B-TOE could be set as a 3D Polyline.

Step 2 - Draw Perimeter (the quick process):

One of the signature commands found in Carlson Software is the Shrink-Wrap Entities found under the Draw menu. This routine is useful in situations where outlying perimeter locations don't share the same point descriptions, aren't sequentially numbered and is used even if the outlying locations are not points! Let's explore this routine by clicking the Draw > Shrink-Wrap Entities command. Set the parameters in the dialog as shown here.

The resultant perimeter should resemble that as shown in the illustration shown in the next discussion item.

Step 2 - Draw Perimeter (the manual process):

We begin by drawing a perimeter polyline using the outermost points of the stockpile. The perimeter polyline limits the volume calculation to the area within the polyline. In this example, the perimeter polyline consists of points 2000 - 2028 with description B-TOE. To pick these points, set your osnap to Node using the Object Snap under the Settings pulldown menu and turn off all the other osnap methods. Then run Draw 3D Polyline.

Pick all the perimeter points one at a time. At the command line, the program will prompt as follows:

[Continue/Extend/Follow/Options/<Pick point or point numbers>]: pick point 2000, a B-TOE point
[Arc/Close/Distance/Follow/Undo/<Pick point or point numbers>]: pick point 2001, pick the next B-TOE point
[Arc/Close/Distance/Follow/Undo/<Pick point or point numbers>]: pick point 2028, pick the last B-TOE point
...
[Arc/Close/Distance/Follow/Undo/<Pick point or point numbers>]:
press C to close the perimeter and exit the routine

After you draw your perimeter polyline, simply return your osnap to none.

Volume Method 1 - Calculate Stockpile Volume

Step 1 - Calculate Stockpile Volume:

The Calculate Stockpile Volume routine is based on a grid surface methodology like Two Surface Volumes discussed below. The difference with this routine is that it builds the grid surfaces within the routine to save time otherwise needed to build the grid files. The fewer steps make this routine faster and easier but it doesn't have options for checking surfaces. Instead the input data entities should be checked before running this routine. Also, Calculate Stockpile Volume only applies to volumes calculations when the volume is all fill.

NOTE: For situations involving a Cut-only scenario (such as a pond or pit), use the Surface > Stockpile/Pond/Pit Volumes > Calculate Pond/Pit Volume command.

Choose Calculate Stockpile Volume from the Surface menu, under Stockpile/Pond/Pit Volumes. The routine starts with prompts at the command line.

Material density lbs/ft^3 (Enter for none): press Enter
This density option applies when you're measuring a stockpile of a material with a known density and you want to report the material tons for the stockpile.
Ignore zero elevations [<Yes>/No]? press Enter (filters out elevation zero entities)
Select stockpile entities and perimeter.
Select objects:
All
Select objects: press Enter

The program looks for a closed 3D polyline on the PERIMETER layer to use as the inclusion perimeter and the base surface model. If this polyline is not found, then the program will prompt to select the perimeter polyline. All the selected entities including the perimeter are used to model the second surface of the stockpile top.

Specify the grid resolution as shown in the dialog below.

Next you have the option to break up your volumes report by a specified interval. In this example, let's do every 5 feet.

The volume report displays.

NOTE: The limits of the grid are determined automatically and shown in the report. For the sake of accuracy, the next two methods will use the grid parameters shown above.

Volume Method 2 - Two Surface Volumes

Step 1 - Make Base Grid Surface:

Before running Two Surface Volumes, we must create the two grid files by using the Make 3D Grid File, located under the Surface menu. The first grid file will be for the base of the stockpile. At the file selection Grid File To Create dialog, enter a name of BASE and click Save.

Next, there is a dialog to set the grid parameters. The Low and High elevations are used to filter out elevations outside the range. By default the Low elevation is set to 1 which filters out zero and negative elevations. For the Modeling Method, use the default Triangulation method for surface models. The other methods are primarily for strata geologic models. For Triangulation mode, the Triangulation Only method triangulates all the data points. The Triangulation with Subdivision does the Triangulate step followed by subdividing the large triangles to make a smoother surface. The Intersection Only method interpolates the grid corners from the intersections of the grid lines with the surface linework which applies to making a grid from all contour polylines. The Auto Detect method looks at the source data and chooses Intersection if all the data is linework or uses Triangulation otherwise.

The grid resolution sets the size of the grid cells either by entering the actual size or by the number of cells. Generally, you should use a grid size that is small enough to pick up the changes in the surface. At the same time, the total number of cells should be less than a million depending on your computer memory. In this example, we have 50x50 cells which results in a cell size of 4.82 in X (Easting) and 3.92 in Y (Northing), and this is enough resolution for the data.

Lastly, check the Screen Pick option under Set Grid Position, and then click OK.

To select the grid position from the screen, create the rectangular area for the grid surface that completely encloses the stockpile.

Next, examine the prompts below to use for the model. For the base surface, select only the 3D perimeter polyline.

Pick first grid corner: pick the first grid corner as illustrated
Pick opposite grid corner: pick the second grid corner as illustrated
Select points, lines, polylines and faces to grid from.
Select objects:
pick the 3D perimeter polyline (again)
Select objects: 1 found
Select objects:
press Enter

Step 2 - Make Final Grid Surface:

Next, let's create the top of the stockpile surface by repeating Make 3D Grid File used in the last step. Choose Make 3D Grid File from the menu and enter a grid file name of FINAL in the file selection dialog.

In the dialogue under Set Grid Position, check the From Another Grid File method and select BASE.grd as the reference grid position. This file method uses the grid position and resolution from the selected reference grid. For Two Surface Volumes, the two grids to compare should have matching grid positions and resolution.

Then there are a series of command line prompts for the elevation range and modeling method. Press Enter for each of these prompts to go with the defaults. Then for the selection of objects to process, enter All to use the stockpile perimeter plus all the points.

Select points, lines, polylines and faces to grid from.
Select objects:
All
Select objects: press Enter

Step 3 - Check Surfaces:

This step is optional to verify that the surfaces are good by checking for bad elevation data points and that the surfaces follow the data points. There are several routines that can be used to check the surfaces, including Draw 3D Grid File, Surface Inspector and Contour From Grid File. For this example, we will use Draw 3D Grid File and Surface Inspector.

In the Surface menu, under Draw Surface, choose the Draw 3D Grid File command. At the Select Grid File dialog, choose FINAL.grd. In the options dialog, go with the settings shown here and pick OK.

With the grid drawn as 3D Faces, run the 3D Viewer Window command in the View menu. At the command line, it will prompt to select the objects to view. Enter All and press Enter.

Select all entities for the scene.
Select objects:
All
Select objects: press Enter

In the 3D Viewer dialog, move the pointer near the center of the graphic and the cursor will change to an X/Y symbol which is the X/Y axis rotation mode. Click down the left mouse button and drag down to rotate the pile to a good viewing angle. Then move the pointer near the edge of the graphic and the cursor will change to a Z symbol which is the Z axis rotation mode. Click down the left mouse button and drag around to rotate the pile. You can also set the Vertical Scale to 2.0 and choose the Color By Elevation toggle for better viewing of the elevation difference.

The surface looks right in the 3D Viewer. Close the 3D Viewer by choosing the Exit Door button. We don't need the 3D Faces anymore. Let's delete them by running Erase By Layer in the Edit menu. Choose the Select Layers From Screen and pick any 3D Face. Then pick the OK button.

The Draw 3D Face check could also be run on the BASE.grd surface using the same procedure as above, but we're going to skip that in this tutorial to save space.

Now, let's check using Surface Inspector. First, use Zoom Window under View to zoom onto the bottom of the pile so that we can easily read the point elevation labels. Then run Surface Inspector from the Surface menu. In the dialog, set BASE.grd and FINAL.grd as the two surfaces to inspect and then pick OK.

Now, move the pointer around the pile and the program reports the elevation of the two surfaces in real-time. Check that the grid elevations match the point elevations reasonably well. Remember that the base elevations are using only the B-TOE points. The elevations won't match exactly with grid surfaces because the grid model is at the resolution of the grid cells. When finished checking, press Enter. Then run (Zoom) Extents, under View, to return to the full view.

Step 4 - Two Surface Volumes:

Now that you have your base file and final grid files, to calculate volumes use the Two Grid Surface Volumes command in the Surface menu, under the Volumes By Grid Surface flyout.

Select the Inclusion perimeter polylines or ENTER for none.
Select objects:
select the perimeter polyline
Select objects: press Enter
Select the Exclusion perimeter polyline or ENTER for none.
Select objects:
press Enter
Select Base Grid File Choose BASE.grd
Select Final Grid File Choose FINAL.grd

Set the Volume Report Options dialog box as shown above and click the OK button. A volume report similar to that shown below is produced. Note that your volume totals may vary slightly due to the orientation of your grid.

Volume Method 3 - Volumes By Layers

Step 1 - Volumes By Layers:

Like the two previous volume methods, Volumes By Layers is based on grid surfaces. Similar to Calculate Stockpile Volume, this routine builds the grid surfaces within the routine to save the steps of running Make 3D Grid file. The difference between this routine and Calculate Stockpile Volume is that Volumes By Layers uses entities on the specified layers for existing and design to build the surfaces and it will calculate both cut and fill volumes.

Choose Volumes By Layers from the Volumes By Grid Surface flyout of the Surface menu. The routine starts with prompts to set the grid area to model. In the same way as the Make 3D Grid File step of Two Surface Volumes, pick two corner points that make a rectangle to enclose the stockpile area.

Pick Lower Left grid corner: pick to the lower left of the stockpile
Pick Upper Right grid corner: pick to the upper right of the stockpile

Next, there is a dialog to set the grid resolution. Again, the same rules for grid resolution apply as described in the Two Surface Volumes step.

In the next dialog, set the layer names for the entities to use for the Existing (Base) and the Final (Design) surfaces. For this example, pick the Select Layers From Screen button under Existing and then select the perimeter polyline. Then pick the Select Layers button under Final and select both the perimeter polyline and the points.

After specifying the layer names, click OK in the dialog. Then the program prompts to select the surface entities to model. For this example, type All and press Enter to process all the entities. The program will sort the entities for modeling of the existing and design surfaces by the layer names.

Next, you specify the inclusion and exclusion perimeters. For the stockpile, pick the perimeter polyline for the inclusion and press Enter for none at the exclusion prompt. The same Volume Report Options dialog then offers the same output options as Two Surface Volumes. Click OK. After this dialog, the report is displayed.

Select surface entities on corresponding layers.
Select objects:
All
Select objects: press Enter
Select the Inclusion perimeter polylines or ENTER for none.
Select objects:
select the perimeter polyline
Select objects: press Enter
Select the Exclusion perimeter polyline or ENTER for none.
Select objects:
press Enter
Volume Report Options dialog Pick OK

Volume Method 4 - Volumes By Triangulation

Step 1 - Triangulate & Contour for Base:

Before running Volumes By Triangulation, we need two triangulation surface files to compare. From the Surface menu, choose Triangulate & Contour which brings up the Triangulate & Contour dialog.

Under the Contour tab, turn off Draw Contours. Actually, drawing the contours at this step can be a good visual check that the surface is right but we're going to skip it this time. Under the Triangulate tab, turn on Write Triangulation File, Use Inclusion Perimeter and Ignore Zero Elevations. Then pick the Browse button and set the file name as base.tin. When the dialog is set as shown, pick OK.

Next, the program prompts for the inclusion and exclusion perimeters. Choose the perimeter polyline for inclusion and nothing for exclusion. Then you select the entities to triangulate. For the base surface, pick only the perimeter polyline and then press Enter.

Select the Inclusion perimeter polylines or ENTER for none.
Select objects:
pick the perimeter polyline
Select objects: press Enter
Select the Exclusion perimeter polylines or ENTER for none.
Select objects:
press Enter
Select the points and breaklines to Triangulate.
Select objects:
pick the perimeter polyline
Select objects: press Enter

Step 2 - Triangulate & Contour for Stockpile:

To create the second surface, repeat step 1 with a few simple changes. In the Triangulate, choose Browse, and set the file name to FINAL.tin and then pick OK.

For the inclusion and exclusion perimeters, again choose the perimeter polyline for inclusion and nothing for exclusion. At the select objects prompt, enter All and press Enter to use all the points and the perimeter to make the stockpile surface.

Select the Inclusion perimeter polylines or ENTER for none.
Select objects:
pick the perimeter polyline
Select objects: press Enter
Select the Exclusion perimeter polylines or ENTER for none.
Select objects:
press Enter
Select the points and breaklines to Triangulate.
Select objects:
All
Select objects: press Enter

Step 3 - Check Surfaces:

Similar to the Check Surfaces step under Two Surface Volumes, this is an optional step to check that the surfaces are correct. Again, there are several routines that we can use. Let's check the surface file directly.

From the View menu, choose the Surface 3D Viewer command and open the FINAL.TIN file. Just as before in the 3D Viewer Window, you are able to use the mouse click-and-drag methods to rotate the stockpile into view. Also, set the Vertical Scale to 2.0 and turn on Color By Elevations.

Close the Surface 3D Viewer by choosing the Exit Door button. Notice how we didn't have to draw anything to the screen/drawing to check this surface!

Step 4 - Volumes By Triangulation:

Now that we have our two triangulation files, we can use Volumes By Triangulation which performs a TIN to TIN prismoidal volume calculation. Of all the volume methods, this one is the most accurate since all the source data points are used in the volume model. Volumes By Triangulation is well suited for this example.

Run Two Triangulation Surface Volumes from the Surface > Volumes By Triangulation menu. For the Select Existing Surface File dialog, choose BASE.tin. Next, for the Select Final Surface File dialogue, choose FINAL.tin. Click OK. At the prompts for the inclusion and exclusion perimeters, pick the perimeter polyline and press Enter for None for the exclusion. In the Volume Report Options, go with the defaults and pick OK. Then the volumes are calculated and the report is displayed.

Select Inclusion polylines.
Select objects:
pick the perimeter polyline
Select objects: press Enter
Select Exclusion polylines.
Select objects:
press Enter

The volume report displays.

Volume Method 5 - Calculate Section Volumes

Step 1 - Draw Centerline/Baseline:

The first step for section volumes is to draw a polyline to use as the centerline for the section alignment. This centerline needs to be drawn so that the perpendicular section lines to the left and right of the centerline have a clear line to reach the perimeter without crossing and re-crossing the perimeter.

Before drawing the polyline, run Aperture-Object Snap in the Settings menu, and turn on only the Node snap.

Choose 2D Polyline under the Draw menu. If the options dialog is shown, make sure that the elevation is set to zero and pick OK. Then at the command line, the program prompts to pick the polyline points.

[Continue/Extend/Follow/Options/<Pick point or point numbers>]: pick point 2027
[Arc/Close/Distance/Extend/Follow/Line/Undo/<Pick point or point numbers>]: pick point 2015
[Arc/Close/Distance/Extend/Follow/Line/Undo/<Pick point or point numbers>]: press Enter

Step 2 - Define Section Alignment:

The next step is to define the station interval and left/right offsets for the sections. Choose Input-Edit Section Alignment from the Sections menu. In the Specify Section Alignment File dialog, choose the New tab and enter a file name of Vol-Sections.mxs, and click Open. The program then prompts for the centerline. Pick the centerline polyline that we just drew. For the starting station of the centerline prompt, use the default of 0.

Polyline should have been drawn in direction of increasing stations.
CL File/<Select polyline that represents centerline>:
pick the centerline polyline
Enter Beginning Station of Alignment <0.00>: press Enter

Next there is a dialog to set the section parameters. Set values as shown below and then click OK.

Select boundary polyline: pick the perimeter polyline

The program draws temporary lines in the drawing to show the positions of the sections. The next dialog shows a summary of the section alignment. Pick the Save button.

Step 3 - Create Section File for Base:

To create the section file for the stockpile base, run Sections from Grid or Triangulation Surface from the Sections > Create Sections from... menu. When prompted to Choose Grid or Triangulation file to process, open the BASE.tin file created earlier. When prompted to Choose Section Alignment file to process, open the Vol-Sections.mxs file. For the Section File to Write, save a new file called BASE.sct. On the final dialog for Link Sections to Triangulation, choose No.

Step 4 - Create Section File for Stockpile:

Let's follow similar steps to create the FINAL.sct file.

To create the section file for the stockpile itself, run Sections from Grid or Triangulation Surface from the Sections > Create Sections from... menu. When prompted to Choose Grid or Triangulation file to process, open the FINAL.tin file created earlier. When prompted to Choose Section Alignment file to process, open the Vol-Sections.mxs file. For the Section File to Write, save a new file called FINAL.sct.

Step 5 - Check Sections:

Similar to the Check Surfaces steps under Two Surface Volumes and Volumes By Triangulation, we have a couple surface files. Before running the volumes, this is an optional step to check that the surfaces are correct. There are several routines to check sections including Input-Edit Section File, Draw Section File and Section To 3D Polylines.

For this check, run Input-Edit Section File under the Sections menu. For the Section file to process dialog, choose the FINAL.sct file. Next the Input-Edit Section File dialog is displayed. Pick the button labeled 2nd and choose the BASE.sct file. Then highlight station 0+94 (for example) from the Stations List and double click on it or pick the Edit button.

This brings up the Edit Station viewer for station 1+00. Use the Next and Prev buttons to look at other stations. After checking the stations, pick OK to exit Edit Station, and then pick Exit from the main dialog.

Step 6 - Calculate Section Volumes:

Now that we have our two section files, we can use Calculate Section Volumes, which does volumes by the average end-area method which is traditionally accepted for corridor studies.

From the Sections menu, choose Calculate Section Volumes. For the Existing Ground Section File, choose the BASE.sct file. For the Final Ground Section File, choose the FINAL.sct file. In the Calculate Section Volumes option dialog, use the defaults as shown.

Click OK. The volumes are calculated and reported, along with the cut and fill end-areas at each station.

Results Summary

As mentioned earlier, each volume methodology has a particular use and knowing the applications for each method will serve you well. Here is a summary of our results:

Volume Summary/Comparison
Method Fill (c.y.) Cut (c.y.) When to use
Stockpile Volumes 2,656.51 - na - Quick and approximate Fill-only volumes are sufficient
Two Surface Volumes 2,656.43 15.21 Large data sets when approximate Cut and Fill volumes are sufficient
Volumes By Layers 2,656.43 15.21 Quick and for large data sets when approximate Cut and Fill volumes are sufficient
Volumes By Triangulation 2,659.64 16.68 Large or small data sets when precise surface-to-surface Cut and Fill volumes are needed
Calculate Sections Volumes 2,659.69 16.68 Corridor studies where end-area averages are sufficient

This completes the Lesson 9 tutorial: Calculate Volumes By Five Methods.