Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

MEP team has turned Type parameters into Instance parameters somehow?

alexkilvington
Explorer

MEP team has turned Type parameters into Instance parameters somehow?

alexkilvington
Explorer
Explorer

As title - the MEP team has turned most of their type parameters in revit in to instance parameter. I wasn't aware this was even possible - I can only guess they've used some sort of add in to edit parameter values and done it that way?

 

It's causing issues now as we export to IFC, the user-defined property sets were set up for types not instances. 

 

For example all the COBie type parameters are now instance parameters. 

 

Is there a way to revert them all back easily? Has anyone seen this issue before? 

 

 

0 Likes
Reply
330 Views
7 Replies
Replies (7)

BimAmbit
Contributor
Contributor
I understand how you feel. I've encountered this issue a few times. If manual adjustment is off the table, then the solution typically involves programming to do the exact opposite action. This process includes caching the existing parameter values, re-inserting the new parameter, and then filling in the cached parameter values.

I don't know about "easily" though. Maybe understanding each step, writing the code, and then testing it can take a long time, while manually adjusting it only takes half a day. I might choose to manually adjust it and then have the MEP team buy me a cup of coffee.
Svetlana Dragomir, Plugin Designer
Partner, Senior Software Developer, Traveler

alexkilvington
Explorer
Explorer

Do you know how they might have done it so I can advise them to be careful not to next time? 

 

Within Revit itself, once a parameters created you can't change whether it's type or instance I believe, so how would they have done it in their model?

0 Likes

BimAmbit
Contributor
Contributor

I suppose you're dealing with a bunch of project parameters or something like that. strictly speaking, a family parameter can later be converted from a type parameter to an instance parameter in the family editor.

tbh, your guess is the same as mine. Like I said, re-insertion is doable. It’s likely that an add-in or a Dynamo script was involved. Otherwise, if switching was done manually—deleting the existing type parameter and converting it to an instance parameter, or even for family parameters that can be converted at any time—the process will result in the loss of parameter values. This would be too obvious for the user to notice, then I suppose users would voice out at least. If you see a large number of type parameters being converted to instance parameters, and the data has been perfectly copied to each instance, I can't imagine how much time it would take to do this manually.

Enough for my little detective story, as a side note, my office designed a tracker that can record Revit's activities, including which functions users clicked and when. We installed it on our computers and our vendor's computers. I only discovered that the vendor used their in-house plugin for this bulk parameter conversion after checking the tracker's log. Initially, I used it to calculate the vendor's billable hours and see who didn't like to relinquish when they left office. I guess this might be an unexpected benefit.

If you're managing a team of Revit users, you owe it to yourself a tool like this. I could share it with you for free if you're interested.

Svetlana Dragomir, Plugin Designer
Partner, Senior Software Developer, Traveler
0 Likes

RSomppi
Advisor
Advisor

@alexkilvington wrote:

Do you know how they might have done it so I can advise them to be careful not to next time? 


Put it in the BEP that they are to be type parameters.

 


@alexkilvington wrote:

Within Revit itself, once a parameters created you can't change whether it's type or instance I believe, so how would they have done it in their model?


They would have to edit every parameter in every family which is quite the undertaking, with or without code, and not for the faint at heart. Are you sure that is what has happened? I might start asking questions because there had to be a good reason for doing this considering the possible repercussions.

0 Likes

alexkilvington
Explorer
Explorer

I downloaded a previous model to check and they definitely were Type parameters, but are instance parameters in the latest version. There's no reason they would do that on purpose so I can only think they've done in accidentally with some sort of Revit Add-in whilst trying to bulk edit parameters. 

0 Likes

RSomppi
Advisor
Advisor

@alexkilvington wrote:

There's no reason they would do that on purpose so I can only think they've done in accidentally. 


I agree, but I would verify. If it was a mistake on their end, they need to be made aware of it and they should fix it.

TripleM-Dev.net
Advisor
Advisor

Hi @alexkilvington ,

 

If it were project parameters, they can be switch from Type to Instance in UI. Revit then uses the Type values for the instance parameters.

Any new elements created or changed type after this will be a issue.

 

Switching back from Instance to Type will likely be a loss of data.

Can be 'Solved' by adding a temp instance project parameters, transferring the value of the to be converted parameter to the temp one (with schedule or use a export/import addin), if there aren't to many different values a schedule grouped on the parameter will be quick.

 

Then change the project parameter to Type and maybe if each value of the instances of the type is equal Revit may already correct it.

Anyway, next check the values and/or correct it and delete the temp parameter.

If all instances of a Type don't have identical values, then the convert to Type isn't possible without creating new types

 

If it's Family parameters then users would have noticed it, it's not something that can happen in the 'background', families should have been opened and reloaded by a addin (or user).

It could also be they have other families where those parameters are instance and loaded those, in that case maybe the old families can be reloaded.

 

So depends on what type of parameters these are if this happend accidental and if it's reversable.

0 Likes