@ConstantineC wrote:
Thanks for explanation, very interesting! So they are kind of built in once created.. This is the first time I am noticing this.
I would be careful about using that analogy.
Built-in Parameters are just that, Built into the Revit software and the entity types that they are designed for.
Shared Parameters are created and used by the users of Revit, but they have a specific GUID Identifier that goes with them everywhere they go, that tells Revit that, regardless of what Revit file they come from, they are the same parameter being shared across multiple projects/families. Because they are the same parameter they also have the storage type in every file that they are used in. The method of sharing those parameters from one Revit file to another is via a text file called a Shared Parameter file. This also allows a user or company to create one or more shared parameter files for long term storage and easy access of those parameters across multiple files.
Then there are "local" parameters that are defined "in place" in either a Project file or a Family file. Local Parameters may have the same name but they do not have a GUID (and associated fixed definition) to tell Revit that the parameter in family 1 is the same parameter in family 2. Why does the name not count as a means to say that one parameter is the same as another? Because a local parameter can be named "Material" and actually hold a Material but another parameter in another file named "Material" could be a Text field. You could conceivably have 10 different parameters, all called "My Parameter", all within the same project (defined within a project or brought in by 10 different families) and each have a different data type. One might be a Built-in Parameter, then there could be a few shared parameters from different sources, all named the same but with different GUIDs, then even more brought in as family parameters.
So:
Built-In Parameters are built into the software.
Shared Parameters are defined by users and shared across multiple files for consistency.
Local Parameters are defined by users and intended to be used in that one place in which they are defined.
But, yes, once a Shared Parameter is added to a Project or Family, either via Project Parameters or via a loaded family, it maintains residency within that file.
-G
Gary J. Orr
GaryOrrMBI (MBI Companies 2014-Current)
aka (past user names):
Gary_J_Orr (GOMO Stuff 2008-2014);
OrrG (Forum Studio 2005-2008);
Gary J. Orr (LHB Inc 2002-2005);
Orr, Gary J. (Gossen Livingston 1997-2002)