Global Parameters and Arrays
Global parameters do not directly support arrays – you cannot associate a parameter to an array number in a model (unlike the ability to do so in the family editor).
When you select an array number in a project, have a look at the Options Bar - there is no label for you to associate a global parameter.
In the family editor, when you select an array number - there is a label on the Options Bar for you to associate a family parameter to the array number.
Workaround
To work around this Global Parameter limitation, you need to build the array into an external family:
- The family needs to have an integer instance parameter - this can be created directly when associating the array number (or created prior).
- The array could consist of nested families or arrayed elements - it is usually much easier to control the array when it is a nested family, but that may slow response times if there are too many levels of nesting.
- If you need to be able to schedule, tag or select individual families in the project (from the array), then the nested family should be 'Shared'.
- Once you have associated the array number to a controlling parameter, it is wise to use that as a check parameter, to prevent users from inputting a value of less than 2 - because this would break the array.
- You need to then create a User Input parameter, which is the one used in the project.
- The check parameter is then driven by the User Input array number, with a check formula in place to prevent an input less than 2
- Load the family into project then its instance property (Array Number) can be associated to a global parameter.
Once this is set up, your nested family array should be driven by Global Parameters in the project.
If you would like Autodesk to fix this annoying limitation, please go to Revit Ideas to vote:
Enable global parameters to associate to Array Numbers