Parameter Sync

Parameter Sync

The 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 Parameter Sync window

Tool Palette buttons
  • Refresh Current View - used to re-run the selected rules on the current active view.
  • Refresh Full Project - used to re-run the selected rules on the entire project view.
  • Export Rules (Removed as of 6.2)- used to transfer the selected rules to another project.
  • Import Rules (Deprecated as of v6.2) - used to bring in rules from another project.
  • Configuration Exchange - Used to import/export rules; please see the Configuration Exchange article for more information.
Grid Columns
  • 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 - used to apply a label to a rule.
  • Description - used to provide additional information about the rule.
  • Group - used to assign a category/type to a rule.
  • Sub Group - used to a subset of a group/category to a rule.
  • Element Filter - used to define the categories and optional conditions which elements and their parameters are filtered 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.
  • System: System rules ship natively with the product and are vital to functionality. These are non-editable rules.
  • Enabled - if unchecked, the rule is disabled and will not run.
  • Execute On - defined when/how the rule runs.
    • Manual Only - the rule will only run when either the Refresh Current View or Refresh Full Project button is manually clicked.
    • Any Update - the rule runs when any change to the drawing is made.
    • New Element Creation - the rule will only run when an element is placed on the drawing area.
    • Existing Element Change - the rule runs when an existing element is modified.
  • 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.

 

Record Navigator buttons
  • Add - used to add a new row to the grid.
  • Delete - used to delete selected row(s).
  • Duplicate - used to duplicate selected rows.
  • Export Grid - exports the grid as currently displayed to Excel.
  • Bulk Update - allows for the values in multiple selected rows to be revised at once.

To Sync a Project Parameter

  1. From the eVolve ribbon, in the Utilities panel, click the Parameter Sync button.
  2. Enter a value in the Run Order field for the new sync rule.
  3. Enter a unique Rule Name and an optional Description for the new sync rule.
  4. Define an Element Filter. Once defined, the Copy from Parameter and Copy to Parameter fields will populate with available values.
  5. 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>.
  6. Under Copy to Parameter, select a parameter to copy to.
  7. Define the Execute On option.
  8. Select the Enabled checkbox to allow the rule to be used in the current project.
  9. When finished creating rules, click OK.

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()

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.

Relevant Articles

Tips and Tricks for Parameter Sync

Creating an Element Filter

PowerShell Script Window

Using grids in the eVolve software

Data Navigator

Searching in grids - using the Find feature

Configuration Exchange

Save Grid States

Dynamic Values


How did we do?


Powered by HelpDocs (opens in a new tab)