Home / Guides / Rosetta
Data panelRosetta

The name is frozen. Rosetta renames it anyway.

Revit will not rename a shared parameter — its identity is a GUID and the name is set the day it is born. So wrong names outlive projects, standards drift, and nobody dares touch the file. Rosetta renames shared parameters safely: same GUIDs, every value kept, a backup before anything moves.

Revit 2024–2027GUIDs preserved — schedules and tags keep workingNo backup, no write — the SPF is never touched without oneA dry-run you can read before you commit
Video guideComing soon on BIMIO’s YouTube
Why Rosetta exists

One misspelt parameter, baked into everything.

A shared parameter's name is written into the SPF, bound into models, quoted in schedules and view filters. Revit offers no rename — only a new parameter, and a hole where the data was.

Revit on its own
  • Renaming means a NEW parameter — new GUID, empty values, broken schedules.
  • Nobody knows where a parameter is actually used until deleting it breaks something.
  • The SPF gets edited by hand in Notepad — no backup, no undo, no validation.
The same file, with Rosetta
  • The GUID never changes — tags, schedules and filters keep resolving.
  • Every row says exactly which schedules, filters and colour schemes lean on it.
  • Nothing is written without a timestamped backup and a dry-run you can read.
How Rosetta works

From frozen name to clean standard, without losing a value.

One grid, one mapping — and between you and the write: live validation that blocks errors, a dry-run report you can read first, and a backup that must exist before the file is touched.

Open it

Every parameter, one grid.

Reload reads the active model and the shared parameter file together: bound shared parameters, project parameters, and the definitions that live only in the file. Kind, data type, group, scope — and an In use column that has already done the detective work. Filter by kind, search by name, group, category or data type.

New to Revit: the model's parameters and the office's SPF, reconciled in one view.
BIMIO · Rosetta — Shared parameter managerBIMIO
Rosetta
128 shared parameters (86 in the SPF) + 12 project parameter(s).
BIMIO namingReload
C:\BIM\Standards\Office-SharedParams.txt
AllSharedProjectFamily
New…Bind…Convert…Fill…Sweep…Template…Import…Export…Dry-runRename SPFRename in modelHistoryClear
Current nameKindNew nameTypeGroupScopeIn useStatus
FireRatingSharedTextIdentityInstance1 sched · 1 filter · 1 colour
AcousticRatingSharedTextIdentityInstance1 sched
Room OccupancySharedIntegerDataInstance1 sched · 1 colour
Sheet SeriesProjectTextDataInstance1 sched
The audit

Hover In use and it names names.

Rosetta scans every schedule field — combined columns and embedded schedules included — every view-filter rule, however nested, and every colour-fill scheme. In use is not a guess; it is the list of exactly what breaks if you get this wrong. Lens reads the same audit: press Run on an element's Rosetta card and it says which of its parameters are shared, and where they are used.

New to Revit: a where-used answer for parameters — before the delete, not after.
BIMIO · Rosetta — Shared parameter managerBIMIO
Rosetta
128 shared parameters (86 in the SPF) + 12 project parameter(s).
BIMIO namingReload
C:\BIM\Standards\Office-SharedParams.txt
AllSharedProjectFamily
New…Bind…Convert…Fill…Sweep…Template…Import…Export…Dry-runRename SPFRename in modelHistoryClear
Current nameKindNew nameTypeGroupScopeIn useStatus
FireRatingSharedTextIdentityInstance1 sched · 1 filter · 1 colour
Schedule: Door Schedule — L01
View filter: FIRE-60
Colour scheme: Room Occupancy
Plan the renames

Type the new names — they validate as you type.

Each new name is checked live against Revit's naming rules, the whole file's final names — collisions after the rename, not before — and your office convention if you switch BIMIO naming on. Errors go red and block; warnings explain themselves. Or round-trip the mapping through Excel: Template… exports the file's parameters, a colleague fills the NewName column, Import… brings it back — the GUID, not the spelling, is the key.

