Parameter Sync
Overview
The Parameter Sync feature allows you to create rules which synchronize any parameter to a shared parameter.
Common Uses
- Exposing Global and Family based parameters for tags and schedules.
- Adding parameters to eVolve Properties Panel
- Combing parameters for easier filtering in schedules
Below is a chart which helps to demonstrate which parameters can natively be used for annotating.
Source: Paul Aubin
Kind of Parameter | Who Creates it | Where does it live | Appear in Tags | Appear in Schedules |
System Parameters | Built in | Project and Family | Yes | Yes |
Shared Parameters | User Defined | Project and Family | Yes | Yes |
Project Parameters | User Defined | Project | No | Yes |
Global Parameters | User Defined | Project | No | No |
Family Parameters | User Defined | Family | No | No |
Setting up Parameter Sync

- Rank: When there are two rules attempting to write to the same shared parameter, you can use this to prioritize the rules.
- Rule Name: A descriptive name for your rule to explain what the rule does
- Category: Select which category hosts the data that you want to retrieve the information from
- Copy from Parameter: Which parameter in the selected category do you want to copy data from
- PowerShell Script - Allows the option to inject PowerShell scripting during the sync process. See below for additional information.
- Copy to Parameter: Which shared parameter do you want to copy the information to
- Auto: When used, elements and parameters are synced automatically on placement.
- Enabled: Yes/No, do you want this rule to run in your current project?
- System: System rules are ones that ship natively with the product and are vital to functionality. These are non-editable rules.
- Pending Action: describes the state of the rule
- Error Message: If the software finds errors with your rule, they will be displayed here
Using PowerShell Scripts
eVolve allows the ability to inject PowerShell during the syncing process. This allows users to harness PowerShell to concatenate information, replace text, round, and many other functions.
Also, eVolve also provides the element's context. Through this, you can harness the Revit API to further your script's power. To use, simply follow standard Revit API calls while still following PowerShell syntax for your logic and structure.
Limitations
- Though you are given access to the Revit API, you are not able to use it to make changes to the model. This ability is available within separate transactions. If this functionality is necessary, please refer to Macro Automation.
- Also, this ability must be manually turned on with the **Workstation Settings**.
Script Samples
- The following example simply gets the CenterLineLength fabrication property and returns its information to be written to the Copy to Parameter.
# Return the Point Description of sleeve
return $eVolveElement.CenterLineLength
- The next example demonstrates the ability to retrieve the Document within the script and then use its available methods to write the elements Room location to the Copy to Parameter.
# Return the Room Location of the element
$doc = $eVolveElement.Document
$Max = $eVolveElement.get_BoundingBox($doc.ActiveView).Max
$Min = $eVolveElement.get_BoundingBox($doc.ActiveView).Min
$eloc = ($Max + $Min) / 2
$room = $doc.GetRoomAtPoint($eloc)
$roomname = $room.LookupParameter('Name')
return $roomname.AsString()