Change structural framing beam types

Hi there, I am looking for a method to change many structural beams in Revit from one size to another based on an excel file input. I have tried selecting a set of elements and using the Element.SetParameterByName node to change the type but this only allows me to change members to one beam size but I would like to use several beam sizes. Has anybody come up with a solution for this?

I do it all the time. The trick is that you need to define what it is you are trying to do a little better. Are you trying to simply switch types within the same family (a different sized HSS or Wide Flange?) or switch family as well as type (Concrete rectangular to Steel HSS). If you are simply switching type, you can use the name or properties of the type (depth, width, etc) to search for matching types within a particular family, then use element.SetParameterBy Name with Type as the parameter and the matched family types as the values. What you have in Excel is likely either a string (family type name) or parameters about the type input as numbers. Any Dynamo script you write will first need to deal with getting the “types” from the model that match the criteria you are feeding from excel.

If switching family and type, you just have to do the same thing first for the family (name matching more than likely) and then search within the types of that family for the family type the same as before.

If using names as your excel inputs, there is a node called “family type by family name and type name” or something similar to that. Basically it allows you to input the family and type names of what you are looking for, and it spits out the Revit family type that can be used to then SetParameterByName with.

Thank you! That is exactly what I needed.

How do I get the b & h values(Type Parameters) for my Structural Framing? The Element.GetParameterValueByName doesnt extract these values. Same case for Element.Parameters.

Hi Shrikant,

Your question is off topic. Can you create new post? Thanks :slight_smile:

1 Like

@Ben_Osborne, I am currently trying to do this on a project I am working on. However, I am very new to dynamo. Is there any chance you can provide some more detail/explanation to your answer? Ideally even an image or two.

Thank you