Structural Framing types

Hi all,


Sorry for the (maybe) silly question, new to dynamo and trying to figure out things here.

I am building geometry in Revit out of point coordinates and all works fine. The only thing I cannot achieve is assigning a specific section to a specific member.

The attached image shows my attempt where all 8 curves will be built in Revit as 12X24 sections; I would like to assign a list of 8 different sections (one for each curve).

My list would look something like this:










Is it possible to achieve this by using one StructuralFraming.ByCurveLevelUpVectorAndType component only?


Thanks a lot.


Hi Alfonso,

If you pass in a list of structural framing types to match the list of curves you passed into the same node, then the StructuralFraming node will match them accordingly. (For anything fancier, see “List Lacing” and “Function Passing” in the help files.)




that’s really helpful and it gets me closer to the solution. Thanks for that.

I am actually reading values from a database so would like to actually use a list of strings and build the structural column type from that. Any hint on that?


Thanks for your help,


If that database contains the UniqueIDs of the respective structural member types it’s a piece of cake. Have a look at this post to see how you could convert those IDs back to elements:

Otherwise you would have to identify them by name which is also possible (but involves a little more work).



Thanks for your answer. I have been caught up with other stuff and didn’t try this until today.

To answer your question, I do have the uniqueIDs of the elements but I still don’t get how you would then assign the different family types. I am attaching a JPEG to better explain my current status.

I have the same thing working with a plug in I wrote for Revit but would like to do it in Dynamo now; I am basically trying to understand if there is already a solution for it and I am not seeing it or if I need to develop a custom node.


Thanks a lot for your help,


Dynamo Framing

I can’t see the large version of your image, but consider the following workflow (Element.ByID is from package Clockwork, but it’s basically the same thing that Phil was using in his blog post to convert UniqueIds into actual elements):





Thanks a lot for the prompt answer.

This helps a lot!

I see what you are saying now; But, I miss read your question before. I thought you were referring at the UniqueID of the Structural Framing (not structural framing types).

Now I understand that in order to do this I would need to retrieve the UniqueID of each Structural Framing Type I want to use. I got it to work by creating a list and adding different structural framing types but in the real application I have hundreds of types so it’s not feasible.

I guess the way to go would be to convert the list of strings (list of frame sections from excel) into a list of structural framing types in Dynamo? would that be a good approach in your opinion?


Thanks a lot for your help,


If your strings match the structural framing type names, you can just as well use those names as identifiers (provided they are unique names, of course). Just create a reference list with all the structural framing types in your project and then match the type names from your excel list to the reference list in order to obtain the respective element types, like so:




This looks exactly what I was looking for!

I’ll give it a shot tomorrow morning and let you know the outcome.


Thank you!


If you have those family types already existing in your revit file and you have their name as a string, wouldn’t it be easier to just use the “FamilySymbol.ByName” straight away?


Nice catch, Dimitar! Wasn’t aware of that node at all…

This did it, thanks a lot for your time guys!