New to Revit: a rename plan a colleague can fill in Excel without touching Revit.
Rosetta-mapping-template.xlsxBIMIO
Mapping
Sheet ‘Mapping’ · the GUID is the round-trip key.
All cells are text-formatted so Excel can't mangle a GUID. Fill NewName; leave the rest alone.
GUIDOldNameNewNameGroupNotes
2a1f4…9c2eFireRatingBIMIO_FireRatingIdentity
377b0…4d11Room OccupancyBIMIO_OccupancyData
4c3e8…120fAcousticRatingIdentitykeep as is
The dry-run

A report of the damage you are not doing.

Dry-run touches nothing. It counts the elements holding a value for each rename, lists the schedules and view filters that depend on it, and hands you a self-contained report you can read, save or send — before you commit to anything.

New to Revit: the blast radius of a rename, measured before the rename.
rosetta-preflight-a1f49c2e20b34d1177b04d11c3e8120f.htmlBIMIO
● BIMIO · Rosetta
Rename pre-flight report
Model: Marina Tower — Block A · SPF: C:\BIM\Standards\Office-SharedParams.txt · Generated: 2026-08-28 09:41
3parameters to rename
277element values affected
2with schedule/filter deps
Old nameNew nameElementsSchedulesView filtersNotes
FireRatingBIMIO_FireRating214Door Schedule — L01FIRE-60
Room OccupancyBIMIO_Occupancy63Room Schedule
DoorHardwareSetBIMIO_HardwareSet0Not bound in this project (SPF-only rename).
Dry-run only — nothing in the model was changed. Generated by BIMIO Rosetta.
The write

Two gestures, both with a way back.

Rename SPF rewrites the shared parameter file — GUIDs untouched, a timestamped .bak saved beside it first; if the backup cannot be written, neither can the file. Rename in model goes further: it snapshots every value, rebinds each parameter under its new name and restores the values in one undoable transaction — re-pointing dependent schedules and view filters as it goes. Anything it cannot rebuild faithfully it refuses or skips, and says so. One failure and the whole gesture rolls back. Every operation lands in a history you can browse, with the backups a click away.

New to Revit: a parameter rename with a rollback story — in a platform that offers none.
WarningBIMIO
Rename in the SPF file?
This rewrites the shared parameter file on disk for 3 parameter(s), preserving GUIDs. A timestamped backup is saved next to it.
Note: this updates the FILE — parameters already baked into THIS project keep their old name until you run the in-model rename.
CancelRename SPF
Change its kind

When no add-in can do it, it says so — and offers the half it can.

One feasibility matrix drives both the Convert dialog and the engine, so the window can never promise what Revit refuses. Ask for shared → project and it answers plainly: “The Revit API cannot create non-shared project parameters — no add-in can do this conversion.” Convert stays greyed; “Start assisted conversion…” appears instead, capturing every value, posting Revit's own Project Parameters dialog, and completing the swap when you press Finish assisted. What it can do outright is guarded as carefully: project → shared copies the values and re-points schedules and filters, but refuses while a colour-fill scheme or a global parameter still rides on the parameter.

Rosetta · Convert parameterBIMIO
Convert
BIMIO_SurveyXSHARED · Length · Type
Convert to
Name
BIMIO_SurveyX
The Revit API cannot create non-shared project parameters — no add-in can do this conversion. If the goal is to stop depending on the SPF file: a bound shared parameter already lives in the model and works without any SPF. Otherwise recreate it manually via Manage → Project Parameters. — or use the assisted flow: Rosetta copies the values, opens Revit’s Project Parameters dialog for you, and finishes the swap when you’re done.
Start assisted conversion…CancelConvert
Fill it in

Fill writes what Revit knows and will not give you — and greys out what could never fit.

Fill… stamps into a parameter something Revit knows about every element but never hands over as one: where it stands, which room it is in, what hosts it, which workset it is filed on. The picker offers only what can actually land — the categories are those the parameter is already bound to, “the only places it can be written”, and a value the target's data type could not hold is greyed rather than hidden, with the reason on hover: “A Length parameter cannot hold this value.” A type parameter is refused before the window even opens, because one value per type “would be wrong for all but one of them”. And it never pretends to be live: “This is a stamp, not a link.”

