Structural Column Volume by Level

Hi dynamites,
I wanted to compute the volume of the structural column level by level. From the revit schedule I am getting the total volume of the column from the base level to top-level,
Considerations:

  1. Columns have base level as level 01 and top-level as Level 04.
  2. Some columns are in between the levels.
    I tried to use split geometry but it is not working. please refer the image and dynamo script which i tried, please help me to find the column volume for each level respectively.
    Thanks

I would split the geometry at the level’s planes and then group by minimum bounding box points relative to the levels.

Hi Jacob, Thanks for the help. I have made the script by using the Level. Plane and Bounding Box, But I am facing some problems to get the Total Volume Level by Level,

Problem 01: The volume of the columns I want as level by level, means I want the total volume of the column for each Level respectively. Please have look on the script.

Column%20Revit%20Schedule%20for%20Volume

Question: What I can use instead of Bounding Box Cuboid for Rounded Column. If I use the Cuboid then I am getting the volume as a rectangle, I mean dynamo is calculating the extra volume. please refer the image for the same.

Problem 02: How I can export the result including Element id so that I can cross-check as of now I am unable to recognize it.

Please help me to get what i am looking for, it will always be a great favor. Thanks again.

it should help you

1 Like

Another option is to build solids spanning level to level and get the intersection volume of that solid and your columns. That would give you the total column volume per level, if that’s what you’re after.

Another option a little less dependent on solids could be to calculate the centreline, divide total volume value by curve length, split curves where intersect planes and then multiply these subcurves by the volume per unit length. Lots of ways to approach it if one methods not working.

1 Like

I have a few suggestions, which are not the dynamo way, but it they probably get you to your goal.

  1. You could use the copy monitor function in a separate project and split the columns by level.
  2. Another method is to export the walls to ifc and import into an emtpy file. Split by level is also available. (This is also an option for splitting walls by levels outside of your main project file.)

There are plenty of arguements that could probably be made against some of these methods, but it’s all about developing workflows which minimize disruption, redundancy / low-value tasks.