144 Material Usage Reassignment

Chris McKeown / July 1, 2025

Lists

~11 min read2,188 words
0 views

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.

144 Material Usage Reassignment dialog

Table of Contents


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.

144 Material Usage Reassignment — dialog on open


Step 1 — Review the Materials Grid

The top grid lists every material in the project.

ColumnDescription
IdRevit Element ID of the material
NameMaterial name as shown in the Revit Material Browser
CountNumber of dependency references found — populated after analysis
SelectCheckbox — 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:

  1. Tick the Select checkbox for each material you want to analyse.
  2. 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.

ColumnDescription
IDRevit Element ID of the element using this material
NameElement name
Linked ToHow the material is used — see Understanding the References Panel
Linked IdThe specific parameter name, or layer function and layer ID
DependencyAlways Modification — the element would be modified (not deleted) if the material were removed
SelectCheckbox — 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

  1. In the References grid, tick the Select checkbox for every usage you want to reassign.
  2. Open the Swap to dropdown and choose the replacement material. The list contains all project materials, sorted alphabetically.
  3. 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 ToWhat it meansCan be swapped?
Base ElementThe material is used inside a family definition and cannot be reached from the project environmentNo
ParameterThe material is assigned via an element or type parameterYes
Painted FaceThe material is applied as a paint override on one or more geometry facesYes
LayerThe material is assigned to a compound structure layer (Wall, Floor, Roof, or Ceiling type)Yes

Linked Id examples

Linked ToExample Linked IdMeaning
ParameterStructural MaterialThe parameter named "Structural Material" holds this material ID
ParameterFinish MaterialThe "Finish Material" parameter
Painted FaceFaceA geometry face with a paint override
LayerFinish1 [4] 3Layer 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.