144 Material Usage Reassignment
Chris McKeown / July 1, 2025
Lists
Overview
Material Usage Reassignment provides a complete picture of where every material in a project is used, then lets you swap it for another material across all — or just selected — usages in one transaction. The tool uses a temporary deletion technique to detect dependencies that a simple parameter search would miss, including materials embedded in families and materials assigned to compound structure layers. It is the right tool for material consolidation, correcting systematic assignment errors, and preparing a model for material standards compliance.

Table of Contents
- Key Features
- Requirements
- Running the Tool
- Understanding the References Panel
- Tips and Best Practices
- Common Use Cases
- Troubleshooting
Key Features
- Lists all project materials with a usage count that updates after analysis
- Detects material dependencies using a temporary deletion technique — more comprehensive than a parameter scan alone
- Identifies four distinct usage types: Base Element, Parameter, Painted Face, and Layer
- Batch-analyses multiple materials in a single pass using Load Selected Details
- Targeted swap: choose which usages to reassign and select any project material as the replacement
- Completion message reports counts of fixed parameters, faces, and layers separately
- Select and go to Revit selects affected elements and closes the dialog for immediate inspection
- Send to Element Properties opens all reference elements in the Element Properties tool for deeper analysis
- Export both grids independently to CSV or Excel
- Column filtering and multi-select on both grids
- Built-in language selector for multi-language support
Requirements
- Works in any Project document (not Family documents)
- The project must contain at least one material
- Write access to the model is required to perform swaps; analysis is read-only
- For workshared models, ownership of an element is required before its material can be reassigned
Running the Tool
Launch
Find Material Usage Reassignment on the Bonus Tools Ribbon or use 115 Search Tools.
The dialog opens and loads all project materials into the top grid. All materials start with a Count of 0 — the count only populates after you run an analysis.

