- eVolve Parameter Sync
eVolve Parameter Sync
The eVolve Parameter Sync feature, found in the Utilities panel, allows users to create rules that will sync values between two parameters within a specified Revit category.
The Project Parameter Sync Window
- Run Order: used to define the sequence in which the rules are executed, 1 is 1st, 2 is 2nd, 3 is 3rd, etc.
- Rule Name: Allows for a descriptive name to be provided for each rule.
- Description: (optional field) allows additional metadata to be entered to explain what the rule does, add notes, comments, etc.
- Group - used to assign a category/type to a Parameter Sync rule.
- Sub Group - used to assign a subset of a group/category to a Parameter Sync Rule.
- Element Filter: Selects elements that adhere to define a ruleset to run the Parameter Sync rule against.
- Copy from Parameter: Specifies the parameter in the element filter that the data will be copied from.
- PowerShell Script: (optional field) runs a PowerShell script during the sync process. See below for additional information.
- Copy to Parameter: Specifies the shared parameter that the data will be copied to.
- Execute On: Determines when the rule will run.
- Enabled: Yes/No, Allows or disallows the rule to run in the current project.
- System: System rules are ones that ship natively with the product and are vital to functionality. These are non-editable rules.
- Run in Second Pass - indicates whether the rule runs after all other processing has been completed, see below for more information.
- Allow Multiple Processing - Gets or sets a value indicating whether multiple processing of the same element is allowed in a single execution session, see below for more information.
To Sync a Project Parameter
IMPORTANT: DO NOT synchronize data to any eVolve Mechanical parameters that have the eM_ prefix unless you are sure that these parameters are custom shared parameters that your company has created. This will cause issues when eVolve attempts to sync to the parameter to/from ITM related fields.
- From the eVolve ribbon, in the Utilities panel, click the Parameter Sync button.
- Enter a value in the Run Order field for the new sync rule.
- Enter a unique Rule Name and an optional Description for the new sync rule.
- Define an Element Filter. Once defined, the Copy from Parameter and Copy to Parameter fields will populate with available values.
- Under Copy from Parameter, select a parameter to copy from.
NOTE: You may specify any parameter, even if it's not displayed in the list, by simply wrapping the parameter name in angle brackets or chevrons - e.g. <ParameterName>.
- Under Copy to Parameter, select a parameter to copy to.
- Define the Execute On option.
- Select the Enabled checkbox to allow the rule to be used in the current project.
- When finished creating rules, click OK.
- Exposing Global and Family based parameters for tags and schedules.
- Adding parameters to eVolve Properties Panel
- Combing parameters for easier filtering in schedules
The chart below helps 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
Project and Family
Project and Family
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.
- 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**.
- 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
- 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')
Run in Second Pass
The Run in Second Pass option gives users the option to run rules after Revit and eVolve have completed processing instead of before. Basically, if the Run in Second Pass option is unchecked when a rule runs and the expected elements are not colored, check the Run in Second Pass option.
NOTE: If the same parameter is being changed in both the first pass and second pass the updating of the second pass parameter(s) change will fail, throwing an error. However, parameters may be changed multiple times in the same pass.
Allow Multiple Processing
A common situation for this would be where an element is added and modified during the same execution session (e.g., drawing conduit with bends). When this value is true, the rule would execute for same element twice, once in the "add" context and again in the "modify". When false, the rule would execute only for the "add" context.
A case where you would want each:
- False = If you have a status column and want to track when something is was just modeled (new) vs. modified after it was modeled (changed). If you draw some conduit, having this setting on false would ensure that everything drawn in the run comes in as “new” because each element would only process the element added event. If you had this setting on true instead, [most] everything would come in as “changed” because the edit event would be processed and update the status field.
- True = When you need to always process the most up to date info. Typically this is only required when you need the geometry and it can change during a single edit session. This does incur some processing overhead as an element may actually be processed by Revit several times instead of just on the add and edit.
NOTE: that an execution session is defined as where control is returned to Revit in the since the user can select elements, change views, etc. For example drawing conduit the user cannot select elements (so the execution session remains active) until they ESC out of the drawing operation.