So – for the last three nights I banged my head why – oh why – on re-execution of my graph my FamilyInstances.ByPoint would jump all over the place like headless chicken.
It dawned on me – Dynamo wants to be clever and caches stuff -so all the elaborate placement and rotation nodes – well – they wanted to be clever and stuff flew around like… (to be filled in)
Prorubim to the rescue:
The website: You’ll find it here.
A snippet from my graph – please hold on, full details in the coming days:
Without the ForceChildrenEval node – chaos
With the node – all good:
Saves the day tomorrow – at least I hope…
Life is good…
Another song that is stuck in the back of my head and the one line of lyric is hilarious “You’re gonna take a walk in the rain. And you’re gonna get wet”
You want to build a complex assembly in Revit using Dynamo and I can assure you – you’ll have a hard time keeping the marbles up there in your scull working together.
Lets roll this from back to front for a change – the result looks like this:
The Dynamo behind it is probably not the most elegant piece of graph on this planet but – finally, after a week of tinkering around it seems to be stable:
Nonetheless to say – you won’t be able to decipher the graph from the screenshot so if anybody interested ping me or try to dissect it here.
We got a UI around it – thanks to Data-Shapes:
And if we throw it into Dynamo Player we won’t see the ugly spaghetti graph…
Nonetheless, the beauty of all of this is that we managed to position 2787 individual elements in a single run – not too bad in my humble opinion.
Life is good….
PS: Credits for the parts go to Dutch Steigers.
PS1: This will be refactored by using less Dynamo and more nested families such as this one:
So stay tuned…
Family time – isn’t it. Not the schmooze kind playing with your kids (especially when your kid is closing in on becoming 20) – nor the zoo time part – Revit families… lets take a look at the following picture:
Could all this be a complex nested family – probably so. But your’s truly is sick and tired of troubleshooting complex families that tend to break out of the blue so we went the hard way and did this entire assembly in Dynamo. The graph is probably the worst piece of spaghetti code:
So the word is out – nested families or Dynamo – or both? This story will be continued…
If you want to get the graph for playing around – grab it here.
The testbed Revit project – grab it here.
Next steps – the strategy is to create basically 2 families of repetitive parts to position with Dynamo to cut the chaos down. Ongoing project, lots of new stuff learned…
Life is good…
Now this is a complex one… look at the assembly of parts in this screenshot – credit to Dutch Steigers – follow them here – https://www.facebook.com/DutchSteigersBv/
Crazy amount of details and components – so – in Dynamo we try to recreate this and – warning – this is an ongoing story, the Dynamo graph is at 50% yet but there is a system behind the madness…
So – the graph can do this right now:
The graph behind it is – rather complex:
Let’s go through it step-by-step:
Here we analyze the line to build the scaffolding along:
We assemble the initial parts and rotate them into position:
And the rest is copying stuff around…:
This is just a sneak peek int what is going on there but if you are interested stay tuned or send me a PM or mail – again, credit to Dutch Steigers for giving us the opportunity to make this happen…
Life is good…
Again – a silly song title – name the band and the album and I’ll send you a gift.
Nonetheless – let’s get to the topic and my new friend Alfred thinks it has some real potential as well – here is Alfred:
So the story goes – while trying in good openBIM spirit to get an IFC into Revit we noticed that some elements come in faceted:
Let’s take a look at the roof – a piece of planar slab and still – a faceted import geometry:
Import symbol… ouch – we do not want to have that, Revit is not good with foreign geometry at all and especially this kind of import symbol that turned out to be a mesh.
Hmmm – how are we going to make a genuine Revit geometry out of this? Dynamo helps…
Let me walk you though this graph – first we are getting the element in question and its geometry:
Nothing new – now we deconstruct the mesh using sone secret sauce from Spring Nodes:
Now we construct a solid from the faces of the mesh:
And then again – Spring Nodes to our help – we create a loadable family of the category of our choice:
Which results in:
And see – it is a loadable family composed out of a free-form element:
And now let’s just contemplate how much we can do with creating genuine Revit solids out of meshes…
Life is good…
One of the things about Dynamo we love is the quick solution. OK – there are complex workflows we sometimes attempt and that is all fine and good and probably should be left to real programmers – but then, every day or two we encounter challenges to tackle…
So – tonight, Christmas Day, easy day, I am just prepping an IFC for use in tomorrows task and while getting it into Revit is shows a load of room related warnings.
The task is to use the IFC as a backdrop for a site model, so rooms are the least of concern for me right now and just lets nuke them out.
That’s the IFC in Revit (ouch – but that will be another story…)
That’s the Dynamo:
And that is all it needs – rooms gone – file performs well all is good…
More substantial Dynamo groove to come these days…
An very merry to all of you out there and our little creep in the attic chimes in – https://shutupandbim.wordpress.com/2017/12/22/and-a-very-merry-and-some-rants/
Another little Dynamo – this time we make sure that no water enters the basement and we”ll install a structural connection family at the bottom of the wall that joins basement wall and foundation slab together.
In Revit terms – positioning a line based family at the center line of the bottom of a wall.
That are the walls
This is the Dynamo:
Let’s quickly dissect the Dynamo:
This part only created the User Interface and if you want to know about that – please let me know.
Here is the more beefy part:
At first we need to get al faces from the walls and identify the bottom ones:
Very cool custom node – thanks to the Clockwork package
Next we need to get the perimeter curves of those surfaces:
Here we find the points to construct a line to place our family along:
Family placed, backed so that the next run will not remove already placed items.
And the result:
And life is good again…
Well – another challenge brought forward: find the contact surface between two joined walls and place a line-based family onto it.. think of this like a structural connection element that keeps a CMU wall connected to a cast in place wall.
Here’s the bigger picture:
Let’s dissect the dynamo:
This part utilizes the Data-Shapes Package to build a user interface to select the walls and the connecting family type. The result of this lokks like that:
After selecting the elements we go into the main part of the script: first we get the geometric intersection of the surfaces of the wall…
Now we extract the intersecting surface and construct a line use their u,v lines:
Now that we have that we can place the family:
And the end result is:
Family placed… depending how fancy you want to be you could add a load of model detail into the family… maybe a later post…
But for now – life is good…
Printing a sheet set from Revit can be tedious, especially when you want to have a specific naming convention or such…
Let’s look at this Dynamo:
Simply straightforward thanks to the Archi-lab_Grimshaw node:
And it gives us a directory full of PDFs – and we do not like the default naming at all…
So – time for the next Dynamo exercise – grab those files, rename them according to criteria we set, move them to a new location:
What we do here is basically simple – we first construct a filename based on a set of criteria – target folder, Sheet Number, Sheet Name:
Then we simply move the files providing the new names:
And the result:
That’s how we like it…
And life is good…