Saturday, April 16, 2022

Finding (Material) Neverland

Have you ever experienced your Material Browser taking forever to open the second you click that icon? 

One of the known issues I come across is if the project has a custom image map used for material Appearance but they are nowhere to be found, Revit is trying to find them through the path originated in its location. It will try to find them until it times out. In other words, the more missing material you have in the project, the longer for Revit to try to find them (i.e. the stalling). 

An Autodesk Knowledge Base post offers a similar explanation. 


This has become a serious headache for the user when:

  • The Revit file was upgraded many versions ago and the material referenced location does not exist.
  • The Revit file has material borrowed (or transferred) from other projects. 
  • Custom material assigned to family content from other sources (e.g. manufacturer content)

How do you resolve an issue like this?

While I haven't found an easy solution, the only way is to identify which material via Material Browser has the missing image, and replace (or repath) with the image that Revit can access. Once that is done, the material browser can operate normally. 

This can be a daunting task if the project has hundreds if not thousands of material. Can I use Purge Unused to get rid of those materials? The short answer is yes but it is only possible to purge out material that is not assigned to any Revit system or component families. Even with purge unused, there could still be a lot of missing images referenced with the rest of the material. 

There have been some postings using Dynamo to help find these images. The process still has its shortcoming. 

I came across a tweet the other day when someone mentioned using a Revit add-in Ideate BIMLink tool. I started researching that solution. 

What's interesting is this tool and its feature has been around for years. While BIMLink is a licensed Revit tool, I haven't had the chance to use it until recently. What's more, the original intent of using a BIMLink feature is to swap material assignments for custom families to aid in a quick iteration of rendered design options for casework, furniture, and lighting.


Using BIMLink
Start Ideate BIMLink (I am using the 2022 version)

Click New


Then select \06 Project Standards > Project_Stds-Materials > Next



Under the Properties tab, you can add any additional properties to the right. You can also include materials from the linked Revit model by choosing Include linked elements.
Click Done to go back to the setting. 


Once you are back to the setting, click Export
This will generate the entire inventory of the materials list from a single (or multiple) Revit files whether the material is in use or not. 



Choose a destination location to save the excel spreadsheet. 




Open the exported file in Excel. 
The image path is under Appearance: Image


This is where you can see if there are any invalid paths that are no longer accessible by the Revit file. 

Another interesting fact, I was able to identify the material pathing if these custom materials from manufacturer content are ever loaded into the file. 

This example shows the content creator from the furniture company Steelcase placed the custom image map under the person's desktop?? Seriously!?



This is another reason why I have a trusting issue with third-party content downloaded from the internet even if they are from well-known companies. 

I wrote this post years ago that explains why it is important to have a vetting process in place if your office decides to use content generated by a third party. 


In Closing

I hope this helps to resolve the issue with Material Browser which is slow to open. While the process is still tedious, it offers a more manageable way to track down a specific material with this issue.