Creating load calculations for each beam in Dynamo?

I am working on a project and we need to tell the Structural Engineer how much weight is on each of the beams of a warehouse I am working on (Tributary Load)(We do this all the time). There is duct work, conduit and plumbing run over these beams and I need to know the exact linear footage of each type of duct, conduit and plumbing pipe that weighs down on each beam specifically. The beams are 12’ apart meaning that the loads on them are any of the MEP work within 6’ in either direction of the beam. I have a PDF detailing the weight per linear foot of each type of conduit, pipe and duct.

So I want to make a Dynamo script that can spit out the linear length of each type of MEP equipment that passes within 6’ feet of ether side of each beam in excel. Then I can just multiply by the weights I have for each type of pipe in excel and I have the answer for each beam.

If anyone has done this or something similar before or has any ideas to share I would really like some insight on how to go about doing it.

Below are some screenshots to try and explain it a little better. The red space is the area for that beam that I need the linear footage’s from.

Thanks for any help, it is all appreciated.

1 Like

Haven’t tried this before, but a start point could be:

  1. Pull the location data for the beams and offset these by +6 and -6, and get thier endpoints and create a polygon to represent the tributary areas.

  2. Pull the location data for the systems (pipes and ducts), and do a polygon containment test between the system curves and the tributary areas. Use this as a filter to get every “system in each tributary area”

  3. PUll the location data for each system in each tributary area, and segment all lines at the intersection of the polygons, then get the total length for each line, and multiply this by the weight per foot.

Give it a whirl and see where you get.

1 Like

Thank you for the help getting started. I really had no idea what to do.

Here is where I’m at at the moment: