Can I use Dynamo to make a Material Library (a .ADSKLIB file, not Project Materials)?
Recently created a large list of Project Materials in the Material Browser using an Excel file of MasterFormat Division numbers. Unfortunately the Project Materials list needs to be heavily reduced because too many Project Materials in a project can be too cumbersome.
Thankfully the new Revit 2025 I can BULK add and delete materials into a material library but as of right now I can’t see any Dynamo nodes or packages that do this too. It would be useful if Dynamo had something because then I can continually update the Material Library (ADSKLIB file).
As of today, I think this feature has not been made available through public api. But Revit 2026 is about to be released, fingers crossed.
In 2025 currently CAN bulk select, add, or delete materials from the material browser or library. I’m surprised there is nothing in Dynamo to match.
The entire materials library is code which runs outside of Revit, and actually stems form teams outside of the Revit team as I understand it. As such the API is… well it’s there in theory (Revit does it after all) but not so much in practice.
Interesting. Solid answer too. Hopefully we can expect something in the near future.
Conclusion - there is no way to manage the Revit Material Library/ADSKLIB with Dynamo as of right now. The solution, as I have found, is to modify the Project Material Browser with Dynamo and use the user interface of Revit 2025 to build to Material Library/ADSKLIB. The ADSKLIB can be used in earlier versions of Revit.
FWIW the solution I used to leverage is building a project with the materials in it, and add the materials to a family with a unique type for each material. Users could then transfer those in via Dynamo script, and material edits in the project would associate to the family when transfered.
No where near what it should/could be, but it does get the job done.
If you really wanted you could build a reference document of some sort with the material’s GUID in the source project, the name, and a few image swatches (i.e. hidden line projected, hidden line cut, shaded projected, shaded cut, realistic) and other info. Then build a UI to load that in and allow the user to select which one(s) they want to transfer to the active file. Then you just copy the relevant materials over form the source document to the active project.