Replace/update external made shared parameters with office shared parameters

Hi (again),

This time I am looking for a solution (mostly dynamo I suppose for rvt 2024 or rvt 2022) for replacing existing and external shared parameters with the office’s shared parameters. A few to a lot of families and their subcomponents I use were originally made by an external company and would like to replace all the their shared parameters by ours. We use the same method for naming our shared parameters: company initials + _ + parameter name.
Example: EXT_length => SB_length (ext=external, SB=for my first and last name).
Worth mentioning some of the parameters are used in formula’s - will that be something that could cause some errors/warnings?

I hope that their is a way to slightly automate this process than doing everything manually.

Thanks for your help/input/ideas.

Some limitations you cannot automate around:

  • project parameters cannot be replaced (well). There are some bad workarounds out there for this but they are not safe so I do not recommend them.

  • if a family or geometry is nested in an array and uses an instance parameter, an error will occur when swapping parameters (just like in revit normally)

  • if you reload a nested family with new parameters you will lose all associations. This requires some very complex code to deal with this and is beyond my and most users abilities (I know how to do it, but don’t have code written for it). Youd effectively need to store the original associations, check them vs a list, reload and then call on the list to recreate the equivalent ones, hard to do.

Beyond that you will of course need to generate all equivalent parameters first so you have valid swaps. You cannot simply rename the parameters in the file manually as their Id will be the same and Revit will reject the swap due to bindings.

The script/thread here might be a good starting point, but this will be a complex workflow to set up if you want it to cover all the scenarios noted above, and you will at the least need to use Revit API/Python most likely. My custom package (Crumple) will have a node replacing parameters coming out soon, but it wont deal with associated parameters on reload or grouped/arrayed issues.

1 Like