Renaming project parameters

Hello! My company has purchased a Revit template project (the MEPPP, https://ctcsoftware.com/product/mechanical-electrical-plumbing-productivity-pack), for MEP-scope on projects. The idea is to start every new project with this project (not via template) by “detach from central” and then the architectural model is loaded via “reload from”. This product has an enormous amount of engineering functionality (parametric families, schedules with engineering formulas, etc) built in to it. There are thousands of shared parameters included with the project.

The problem I’m facing at the moment, are that some of the project parameters appear to be very similar to other parameters (maybe even named exactly the same) that may come pre-packaged with Revit.

I’m looking for suggestions or ideas as to how I can rename all parameters, with a prefix, so I can differentiate the parameters that are part of the product we purchased compared to those that may already be part of out-of-the-box Revit.

I’m thinking the challenge will be renaming the project parameters that are set up as shared parameters.

@GavinCrump, might the method you’ve outlined in other messages and on your Youtube channel work for this? Or some modification to it?

Any recommendations or guidance would be greatly appreciated! Thank you in advance!

Hi @JustinStirling,

If I’m not mistaken @GavinCrump shows how to rename family parameters created from shared parameters.

It isn’t possible to rename project parameters created from Shared Parameters.

If it’s a template, you could delete the ParameterElements with Dynamo, change the Parameter Name in the Shared Parameter file and recreate the Project Parameters from the updated Shared Parameters.
Of course all the parameter values ​​in any elements will be lost.

2 Likes

For confirmation:

Out of curiosity, this sounds like a change CTC could make to their template which would benefit all of their customers, making their product even better than before. Have you tried asking them if they’d consider making the change?

2 Likes

Thanks to you both, @Alban_de_Chasteigner & @JacobSmall.

I had a feeling this was going to be the response. I have not reached out to CTC. That’s a great idea, but unfortunately at this point we’ve already done so much customization to it for company standards, that going back and starting from scratch would be a bad idea.

Thanks again!

1 Like

To add to the discussion, my usual workflow for this is to add the new project parameters using Dynamo, then use Rhythm’s set parameter by type or instance node to ‘migrate’ the data across to all relevant elements in the model.

Such aspects as the parameters in schedules and filters require some manual work or configured scripts, so it’s rarely a smooth process.

As far as I could see when I explored parameter swapping in families, the API doesn’t provide a method to swap project parameters (nor does Revit itself, probably why I guess).

Thanks for the input @GavinCrump!

Let me ask one additional question to ensure my thought process is correct. So long as the project parameter is NOT shared, I could still rename it with Dynamo, correct? I believe I could query and filter the parameters using @Alban_de_Chasteigner’s ‘Genius Loci’ package…sound right?

1 Like

We need to Get and SetParameteterByParameterGUID nodes.
Not Names
Or at least the option to choose Names vs GUID

The Clockwork package has the dedicated node Document.ProjectParameters.
But as @JacobSmall showed it is not possible to rename Project Parameters with the API.

1 Like

There’s a thread here I found that goes through that, and concludes with that other’s said in that the element can be viewed and interrogated, but not renamed. A shame!

I find this happens every now and then with Revit API. Hopefully in future this will be added as a function we can leverage.

3 Likes

So we can rename a non-shared project parameter manually, but not automatically with Dynamo nodes or python code? That is possible manually by going into “project parameters”… clicking on “modify”.

Correct. This is only exposed in the user interface.

3 Likes