BIMIO · Rosetta — Fill from the modelBIMIO
Fill “BIMIO_SurveyX” from the model
Write into this length parameter something Revit already knows but never hands you as a parameter — where the element is, which room it stands in, what hosts it. Once it is a parameter it can be scheduled, tagged, filtered and exported, which none of these can be while they stay properties.
Value to write
Location Z (project)Height of the element’s insertion point above the project base point.
Location Y (shared)The Y of the same point in shared (survey) coordinates.
Level nameThe level the element is associated with.A Length parameter cannot hold this value.
WorksetThe workset the element is filed on. Empty in a model that is not workshared.A Length parameter cannot hold this value.
Phase createdThe phase in which the element is built.A Length parameter cannot hold this value.
Categories
A source the target cannot hold is greyed, not hidden — so you can see it exists and why it is not on offer.
Counted first

It does the arithmetic out loud before it writes a single value.

Nothing is written from the picker: it closes, Rosetta counts the whole job on Revit's own thread, and puts the numbers to you. “412 elements would be filled”, “48 already had a value and were kept (tick Overwrite to replace them)”, “77 have no such value in Revit”, “9 could not be written (6 owned by others, 3 read-only here)”. The dry run opens no transaction at all — a question that left an undo step behind would be lying about having changed nothing — and both passes run through the same per-element decision, so the count can never disagree with the write that follows it.

WarningBIMIO
Fill “BIMIO_SurveyX”
412 elements would be filled.
48 already had a value and were kept (tick Overwrite to replace them)
77 have no such value in Revit
9 could not be written (6 owned by others, 3 read-only here)
Write them now? It is one undo step.
CancelFill
The whole library

It will not convert a folder it has not previewed — and it tells you which files it would upgrade.

Sweep… converges a folder of .rfa files on the office standard, and Convert library stays locked until a dry-run of that exact folder has run — change the folder or untick “Include subfolders” and it locks again. The preview is per file and honest: what would become shared, what “matches the SPF but the data type differs — skipped”, and the one nobody thinks to check — “Saved in Revit 2019 — converting SAVES it as Revit 2026 (not openable in 2019).” Every modified file keeps a mandatory .rosetta-bak copy, no backup no conversion, and each family's type values and formulas are verified afterwards, with the family rolled back on any loss.

Rosetta · Sweep family libraryBIMIO
Sweep family library
Converge a folder of .rfa files on the office standard: every NON-shared family parameter whose name and data type match a definition in the active shared parameter file becomes that SHARED parameter (official ReplaceParameter — values and formulas travel). Always dry-run first; each modified file gets a .rosetta-bak copy.
P:\Practice\03 Families\DoorsBrowse…
Door-Single-Flush-Acoustic.rfapreview
“Fire Rating” would become SHARED (GUID 8f2c4a1b…).
“Acoustic Rw” would become SHARED (GUID 21d0e77c…).
Window-Casement-Timber.rfaskipped
“Sill Height”: name matches the SPF but the data type differs — skipped.
Louvre-Panel-1200.rfapreview
“Free Area” would become SHARED (GUID 5b930ca2…).
Saved in Revit 2022 — converting SAVES it as Revit 2026 (not openable in 2022).
Bracket-Generic.rfano-match
CloseDry-runConvert library
Beyond renames

The rest of the parameter toolbox.

New… authors a shared parameter and binds it in one gesture. Bind… puts a batch of file definitions onto the model in one transaction. Convert… changes a parameter's kind wherever the API honestly allows — family to shared with every type value and formula verified afterwards, and a rollback if anything would be lost. Sweep… converges a whole folder of families on the file's standard, dry-run first and a backup per file. And Fill… stamps what Revit knows but never hands you as a parameter — coordinates, the rooms either side of a door, phases, sizes — into real parameters, counted and confirmed before a single write.

BIMIO · Rosetta — Shared parameter managerBIMIO
Rosetta
Enter new names to build a rename mapping.
BIMIO namingReload
AllSharedProjectFamily
New…Bind…Convert…Fill…Sweep…Template…Import…Export…Dry-runRename SPFRename in modelHistoryClear
What a shared parameter really is

