I recently ran into an issue with shared parameters that have the same name but different GUIDs. This happens when somebody creates the new shared parameter instead of using an existing one. And the difference between parameters’ GUIDs is a huge problem: Revit knows that these parameters are not the same by looking at the GUID.
Revit does not show parameter GUID unless you export this parameter to the txt file. And this may be a problem if you have tons of shared parameters loaded to the project.
So I thought that it would be a good idea to build a Dynamo script for reporting some information about shared parameters. Firstly I queried unique Ids for the shared parameters:
Turns out, these Ids are not the GUIDs that I was looking for. This could be checked by opening the shared parameters txt file. That’s why I built a couple of custom nodes using the Revit API to extract data from shared parameters:
The first one (called “SharedParameters.GUID“) extracts names and GUIDs from the shared parameters in the Revit project. These are the GUIDs that could be found in the shared parameters.txt file.
The second one (called “SharedParameters.Info“) extracts type, group, and unit type from shared parameters in the Revit project. This data may be useful for managing parameters (like sorting / grouping) in Dynamo.
Both of these Revit add-ins use the same concept: they provide you with clash detection in real time, while you build your model. There is no need to iteratively run clash tests, and you can visually see the conflicts in views and schedules. You can see the full process in these videos above.