Automating Basin Stage–Storage Calculations in Dynamo

I’ve been developing a Dynamo workflow to automate basin stage–storage calculations directly from Civil 3D surfaces to remove manual steps and make basin analysis fully dynamic.

Workflow overview:

  1. Inputs – Select the basin boundary polyline and TIN surface, then define Min/Max RL and increment.

  2. Crop surface – Limit the surface to the basin area (currently facing an issue here).

  3. Generate Z levels – Create elevation stages between the min and max levels.

  4. Calculate areas – Intersect each plane with the surface to determine plan area.

  5. Compute volumes – Apply trapezoidal calculations for incremental and cumulative storage.

  6. Export – Output the full stage–storage table to Excel.

The challenge is that the Civil3DToolkit.TinSurface.ByCroppingBoundary node used to clip a surface to a polygon is no longer available in the latest Dynamo library. Without it, isolating the basin area isn’t working properly, leading to inaccurate volume results.

I could create cropped surfaces manually in Civil 3D, but I’d prefer to keep this fully dynamic by allowing automatic cropping from selected polygons within the script. Has anyone found a good workaround or replacement node for surface clipping in recent Dynamo builds?

Thanks

Hi @shane.mccarney,

I know you’re looking for a Dynamo solution here, but just wondering if you considered using the new pond object in Civil 3D? Then the storage curve is generated automatically for you.

2 Likes

Hi @zachri.jensen thanks for this. I have looked into this however, the ponds functionality does not work for my needs unfortunately. I need something than can work with assessing available depression storage from topographic survey and design basins.

Don’t want to keep harping on this too much, but just want to confirm…

Did you try the “Create Pond from Surface” tool?

2 Likes

Hi @zachri.jensen apologies, I missed this one as I’m running 2025 and not 2026, this option will work perfectly. Thanks