# Replace/update external made shared parameters with office shared parameters

**URL:** <https://forum.dynamobim.com/t/replace-update-external-made-shared-parameters-with-office-shared-parameters/99757>\
**Category:** Revit\
**Tags:** revit, excel, dynamo\
**Created:** [April 5, 2024, 2:23pm UTC](https://forum.dynamobim.com/t/replace-update-external-made-shared-parameters-with-office-shared-parameters/99757 "2024-04-05T14:23:21Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![GavinNicholls](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/gavinnicholls/32/190442_2.png) [@GavinNicholls](https://forum.dynamobim.com/u/GavinNicholls)\
**Post date:** [April 5, 2024, 11:17pm UTC](https://forum.dynamobim.com/t/replace-update-external-made-shared-parameters-with-office-shared-parameters/99757/2 "2024-04-05T23:17:47Z")

</div>

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.

> [@Replace Family Parameters with shared parameters](https://forum.dynamobim.com/t/replace-family-parameters-with-shared-parameters/93914/15):
>
> To add to this I can see forgetypeIds are going to be on my radar so I bit the bullet and figured out how to get specs/groups by name. Much easier than I thought, I quite like them now vs the old method - targeting the human friendly name is great. # Boilerplate text import clr clr.AddReference("RevitServices") import RevitServices from RevitServices.Persistence import DocumentManager clr.AddReference("RevitAPI") import Autodesk from Autodesk.Revit.DB import \* # Current doc/app/ui doc = Do…

---

_[View the full topic](https://forum.dynamobim.com/t/replace-update-external-made-shared-parameters-with-office-shared-parameters/99757)._
