…but let me start with explaining WHY I’m doing this. Imagine a high rise located somewhere in London, It will have 60-something floors, around 18000 beams, more than 2000 columns – and 2-5 people working on the structural model, just to make the tight deadlines possible. It would be hard to keep track. Now imagine a lot of design changes, structural supports moving left and right, columns disappearing and appearing again. And to top it all – very restrictive column schedule macro that doesn’t take “almost in line” as an answer. I need to be able to quickly see if all the columns are in line, are the column numbers assigned correctly and were there any last-minute design changes that I’m not aware of.

Now we get to the Dynamo part. This is what I have so far, and keep in mind this is just a very early version of this concept:

So what’s the deal here? First, we get all the columns from the model and choose the column “path” that we’re interested in (C12 here). Then it get’s trickier – as far as I know, Dynamo 1.1 (which I’ve used to write this) doesn’t have an easy way to get X,Y location of the center of the column (I know there’s a node for that in 1.2), so I’ve came up with following workaround: we get the coordinates value from Element.Solid – asking for maximum and minimum Y (thus getting the point in the middle), and we subtract this with value of the column below. If it’s zero – columns are in line. To make this work, columns should be sorted according to Z value, and to my suprise this wasn’t the default – somehow slopped columns mess up this order (that’s why the counter-intuitive sorting method)

As I said, this is still very early version, and here are my plans for further development:

- Exporting to Excel
- Export all the columns, not just one “line”
- Checking X,Y values at the top and bottom, so that slopped columns won’t be seen as an “value other than zero”

Feel free to comment on this script – I’m still learning here!

*Related*