AECOtools › Help › Para Control

Para Control

Review, edit, create and tidy every project and family parameter in one grid.

RibbonUtils panel
Revit2024 – 2027
LicenceFree

This tool is free — it keeps working whether or not AECOtools is licensed, so this page carries its complete guide rather than a summary.

What it does

Para Control is a parameter manager. In a project it lists every project parameter binding (shared and non-shared) as one row, with its type, group, instance/type setting, vary-by-group setting and bound categories. In the family editor it lists the family's parameters, the way the Family Types dialog does. You edit rows in place, stage new parameters, duplicates, renames and deletions, and nothing touches the model until you click Apply.

It also exports the parameter list to Excel and imports edits back, and — in projects — scans loaded tags and titleblocks for shared parameters the project is missing.

Before you start

  • Where: AECOtools ribbon ▸ Utils panel ▸ Para Control. The window title reads ParaControl in a project, or ParaControl — Family: <family name> in the family editor.
  • Revit versions: Revit 2024, 2025, 2026 and 2027.
  • Licence: Para Control is a free tool — it stays enabled even when AECOtools is not licensed.
  • Open document: a project or a family must be open and active. The tool picks its mode from the active document.
  • Project vs family: projects show Vary by Group and Categories columns and the Scan Missing button; families don't have these (family parameters have no categories or group variation).
  • Shared parameter file: not needed to review or edit existing parameters, or to create brand-new ones. You do need Revit's shared parameter file set (Manage ▸ Shared Parameters, or Select file… inside Add Parameter) to add a parameter From shared parameter file or to add parameters found by Scan Missing.

Quick start

  1. Open the project or family and click Para Control.
  2. Use the filter drop-down and Search box (top right) to find the parameters you want.
  3. Edit cells directly — Group Under, Instance/Type, Vary by Group, or Edit… in Categories. Changed rows turn orange.
  4. Tick rows and use the toolbar — Add Parameter, Duplicate, Rename…, Delete — to stage more changes.
  5. Click Apply, read the summary and warnings, and confirm with Yes.
  6. The grid reloads from the model. Click Close when done.

The parameter grid

One row per parameter. Rows are sorted by name; click a column header to sort by that column.

ColumnWhat it shows / what editing does
(tick box)Marks the row for toolbar actions. The tick box in the header ticks or clears every visible row. If several rows are selected (Shift/Ctrl-click) and you click the tick box on one of them, the whole selection follows.
(unnamed)Shows ● while the row has unapplied changes.
Parameter NameThe name (or the staged new name, if a rename is pending). Hover for the shared parameter GUID. Double-click the name to rename that row. Read-only otherwise.
KindShared Parameter, Project Parameter (non-shared, no GUID), Family Parameter, Built-in (families only) or New (pending). Read-only.
Shared GUIDThe parameter's GUID — the only identity a shared parameter really has. Two parameters with the same name but different GUIDs are different parameters, and a tag or linked model keyed to one won't read the other. Blank on non-shared and built-in parameters. Read-only; right-click the row to copy it.
Shared Parameter FileThe file the GUID was found in — see Which shared parameter file? below. Hover for the full path, the group it sits in inside the file, its tooltip text, and a warning if the name in the file differs from the name in this model. not found means the GUID isn't in any file being searched.
Created By / Last Changed By (workshared projects)The Revit user name that created the parameter in this model, and the one that last changed it. Shown only in a workshared model — Revit records no author in a non-workshared file, and no dates anywhere.
DisciplineThe discipline of the parameter's type (Common for text, integer, yes/no etc.). Read-only.
Type of ParameterText, Length, Yes/No, and so on. Read-only — a parameter's type can't be changed.
Group UnderDrop-down of the groups Revit itself offers under "Group parameter under", plus Other. Changing it regroups the parameter on Apply.
Instance/TypeSwitch between Instance and Type. In a project this wipes stored values for that parameter (Revit has no in-place switch — the binding is removed and re-added); you're warned at Apply. In a family the switch is lossless.
Vary by Group (projects)"Values can vary by group instance". Only available on Instance rows.
Categories (projects)A summary such as Doors, Walls, Windows +2. Click Edit… to open the category picker and change which categories the parameter is bound to. Every project parameter needs at least one category.

Row colours

  • Orange — the row has staged changes (edits, a new parameter, a pending rename).
  • Red — the row is staged for deletion.
  • Grey drop-downs — built-in family parameters; their group and instance/type can't be changed.

Filter and search

The filter drop-down offers All, Shared, Project (or Family in a family — non-shared parameters), Instance, Type and Modified (rows with unapplied changes). Search matches the parameter name, the type of parameter, the category summary, the GUID (paste one in to find it), the shared parameter file name and the creator. The status line at the bottom shows visible of total parameters | modified | checked | the shared parameter files searched.

