Parameter Sync

Overview

The Parameter Sync feature allows you to create rules which synchronize any parameter to a shared parameter.

Common Uses

  1. Exposing Global and Family based parameters for tags and schedules.
  2. Adding parameters to eVolve Properties Panel
  3. 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
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.

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


How did we do?


Powered by HelpDocs (opens in a new tab)

Powered by HelpDocs (opens in a new tab)