Tuesday, September 04, 2012

Which Overwrite is Right

When we reload a family a dialog appears asking us how we'd like to deal with the existing family definition. Technically a more involved dialog can also appear if nested and shared families are involved. The first choice or top most button asks if we just want to overwrite the family. The second choice and next button down asks if we want to also overwrite parameter values.

So what's the difference? The first button is effectively acknowledging the changed family but preserving values that we may have entered or altered in the project, they may be different from the original family. Said another way the project is correct (the project version of the family). The second button is challenging the version of the family in the project, in effect saying, "You are wrong, we'll fix that!"

I've seen confusion with this result in uncomfortable changes. For example a standard duplex electrical outlet that is set to 180VA is suddenly reporting 360VA. A user changed the default value for a heavy duty type but accidentally assigned it to the standard type too. A reload with "choice two" ends up creating some confusion, replacing the correct values with the new higher value. This kind of change should have been done with the "first choice".

On the other hand, if the user had changed the type value in the project we could easily fix the mistake with "choice two".

When reloading families pause long enough to consider the options carefully. Often the best answer (or safest) is the uppermost button.

1 comment:

Anonymous said...

It's worth noting for anyone else stumbling across this that overwriting the parameter values only affects TYPE parameters, instance parameters will remain unchanged.