Which shared parameter file?

A model stores a shared parameter's GUID, name, type and group — and nothing else. It does not record which file the parameter came from, and Revit itself remembers only one shared parameter file at a time (Manage → Shared Parameters). So the Shared Parameter File column is answered by looking each GUID up in the files you tell it about:

  • Revit's active shared parameter file is always searched.
  • SP Files… adds more files, or folders of them (subfolders included, .txt only) — point it at your office's standards folder and the column fills in for every parameter in the model.
  • The list is saved per user in %LocalAppData%\AECOtools\runtime\state\ParaControl\sp-search.json, and files are read directly, so your active shared parameter file is never changed by the search.
  • name.txt (+1) means the same GUID is defined in more than one searched file; hover to see them all.

Right-click a row for Copy GUID, Copy name + GUID, Copy shared parameter file path and Show shared parameter file in Explorer. Both columns are included in the Excel Export, along with Created By and Last Changed By.

Export to SP file

The other direction: take parameters that exist in this model (or family) and write them into a shared parameter file, so a model that has drifted ahead of the office file can be brought back in line. Tick the rows, click Export to SP file, and:

  • Shared parameter file starts at Revit's active one; Browse… picks another. Revit can only write to its active file, so ParaControl points it at the target for the write and puts your setting back afterwards.
  • Put them in group lists the groups already in that file, and Create new… adds one (created when you export).
  • The list underneath shows exactly what will happen before you commit: ✓ will be written, — will be skipped, with the reason.

Each definition keeps its existing GUID, so the file entry and the parameter in the model stay the same parameter — that's the whole point of exporting rather than re-creating. Rows are skipped automatically when:

  • the GUID is already in that file (nothing to do);
  • the file already holds a different parameter with the same name — Revit refuses two definitions with one name, whatever group they're in. Rename one of them first;
  • the parameter isn't shared (a plain project parameter, a plain family parameter or a built-in has no GUID to write);
  • the row is staged — new, renamed or marked for deletion. Apply it first, because a rename gives the parameter a new GUID.

Visible and user-modifiable are written as Yes; a model doesn't record either, nor the tooltip, so they can't be carried over. The write happens straight away — Undo doesn't reverse it — and the Shared Parameter File column refreshes to show the file the parameters now live in.

What isn't recorded: shared parameter files hold GUID, name, data type, group, visible, tooltip, user-modifiable and hide-when-no-value — no author and no dates. In a workshared model the parameter element is owned like any other element, which is where Created By / Last Changed By come from; there is still no date. The nearest thing to "when" is the shared parameter file's own modified date in Explorer.

The category picker

  • Only categories that accept bound parameters are listed. Type in the box at the top to filter; All / None tick or clear the visible categories.
  • Set — pick a saved category set to apply it (it replaces the current ticks). Save… saves the current ticks under a name; Delete removes the selected set.
  • Sets are saved per user by category name, so a set saved in one model works in any other: %LocalAppData%\AECOtools\runtime\state\ParaControl\category-sets.json.
  • OK stages the new categories on the row; Cancel leaves it unchanged.

Toolbar actions

Every action stages changes in the grid. Nothing is written to the model until Apply.

ButtonWhat it doesCautions
Add ParameterOpens Add Parameter. Choose New definition (New family parameter in a family) and enter Name and Type of Parameter, or From shared parameter file and pick a definition (the list shows Group : Name and is searchable). Then set Group Under (default Data), Instance / Type, and in projects Values can vary by group instance and Categories (Pick…). Click Add to stage the row.Projects need at least one category. See Shared parameters for what "New definition" creates in a project.
DuplicateFor each ticked existing row, stages a copy with the same type, group, instance/type, vary-by-group and categories. You're asked whether to copy the stored values too (Yes / No / Cancel), then the naming dialog opens to name the copies — pre-filled with the suffix Copy, so Enter gives you the old behaviour.Project copies are new shared-backed parameters with their own GUID. Family copies are always plain family parameters.
Rename…Tick one or more rows (or double-click a name) and the naming dialog opens. New names show in the grid until Apply.In a project there is no in-place rename: see the warning below. In a family, family parameters rename in place; shared parameters can't be renamed.
DeleteTicked existing rows turn red (staged for deletion). Click Delete again with the same rows ticked to un-mark them. Ticked staged-new rows are simply removed from the grid.On Apply the parameter and all its stored values are removed. Built-in parameters can't be deleted.
ExportSaves an Excel workbook (default name ParaControl_<model title>.xlsx, sheet Parameters). Only ticked rows are exported; with nothing ticked, every row is exported.Close the workbook in Excel before exporting over it.
ImportReads a Para Control workbook and shows an Import Preview of what each row would do (Update or Create). Untick anything you don't want and click Stage Checked. A summary lists staged edits, new parameters, unchanged rows and any warnings.See Excel import below.
Scan Missing (projects)Opens each loaded, editable tag and titleblock family and lists the shared parameters they use that aren't project parameters yet. Tick the ones you want, set the options, and click Stage Checked.Can take a while in models with many tags. On Apply, definitions missing from your shared parameter file are written into that file.
SP Files…Chooses which shared parameter files (or folders of them) the Shared Parameter File column searches for each GUID. See Which shared parameter file?Read-only: it reads the files to match GUIDs and never writes to them or changes Revit's active shared parameter file.
Export to SP fileWrites the ticked parameters into a shared parameter file — see Export to SP file. Greyed out until you tick some rows.This one does write to the file. It happens immediately, not at Apply, and Undo doesn't reverse it.

