﻿GetBoundedVolumes Method (, Double)
Calculate the volume of an area defined by several points.

Namespace: Autodesk.Civil.DatabaseServices
Assembly: AeccDbMgd (in AeccDbMgd.dll) Version: 10.3.488.0

# Syntax

C#
```public SurfaceVolumeInfo GetBoundedVolumes(
Point3dCollection polygon,
double datumElevation
)```
Visual Basic
```Public Function GetBoundedVolumes ( _
polygon As Point3dCollection, _
datumElevation As Double _
) As SurfaceVolumeInfo```
Visual C++
```public:
SurfaceVolumeInfo GetBoundedVolumes(
Point3dCollection^ polygon,
double datumElevation
)```

#### Parameters

polygon
Type: Point3dCollection
The polygon specifies the area where the volumes are calculated. Since the polygon should be a closed one, the start point and the end point must be the same. There must be more than 3 points in the Point3dCollection.
datumElevation
Type: System..::..Double
The volumes will be calculated from the specified datum elevation.

# Examples

CopyC#
``` 1// Create a region that is a polygon inside the surface.
2// The first and last point must be the same to create a closed polygon.
3//
4Point3dCollection polygon = new Point3dCollection();
5polygon.Add(new Point3d(20, 20, 20));
6polygon.Add(new Point3d(20, 80, 15));
7polygon.Add(new Point3d(80, 40, 25));
8polygon.Add(new Point3d(20, 20, 20));
9double elevation = 30.5;
10
11SurfaceVolumeInfo surfaceVolumeInfo = surface.GetBoundedVolumes(polygon, elevation);
12write(String.Format("Surface volume info:\n  Cut volume: {0}\n Fill volume: {1}\n Net volume: {2}\n",
13    surfaceVolumeInfo.Cut, surfaceVolumeInfo.Fill, surfaceVolumeInfo.Net));
14
15// If you do not specify an elevation, 0.0 is used:
16//
17surfaceVolumeInfo = surface.GetBoundedVolumes(polygon);
18write(String.Format("Surface volume info:\n  Cut volume: {0}\n Fill volume: {1}\n Net volume: {2}\n",
19    surfaceVolumeInfo.Cut, surfaceVolumeInfo.Fill, surfaceVolumeInfo.Net));```
CopyVB.NET
``` 1' Create a region that is a polygon inside the surface.
2' The first and last point must be the same to create a closed polygon.
3'
4Dim polygon As New Point3dCollection()
5polygon.Add(New Point3d(20, 20, 20))
6polygon.Add(New Point3d(20, 80, 15))
7polygon.Add(New Point3d(80, 40, 25))
8polygon.Add(New Point3d(20, 20, 20))
9Dim elevation As Double = 30.5
10
11Dim surfaceVolumeInfo As SurfaceVolumeInfo = surface.GetBoundedVolumes(polygon, elevation)
12write([String].Format("Surface volume info:" & vbLf & "  Cut volume: {0}" & vbLf & " Fill volume: {1}" & vbLf & " Net volume: {2}" & vbLf, surfaceVolumeInfo.Cut, surfaceVolumeInfo.Fill, surfaceVolumeInfo.Net))
13
14' If you do not specify an elevation, 0.0 is used:
15'
16surfaceVolumeInfo = surface.GetBoundedVolumes(polygon)```

# Exceptions

ExceptionCondition
System..::..ArgumentException Thrown when the passed in polygon can't construct a closed polygon.