My main goal is to replace all of one type of element in the project with another.
The way I’ve gone about it so far is by filtering for all of the element I want replaced, then grabbing its point location. All I need now is a way to place the new element into the project at those points.
If I was doing this in Revit (without Dynamo), I would select one element, right click, and use the “select all elements of type → in entire project” and then change the type, and they would all be replaced at the same insertion point.
Can you simply change the type of the filtered family, and skip playing around with the insertion points or creating new elements? You can use the Element.SetParameterByName note and change the Type (parameter “Family and Type”).
(Of course, if the insertion points don’t align or are not what you want, you would have to do more work)
Technically the elements are identical, however, the current ones are missing a certain property, which is read only. The new elements would carry that missing property with them.
If the parameter is read only, how is it set? If it’s a family parameter, reloading should be all you need to do.
I believe the parameter is set when it is taken from the pallet, so creating a new element would probably carry over that parameter. Is there a way to do that without doing it manually from revit?