Renaming in a project recreates the parameter. The Revit API has no rename for project parameters, so on Apply Para Control creates a new parameter under the new name, copies the values across, and deletes the original. As the rename dialog warns:

  • The new parameter gets a new GUID — anything keyed to the old shared GUID (tags, linked models, schedules in other files, external tools) won't follow it.
  • A non-shared project parameter becomes a Shared Parameter after the rename.
  • View filters and schedules that use the parameter lose that reference — they're listed in the dialog.
  • Any other staged edits on the same row (group, categories…) are ignored; apply the rename first, then edit.

The naming dialog (Rename and Duplicate)

Both Rename… and Duplicate open the same dialog, so a batch of parameters can be renamed in one pass instead of one at a time.

FieldWhat it does
New nameOnly shown when a single row is being named: type the name outright. With several rows, each one's own name is the starting point.
Find / Replace withReplaces every occurrence in the name. Match case off by default; the match is exact text, not a wildcard or regular expression. Leave Replace with empty to delete the text.
Add prefix / Add suffixPut in front of / after the result. Include your own separator — GBA_, Copy — nothing is added for you.

They apply in that order: name → find/replace → prefix → suffix, and the result is trimmed of surrounding spaces.

The Preview table shows every row's Current name and New name as you type, with a note on anything that can't proceed:

  • unchanged — nothing to do for that row; it is simply left alone.
  • same as another row — two rows would end up with the same name.
  • name already in use — another parameter in the model has it. (For Duplicate, that includes the row being copied, which is why a copy must be named differently.)
  • empty name — the fields have cleared the name entirely.

The action button stays disabled until every row is clean and at least one name actually changes. Rows that can't be renamed at all — built-in parameters, and shared parameters in a family — are listed in the dialog's warning instead of being silently dropped.

Excel import

  • Columns are found by header name, so order and extra columns don't matter. Parameter Name is required. Also read: GUID, Type of Parameter, Group Under, Instance/Type (Instance or Type), Vary by Group (Yes, True or 1 = yes) and Categories (names separated by ; or ,). Kind and Discipline are export-only.
  • Rows are matched to the grid by GUID first, then by name (not case-sensitive).
  • A matched row can update its Group Under, Instance/Type, Vary by Group and Categories. Import can't rename a parameter or change its type. Built-in rows are skipped.
  • An unmatched row is offered as Create — it needs a Type of Parameter label Para Control recognises and, in a project, at least one valid category. Blank Group Under means Data; blank Instance/Type means Instance.
  • Unknown group names keep the current group; unknown category names are skipped with a warning.

Scan Missing options

ItemMeaning
In SP FileYes (group) — already in your shared parameter file. No — will be added to it. No (name clash) — the file has a different parameter with the same name; you're asked to confirm before staging, and a same-named entry with the tag's GUID is added.
Used ByThe tag/titleblock families that carry the parameter (hover for the full list).
Group Under / Instance / TypeApplied to every parameter you stage.
SP file group (for new definitions)The shared parameter file group new definitions are written into. Defaults to AECOtools; pick an existing group or type a new name.
Bind to CategoriesPre-filled from the tag categories (e.g. door tags → Doors, titleblocks → Sheets). Use Pick… to change.

