OK, so i have been putting this off for so long, i have decided to jump into this feet first and see if i survive the concussion.
I have been watching Gavin over at BAG and its motivated me to do more. I have been brainstorming some ideas that would have a positive impact on the workflow of myself and also of others.
I have used Revit since it was “Building 3” back in the day. I know enough to get by and teach others when needed. I have always put off Dynamo.
This is what has gotten me motivated and hopefully, is doable!
What im after from the post, is maybe responses if people think it can be done, and the Add-on that may get me there. I need to learn myself.
Extracting custom data attributes from model elements, organising them and then having the extracted data placed in specific excel columns.
So something like:
Attribute A, exported to Excel column A7
Attribute B, exported to Excel column C12
and so on.
I’m hoping to bypass a manual input.
Is it possible, to isolate elements, say Structural framing members if a criteria is / isn’t met/satisfied, and have a duplicate view created based on that specific criteria? So for example, generate a view based on Steel, only by Material A…or only by Material B…
Can structural analysis formula be input as a code block - or is there a specific package for this? If i myself wanted to analyse say, a framing member to see if it passes/fails some rule of thumb design criteria, can that be done in Dynamo and then, linked to item 2 above, where it only shows (or doesn’t show) the framing members that the rule of thumb calcs apply?
Bottom line Summary, i’m trying to script some initial design checks, before the need to feed into masterseries (maybe robot in the future), and also our design spreadsheets we have.
If i can extract the element geometry along with any designated loading, it would be a very efficient way to carry out quick checks. This would reduce the burden for licences we have very few of in the first place.
Anyone attempted this at all? Or parts of this?
I’d love to hear people’s thoughts on whether this sounds possible?!
This all sounds doable but of course depends on how you want to handle certain things. I would highly suggest making your way through the Dynamo Primer. It covers many of the basics and has examples and walkthroughs for lots of common processes. I would also recommend getting familiar with the forum itself and research similar topics that have already been answered. Much of what you’re trying to do has been addressed many times already - maybe not exactly the way you want, but the logic and the workflows stay primarily unchanged.
Thanks Nick - i’ll take a look at the search filter. My only problem searching, is not through pure laziness - is that, knowing the right terms to search that is associated to the correct function/output i am after.
Some may argue thats the fun of learning - ha - i disagree strongly lol.
But i will take a little look through and see what’s already about. Hopefully i can contribute more in the future!
This can be frustrating, but don’t focus on finding your exact solution, or any solution at all sometimes. Instead, break down your outcome into simple steps and search for those steps. Searching for just “isolating elements” or “structural analysis” to see what’s out there and what information you need to even get started is the important part.
What Nick said + Google.
Google (other search engines are available) is your friend.
Getting parameters from Revit elements and exporting them to excel is pretty straightforward once you get your head round the fact that a few Dynamo nodes work only for type and some work only for instance parameters.
Glad to hear my content was helpful and gave some motivation to dive into dynamo!
Everyone’s tips here are sound. Dont worry if your first few months of Dynamo feel very aloof and unproductive, it’s a matter of focusing on basics and then building up knowledge on top of these if you want to reach more complex workflows like those you’ve noted.
The bumblebee package can update specific ranges in excel, but is probably not beginner friendly versus just learning list management and simple read/write excel first.
When it comes to processing and catching errors or exceptions, if statements/nodes can help a bit, and isnull checks along the way. Eventually Python becomes necessary if you want good flow control but I usually say hold this off until youre comfortable with dynamo generally and want more out of it beyond custom packages.
Theres a few videos on my channel labelled with for beginners, highly recommend trying those out as theyre fairly simply versus my usual pace/caliber of workflow.
I came across your channel a few years ago, and recently revisited - youtube algorithms are as unpredictable and flakey as ever!
Your second/third video in your tutorial series was exactly what i needed. You grouped together the nodes by their applications so to speak…so everything started to look less daunting. Like i said before, knowing what a node does is critical and when and where it can be applied - otherwise we are floating in shark infested water.
Just a quick one on formulas, i know your background is architecture, but for structural engineering, there are a few stable formulas that would be ever present in my scripts. Good old bending moment formula.
In your experience, writing formula - would you compile separate code blocks, 1 large code block, create your own node package (to keep things clean), or use a python script for long winded math formula?
And if i could be really cheeky - is there a way (Only a yes or no, don’t want to take up more of your time), extracting a value from Revit using dynamo, and then comparing it to a list of other values (external)…and automating the selection of the closest external value that matches?
So, you extract say the value 5250 from the model. You have a list of values externally (100, 500, 1000, 2000, 4000, 6000, 12000 etc) and dynamo can identify that 6000 is the closest match?
For formulae that take some values and return an outcome, the destination for me would probably be a custom package - in fact I suspect someone out there has probably done some of this. In the short term whilst learning, code blocks would be a good way to practice object orientated/written programming however.
Comparing a value to others is interesting, it depends how you compare it. E.g. are you finding the closest number, or are you finding an exact match? Here’s a trick you can use to find closest number, it involves a bit of sneaky maths… as I get deeper into programming I find I’m more often calling on abstract logic to solve problems in efficient ways:
That’s cool! To answer your question, it’s as you have done so, closest number (will it round up to the closest number if its bang in the middle of 2 values equally spaced apart?) 0 - 100, if you type 50, will itt return as 100? (I’ll check later myself when im back at my Windows machine)
A little background into what i have tasked myself doing, is extracting data from a framing member, apply in a bending formula to those parameters, with the information generated, compare it some viable structural options.
It would be a dumb down version of an analysis script, but within Revit to get some quick answers.