Step 1 — Review the Materials Grid
The top grid lists every material in the project.
| Column | Description |
|---|---|
| Id | Revit Element ID of the material |
| Name | Material name as shown in the Revit Material Browser |
| Count | Number of dependency references found — populated after analysis |
| Select | Checkbox — tick to include the material in a batch analysis or selection query |
Use the column header filters to narrow the list. The Total counter at the bottom of the right panel shows the total number of materials; Total selected tracks how many are ticked.
Selection controls (Materials panel):
- Select Selected — toggles the Select checkbox for highlighted (clicked) rows
- Select All — checks all visible rows, respecting active filters
- Select None — unchecks all rows
- Reset Filters — clears all active column filters
Step 2 — Analyse Materials
Material analysis is not automatic on row click. You must trigger it explicitly.
To analyse one or more materials:
- Tick the Select checkbox for each material you want to analyse.
- Click Load Selected Details.
A progress bar tracks processing. The tool performs a temporary delete-and-rollback for each selected material to detect every element that depends on it. The Count column updates for each processed material when the analysis is complete.
Note: Analysing materials with many hundreds of usages takes longer. Process in batches of 20–30 materials at a time for large projects.
Step 3 — Inspect Usages
Click any material row that has been analysed to load its references into the bottom grid.
| Column | Description |
|---|---|
| ID | Revit Element ID of the element using this material |
| Name | Element name |
| Linked To | How the material is used — see Understanding the References Panel |
| Linked Id | The specific parameter name, or layer function and layer ID |
| Dependency | Always Modification — the element would be modified (not deleted) if the material were removed |
| Select | Checkbox — tick to include this reference in a swap operation |
The Total counter shows the number of references; Total selected tracks how many are ticked.
Selection controls (References panel):
- Select Selected — toggles the Select checkbox for highlighted rows
- Select All — checks all visible rows, respecting active filters
- Select None — unchecks all rows
- Reset Filters — clears all active column filters
Step 4 — Swap Materials
- In the References grid, tick the Select checkbox for every usage you want to reassign.
- Open the Swap to dropdown and choose the replacement material. The list contains all project materials, sorted alphabetically.
- Click Swap Selected To.
The tool runs a Material Remap transaction and reports the result:
Fixed Parameters: 3
Fixed Faces: 1
Fixed Layers: 2
The References grid refreshes automatically after a successful swap. Reassigned references are removed from the list.
Base Element references cannot be swapped through this tool — the material is embedded inside a family definition and must be changed in the Family Editor. See Troubleshooting for details.
Step 5 — Inspect or Export
Select and go to Revit — selects the ticked reference elements in Revit and closes the dialog, leaving you in the model to inspect the results directly.
Send to Element Properties — opens all reference elements (the full list, not just ticked rows) in the Element Properties tool for deeper parameter inspection.
Export to CSV / Excel — each grid has independent export buttons in the right panel. Export the Materials grid for a project-wide material inventory; export the References grid for a usage breakdown of the currently selected material.
Understanding the References Panel
The tool uses a temporary deletion technique to discover dependencies. It creates a transaction group, deletes the material inside a nested transaction to trigger Revit's internal dependency tracking, captures the list of modified element IDs, then rolls back — leaving the model unchanged. The captured elements are then inspected to classify the type of usage.
Linked To values
| Linked To | What it means | Can be swapped? |
|---|---|---|
| Base Element | The material is used inside a family definition and cannot be reached from the project environment | No |
| Parameter | The material is assigned via an element or type parameter | Yes |
| Painted Face | The material is applied as a paint override on one or more geometry faces | Yes |
| Layer | The material is assigned to a compound structure layer (Wall, Floor, Roof, or Ceiling type) | Yes |
Linked Id examples
| Linked To | Example Linked Id | Meaning |
|---|---|---|
| Parameter | Structural Material | The parameter named "Structural Material" holds this material ID |
| Parameter | Finish Material | The "Finish Material" parameter |
| Painted Face | Face | A geometry face with a paint override |
| Layer | Finish1 [4] 3 | Layer function Finish1, function type ID 4, layer ID 3 |
Elements shown as Base Element cannot be reassigned from the project. The material is locked inside the family's geometry or formula. To change it, open the family in the Family Editor, modify the material assignment there, and reload the family into the project.
Tips and Best Practices
- Count starts at zero. All materials show Count = 0 on first load. Run Load Selected Details to populate counts — only then does clicking a row show any references.
- Analyse before you swap. Review all usage types for a material before committing to a swap. Base Element references cannot be reassigned; factor them into your plan.
- Filter by Linked To before swapping. If you want to swap only layer usages and leave painted faces untouched, filter the References grid to
Linked To = Layer, then use Select All to tick only those rows. - Layer swaps affect the type, not the instance. Reassigning a layer material changes the wall or floor type's compound structure, which updates every instance of that type in the project.
- Save before a large batch swap. Swaps are committed as Revit transactions and can be undone with Ctrl+Z, but saving first gives a clean rollback point.
- Handle Base Elements separately. Export the references grid, filter to
Linked To = Base Element, and use the list as a task list for Family Editor edits. - Send to Element Properties for deep inspection. Before swapping, use Send to Element Properties to review all affected elements in one place and confirm they are the elements you expect to change.
- Export the Materials grid at milestone stages. A CSV of the materials grid with counts gives a useful before/after record of material consolidation work.
Common Use Cases
Consolidating duplicate materials — Projects often accumulate near-identical materials ("Concrete", "Concrete - Cast in Place", "Concrete_Gray"). Select the materials to retire, run Load Selected Details, then swap each to the canonical standard material and purge the originals.
Correcting systematic assignment errors — A generic placeholder material was accidentally used for dozens of elements. Analyse it, select all layer and parameter usages, and reassign to the correct material in one operation rather than editing each element manually.
Material standards compliance audit — Export the Materials grid to Excel, cross-reference against the office standards list, and flag non-compliant materials. Use the tool to reassign them to standard alternatives, then re-export to confirm compliance.
Pre-purge usage check — Before purging unused materials, analyse candidates with this tool to verify they truly have no usages. A Count of 0 after analysis confirms the material is safe to delete.
Family material audit — Filter the References grid to Linked To = Base Element and export the result. The list shows every family that has a material embedded in its geometry — useful for prioritising which families need to be opened and updated to expose a material parameter.
Troubleshooting
Count column shows 0 for all materials after opening This is expected. Count only populates after you run an analysis. Tick the materials you want to inspect and click Load Selected Details.
Clicking a material row shows an empty References panel The references panel shows cached results. If you have not yet run Load Selected Details for that material, the cache is empty. Tick the material's Select checkbox and click Load Selected Details to populate it.
"Base Element" references are not reassigned after the swap Base Element usages are embedded in family definitions and cannot be swapped from the project environment. Open the family in the Family Editor, locate and update the material assignment, and reload the family into the project. If the material is hardcoded in the family, consider adding a material parameter so it can be controlled from the project.
Swap completes but Fixed Parameters / Faces / Layers all show 0 Verify that rows in the References grid are ticked (Select checkbox). The swap only processes rows where Select = true. Also confirm a replacement material is chosen in the Swap to dropdown.
Send to Element Properties opens all references, not just the ones I ticked This is by design. Send to Element Properties passes the full reference list for the selected material. To work on a subset, use Select and go to Revit instead, which uses only ticked rows.
Select and go to Revit closes the dialog before I can see the selection The dialog intentionally closes after transferring the selection to Revit so the model view is unobstructed. The elements remain selected in Revit — switch to an appropriate view to inspect them.
Load Selected Details is very slow The analysis uses a temporary deletion technique that must run per material. Processing time scales with the number of dependencies. Limit batch sizes to 20–30 materials at a time, or analyse materials individually by clicking one row at a time after running Load Selected Details for each.
Layer reassignment seems to affect more elements than expected Layer swaps modify the compound structure of a wall, floor, roof, or ceiling type — all instances of that type update automatically. This is correct Revit behaviour. If you only want to change one instance's material, apply a material override at the instance level instead.
Painted face swap creates unexpected results Swapping a painted face replaces the painted material with the new one — it does not remove the paint override. If you want the element to revert to its base material, use Revit's native Remove Paint command rather than swapping.