Changing Specific Family Type in Revit with String Input

Hello everybody,
I am working on a project in which the steel columns and beams of the structure are being converted into laminated wooden columns and beams based on mechanical calculations. I would like to share my current situation: I have reached the point where I need to find an equivalent for a specific profile. In this case, we can see that for an IPE600, I can use a wooden laminated beam with dimensions of 160X1240mm. I have stored the width and height of this wooden profile in another variable.
Picture1

I would really like to automatically adjust the IPE profile, and this is where I am facing difficulties. I don’t have a clear idea of how to accomplish this. The attachments include two images: one of the steel profile and its wooden equivalent variant, and the other is a List.GroupBy of all the beams.

It seems logical to use Element.SetParameterByName to modify these elements in the Revit design, but I’m not sure how to specifically adjust only the IPE-600 profiles to 160X1240mm…
Picture2

I would appreciate hearing your opinions and perspectives on how to approach this issue. Thank you in advance!

Start by researching dynamo dictionaries i think.
This will create a direct assiciation from the an exiting type to a specified type.

Just a small thought…

Why not just select the IPE beam in Revit, then select all instances in project, and then change the family type to the beam of your choice?

2 Likes

Hi,
Thanks for sharing your view. I have multiple profiles and these profiles must be changed automatically based on the results from the calculations. These calculations are made also in my dynamo script. The (ideal) goal of this project is to change the steel beams and columns into wooden beams and columns.

In that case, as pyXam suggested, creating a dictionary is a good starting point, so you can match the steel beam to the appropriate wooden beam.

Then you could go a route like:
=>Select all elements of category (structural framing) => get family type name => run the outcome through your dictionary, this will return the appropriate wooden beam family type name => set family type name

Do the same for structural columns.
Also maybe first fitler out all the list of beams columns after getting all by category, so you immediately start out with only a list of elements you’re going to change.

2 Likes