Writing the definition is not adding the parameter. Rosetta says so.

This is the misunderstanding that costs whole afternoons. A shared parameter lives in a text file; adding it there does not put it on anything. Revit has no way to add a parameter to a family already loaded into the project — that needs the Family Editor — and every other tool lets you believe otherwise until an app reports the parameter as missing and you cannot see why. Rosetta puts that in a banner, with the four steps that finish the job. When the parameter is one BIMIO itself owns, a second banner explains the part people get backwards: identity is the GUID, not the name, so renaming it is safe and tags travel between projects.

New to Revit: the sentence Revit never shows you, at the moment you need it.
When it cannot bind
BIMIO · Rosetta — New shared parameterBIMIO
New shared parameter
THIS CREATES THE DEFINITION, NOT THE PARAMETER ON YOUR FAMILY
Revit has no way to add a parameter to a family that is already loaded into the project. What happens here is that the definition is written to the shared parameter file. To finish: open the family in the Family Editor, Family Types → Add → Shared parameter, pick this one, and reload the family. Until you do, the app that asked for it will keep reporting the parameter as not found — correctly.
CancelCreate
When BIMIO owns it
BIMIO · Rosetta — New shared parameterBIMIO
New shared parameter
FIXED IDENTITY
Create it in this project too
This parameter has a fixed GUID (3f2b8c14-9d77-4e2a-8b51-0c6ad4e91f30), so it is the SAME parameter in every project — tags travel, and Graft can carry it. Renaming it here is safe: identity is the GUID, not the name.
CancelCreate
Binding it, with the awkward question asked

Instance or type is the easy half. Groups are the half that bites.

Binding a shared parameter asks two things, and Revit's own dialog is candid about neither. The first is instance or type, which everybody knows. The second only shows up months later: inside model groups, should every instance of the same group hold the same value, or may each one differ? Get it wrong and you find out when a value you edited in one flat appears in forty. Rosetta puts both questions on the screen in plain words, with the consequence written under each. And it will not pretend: a parameter you selected that is not in the current file cannot be bound at all, because binding needs the definition and the file is where it lives — so it says which ones, and skips them.

New to Revit: the group question asked out loud, before it costs you a day.
BIMIO · Rosetta — Bind to projectBIMIO
Bind to project
NOT IN THE SHARED PARAMETER FILE
How they bind
Instance · Each placed element carries its own value.
Type · One value per type, shared by every instance of it.
Varies by
Values are aligned per group type · Elements inside model groups keep this value identical across instances of the same group.
Values can vary by group instance · Each instance of a model group may hold its own value for these parameters.
1 selected parameter is not defined in the current file and will be skipped: BIMIO_RoomFinish. Binding needs the definition, and the file is where it lives.
CancelBind
Nothing destructive without a way back

Every gesture that can break something leaves a snapshot first.

Rosetta rewrites the shared parameter file and rebinds parameters across a whole library — the kind of work that is fine until the one time it is not. So every destructive gesture records what ran, on which model, and the values it captured BEFORE touching anything. The shared parameter file itself is backed up on every write, and restoring a backup backs up the current file first, so the escape hatch cannot itself become the accident.

New to Revit: a forensic record of a batch operation, not a hope that it went well.
Rosetta · HistoryBIMIO
History
Every destructive Rosetta gesture leaves a forensic snapshot here — what ran, on which model, and the values it captured first.
Library sweep · Marina Tower — Block A · converted
Library sweep · Doors — M_Single-Flush.rfa · skipped
Library sweep · Doors — M_Double-Flush.rfa · failed
Select an operation to see what it captured.
Restore SPF backup…Close
See the real output

This is an actual HTML report Rosetta exports — self-contained, works offline, shareable as one file. Scroll it right here, or open it full-screen.

Open full report

Stop being afraid of the SPF.

Rosetta ships on the Data panel of the BIMIO tab. Open your model, read the audit, and rename what has been misspelt for years — with a backup, a dry-run and a way back. Revit 2024–2027, full trial, no card.

← PreviousRoom Studio