Analysis for uplift - Get volume information below groundwater level

Hello dear community,

I am looking for a way to simplify the “analysis for uplift” of my structural elements!

In a practical example I’ve modeled an “access shaft” for construction works of a tunnel.
I’ve set some user defined parameters as “stabilizing” (yes/no) and “destabilizing” (yes/no). Furthermore I have defined a level “groundwater” in Revit (see attachment).

I worked with Dynamo to get the volume and specific weight of the stabilizing elements (filtered by parameter “stabilizing” (yes)). It works pretty fine. Take a look at the second attachment.

Now my question to you:

I would like to find a way to get the volume of the structures which are below (!) the level “groundwater” for the elements with parameter “destabilizing” (yes).

The problem is, that the elements (as walls, columns…) are continuous from the foundationslab to the ground level.

Is there a way to get just the volume below the level “groundwater” of an element which has no reference to that level?

It should just be a tool. For that it is maybe also practicable to safe a copy of the revit file and split all elements at the level, or delete the elements above groundwater? Of course it would be also nice to get the informations without a “split”. :wink:

It should be sufficient to get the total volume because the uplift force is just the result of volume multiplied by specific weight of water!

Thanks for any idea or help!


Are you able to get the groundwater level as a plane in Dynamo?
If so you could use that you check which items intersect that plane and get the location of the intersection.
Now you should be able to get the geometry from everything below the water plane and get the volume from that.

I just added a referenceplane at the level of groundwater in revit. Then I tried to get the location of the Intersection. But I just got the elements which intersect the plane. The amount is 66 - and thats the right number of elements and that should work.

Can you explain a little bit more or show me a way how to get the volume?

You need to add your stablilizing filter to this and also figure out how to find the elements that are modelled completely below the GW level.

The Point is any point above your GW level to indicate the above volume should be cut, you can use any other method to generate a point there. (maybe use the Z value of the topside of the intersecting walls?)

1 Like

Hello Bjorn and anyone else,

thank you so much for helping me! I added my filter for the elements, set a point above the GW level and also got a result!

Now my problem is, that just only one element geometry (List number 0) is considered. I think tat your example uses only one wall element?

I started pretty recently to work with dynamo and I dont know how to solve it!

Thanks, Stefan

The lacing on the Trim Node should be cross product. Use your right mouse button on the Node.

Read up here:

1 Like

Hello once again!

First of all: Thank you so much!!

Today I had a little bit more time to check the dynamo skript and first it seems everythink works fine!

Now I have a little issue in fact of the opening for the tunnel. There are 3 piles which are cutted by this opening. As I use the intersection trim, the part of the pile below the opening is not considered anymore…

In my case I set the groundwaterlevel just 30 cm below the top of the piles. For that the difference should just be a little amount to the trimmed geometry. As you can see in the screenshot the difference is much more and in the 3D watch you can also see that the part below the opening isnt considered.

Any idea how to solve that last pice? :slight_smile:

Thanks, Stefan!

Do you have any idea? I tried a lot but without a result :frowning:

I need the volume of the part below the opening. Is there a way to get the volume information of that parts?

Assuming you’re only concerned with the total volume, consider combining the solids into one before trimming.

Providing sample files dyn and small Revit file (purged) would help

Hi Vikram!

As I am a new user, I wasnt allowed to upload dyn files.

Thank you for your help, now the volume below the opening is considered!

For a transparent calculation it would be important to get the volume of each element in a excel sheet, which isnt possible with that method.

But its getting closer! :smiley:

Maybe there is another way to solve it without “Solid.ByUnion”?

Thanks, Stefan!

Auftriebsnachweis_temp.dyn (178.9 KB)
Dynamo_uplift.rvt (3.8 MB)