How to modify the instance parameters for a Revit beam through Dynamo

Hi guys, I am just starting up with Dynamo and I am very excited about it. Recently I created an algorithm which returns the section dimensions for a beam (based on some loads and some other constants and variables). At would like to tell Revit to use the sectional dimensions calculated by me (b&h) and create a 10 meters long beam. Is that possible ? If yes can you please explain me how to do it ? I really need to know this.


Much appreciated,


It isn’t possible?

Creating the beam will be the easy part. You can see an excellent example from Help>Samples>Revit>RevitStructuralFraming

What might be tricky however, is creating the new family type with the new size on the fly and then applying it.

I think you will need to engage the Revit API for that.

Ok … great… but how ? please give me an example. I have three values b=350mm, h=500 mm, L=5 meters and through Dynamo I want to tell Revit to create a 5 meters long (b * h beam)

I could give you an example for a dirty workaround. If you don’t necessarily need the beam to be using the Structural Framing family, you could model the beam as a mass. That way you could use any numerical input for b/h/L:














I managed to find the node that lets me modify a parameter of a structural element created in Revit. Unfortunately by doing so, I am only able to modify the instance parameters - which means that the family needs to be modified before (to change the b&h parameters from type to instance) - unfortunately by doing so, Revit crashes… The easier way is to directly modify the type parameters but I didn’t find a way to do this yet (I don’t know if this is even possible).

@<span class=“author-link”>Dimitar Venkov</span>

Thank you very much for your idea. This will work for my case but it is not enough. After I create the beam, I want to create some reinforcement bars (based on another algorithm) so for my purpose it will be best if this would be a beam element.

As long as you create your family types before hand (eg. 500 x 300mm, 1000 x 500 mm…) and your formula gives finite numerical results that match those earlier created family types, you could use the following definition:







Family types are called FamilySymbol in Dynamo and Revit’s API. Still not sure how to create new family types on the fly.