Monthly Archives: December 2013

API or not API: addins vs Dynamo in Revit

A recent thread on makes me think of a few things regarding API stuff in Revit.
As a Revit user, I would love to be able to solve my every day problems with some code, like Harry Mattisson from BoostYourBIM do. But I don’t have that skill yet. I plan to, but it will take time as I don’t have any programming background. Thinking further, I have some ammo in my pocket: I learn Dynamo. The RFO thread sounded like a challenge to me. I was confident it can be achieve with Dynamo, and it was also a way to learn a bit more. Solving problems makes you learn a lot.

You will find here a definition that allows user to retrieve the XYZ position and Mark parameter from a collection of family instances. You write this in an Excel worksheet, then you add informations in Excel. When done, you read this data and push it to the Family instances back, into the choosen parameters. There’s still some manual process involved. And a limitation: each time data you read change in Revit, you have to close Dynamo and re open it.

You will need some packages to make it work properly.


Paolo Emilio Serra demonstrate it can be done with an API addin, maybe in a better way than this one.
So the question is: which way will you choose?
I firmly believe Dynamo could be used for many many purposes, and addin-like behavior is one. First purpose of this tool is without a doubt computationnal design. But it is also a low-cost way of solving some problems and improve efficiency in Revit.
Definitions are easy to share and update. Users can tune them with only some basic Dynamo skill.

It is not the same with addins. It is a lot of work to manage and deploy. And users will not be able to tune things. Same thing for macros. On the other hand, addins are way more powerful and efficient….today.
Dynamo is not perfect, a huge effort is out on development: it is improved and fixed on a daily basis or so.

I don’t have an answer, but consider Dynamo in your trade. It may be worth.


Dynamo story: Reinforcement that “can’t” be done…..Part 2/2

In this second part, I submit to you a concept for making reinforcement on faceted slabs, aka floors with edited sub elements. Thanks Håvard for submitting such a shape….

OOTB Revit doesn’t like that much. Making rebars for this is a real pain.

roof teaser

It took me some time to figure out how to deal with that, as I first believe that Dynamo will be used the same way as for the wall of the part 1/2. I was wrong, or maybe not me but Revit was. Some kind of limitation for making UV grids on flat faces.

I started then to look for something else, and tried with edges. The result needs to be elaborate a bit, but the result I was looking for is here.

The video show you the process I followed, but I will explain some points.

I select the edges, then do an array of points from it; connect the points with curves; make Structural framing on them. Nothing really hard to figure out. The main problem is to order correctly the points on the edge so that it creates a grid like this

list_yesand not a grid like this (could be fun though…)

list_noThat’s why I’ve connected a boolean checkbox with a reverse list node; 2 or 3 try-error and you’re done.

boolean_reverseThe image here is from a custom node, the most convenient way to repeat a bunch of node in a definition. The waited input is a boolean node, one per edge. The inputs for the custom node look like this


The definition file is available here and the custom node can be found here.

Have fun and ask questions if needed. Feedback much appreciated.


Another Dynamo story: Reinforcement that “can’t” be done…..Part 1/2

From the inaugural RTC event until now I have had great chat and conversation with my friend Håvard Vasshaug, and one of the things we discussed about was reinforcement modelling with Revit. It started with a particular shape for a wall he was discussing about in his excellent RTCNA class.

Havard wall

From this point, I started thinking on how this could be achieved. Håvard suggested a solution with Adaptive Component, this is cool and can be done. manually…..

As I was on a good learning curve with Dynamo, I tried to automate AC placement. See the result in this post. Far from perfect, but a good start to believe this can be done in the end.

Later on, and further with Dynamo, I’ve discovered that the structural framing could be another good solution: it answers the need for modeling, and upon everything it provides schedules. It also provides a better batch processing to lower the memory needed to proceed. Let’s go kids.


This is what you will see in this video:

The definition used here is available for download here; you will also need the package named “UV/XYZ Grid From Face”, courtesy of Andreas Dieckmann . This definition works with the latest build of Dynamo available from here, and the Rebar-SF family is here.

The points to remember are:

1- select a face

2- evaluate UV grid on this, and remove the points on the edges

3- make curves in both directions

4- use the curves to place Structural framing families

If you are lucky enough to attend both AU2013 and Håvard’s class there, you may know this video already ;-).

More to come in another post about Dynamo and reinforcement.

roof teaser