In a family

  • What's listed: all family parameters, including Built-in ones (as the Family Types dialog shows them). Built-in rows are read-only — no rename, delete, regroup or instance/type change — but you can Duplicate them to get an editable copy.
  • Instance/Type switches in place without losing values.
  • Rename is a real in-place rename for family (non-shared) parameters — values, formulas and label bindings are kept. Shared parameters can't be renamed, because their name lives in the shared parameter file; delete and add a different shared parameter instead.
  • Add Parameter ▸ New family parameter creates a genuine family parameter (not shared). From shared parameter file adds the picked shared parameter.
  • Duplicate creates a plain family parameter. If you choose to copy values, a source formula is copied; if there is no formula (or it can't be applied), the value is copied for each family type.
  • Import creates family parameters for unmatched rows; categories and Vary by Group are ignored.
  • No Categories, Vary by Group or Scan Missing, and no check for view filters or schedules on delete.

Shared parameters

  • Reading: From shared parameter file lists every definition in Revit's active shared parameter file. If none is set, or the file can't be read, that option is disabled — use Select file… to browse to a .txt shared parameter file. This changes Revit's active shared parameter file, exactly as Manage ▸ Shared Parameters does, and the setting stays after you close the tool.
  • Picking a definition binds it with its existing GUID, so it matches tags and other models that use the same definition.
  • New definitions in a project: the Revit API can't create non-shared project parameters, so New definition, Duplicate, Rename… and Import Create all make a shared-backed parameter with a new GUID. The definition is written to a temporary file (group AECOtools ParaControl) that is deleted straight afterwards, and your active shared parameter file is restored — your own shared parameter file is not changed, and the new definition won't appear in it.
  • Scan Missing is the exception: it keeps the same GUID the tag uses, and writes any definition not already in your active shared parameter file into it (in the SP file group you chose) on Apply.
  • GUIDs are shown on hover over the Parameter Name, exported in the GUID column, and used first when matching imported rows.

If a parameter needs to be shared with tags or other projects, add it to your company shared parameter file first and use From shared parameter file — don't rely on New definition, whose GUID exists only in this model.

Results and undo

  • Apply first checks that every new or edited project parameter has at least one category, then shows Apply staged changes? with a count of edits, renames, new parameters and deletions, plus warnings:
    • ⚠ Instance/Type switch wipes stored values for: (projects)
    • ⚠ Deleted parameters still referenced by: view filters and schedules using a parameter you're deleting (projects)
  • Everything is committed as one entry in Revit's Undo list: ParaControl: Apply Changes. Use Revit's Undo straight after closing Para Control to reverse the whole Apply.
  • If a row fails, the others still apply and a message lists succeeded and problem(s). If Apply fails outright, it's rolled back and nothing changes.
  • After Apply the grid reloads from the model, so staged rows show their real state.
  • Close with unapplied changes asks Discard pending changes?

Deleting a parameter, or switching a project parameter between Instance and Type, permanently removes its stored values once you save or sync. Revit's Undo is the only way back. Changes made to your shared parameter file (by Scan Missing) and a new active shared parameter file chosen with Select file… are not reversed by Undo.

Troubleshooting

SymptomFix
"Open a project or family before running ParaControl."Open and activate a project or family view, then run the tool again.
"These parameters need at least one category"Click Edit… in the Categories column of each listed row and tick at least one category.
"Check exactly one parameter row to rename."Untick all but one row — or just double-click the parameter's name.
"Built-in parameters cannot be deleted." / "…cannot be renamed."Revit doesn't allow it. Duplicate the built-in to get an editable copy.
"Shared parameters cannot be renamed…" (family)Delete it and add a different shared parameter from the shared parameter file.
"A project parameter named '…' already exists."Choose a different name for the rename.
"…could not be bound (a parameter with this definition may already exist)."That shared definition is already a project parameter — edit the existing row instead of adding it again.
From shared parameter file is greyed outNo readable shared parameter file is set. Click Select file… and browse to your shared parameter .txt.
"That file could not be read as a shared parameter file (or it contains no definitions)."Pick a valid Revit shared parameter file that contains at least one parameter.
"…no shared parameter file is set (Manage → Shared Parameters)." after Scan MissingSet the shared parameter file in Manage ▸ Shared Parameters, then scan and apply again.
"No missing shared parameters found in loaded tags or titleblocks."Every shared parameter in your loaded tags and titleblocks is already a project parameter (non-editable families are skipped).
"No 'Parameter Name' column found — is this a ParaControl export?"Import a workbook exported from Para Control, or make sure the first sheet's first row has a Parameter Name header.
Import warning "type of parameter '…' not recognised — row skipped"Use the Type of Parameter text exactly as Para Control shows it (e.g. Text, Length, Yes/No).
Import warning "no valid categories — row skipped" / "unknown category '…' skipped"Check the category names match Revit's names in this model, separated by ;.
"Export failed."The workbook is probably open in Excel — close it and export again.
"Apply finished with … problem(s)"Read the listed rows; the rest applied. Fix the cause and apply the remaining rows again.

Anything else

  • In Revit: this same guide opens from the ? button in the tool's window.
  • Stuck? Use AECOtools ▸ Support ▸ Report Issue to send us the details.
  • Not using AECOtools yet? Start a 30-day free trial.
  • Questions: get in touch.