Hi Craig,
I would approach it by looping through the AreaVolume Method, something like
the following algorithm ( not exact code):
surf.GetBoundingBox pntLL, pntUR
' create a 4*3 point array, where the planimetric coordinates are taken
from the pntLL and pntUR of the surface.
For i = botelev to topelev step 1
' z coordinate = cutting plane elev
areaPnts(2) = i
areaPnts(5) = i
areaPnts(8) = i
areaPnts(11) = i
surf.AreaVolume .05, areaPnts, cut, fill, net
totalcut=totalcut+cut
totalfill=totalfill+fill
next i
If you are doing stage-storage you are probably interested in only the fill
numbers, you should not have to closely define the exact boundary of each
plane. This assumes that the built surface does not fall away from the top
of berm. If you need some boundary internal to a given surface, you will
need the user to input the boundary of the top of the basin or pond
(overflow or top of berm) which you will use in the areaPnts array (does not
need to be rectangular).
The areavolume method is pretty slow. If you find it too slow, the other
option is to loop through the faces collection and do your own truncated
prism math for each face. More complicated code - but much faster.
sc
"Craig Barrett" wrote in message
news:414860b4_1@newsprd01...
> Hi,
>
> Does anyone know of any VBA code that will do volume cut/fill on a surface
> from a cutting plane at a 1 foot increment. I'm trying to do a stage
> storage on a dtm.
>
> Thanks,
> Craig
>
>