Best workflow to create and update Revit materials from Excel (including thermal properties)

Hi,

I’m trying to build a workflow to generate and maintain a material library in Revit from an Excel file and I’m looking for advice on the best approach before I start building the script.

The idea is that each row in Excel represents one material that should be created if it does not exist, or updated if it already exists in the Revit project. The Excel file should therefore act as the source of truth for the material data.

The Excel sheet structure looks roughly like this:

Materialnamn Kommentar / Användning Kategori Brandklass Lambda (W/mK) Densitet (kg/m3) Specifik värmekapacitet (J/kgK)

The mapping to Revit would be:

  • Materialnamn → Material Name

  • Kommentar / Användning → Comments

  • Kategori → Description

  • Brandklass → Custom material parameter called Brandklass

  • Lambda (W/mK) → Thermal Conductivity

  • Densitet (kg/m3) → Density

  • Specifik värmekapacitet (J/kgK) → Specific Heat

The goal is that the Excel file can be edited over time, and the Dynamo/Revit workflow can be run again to synchronize the materials (creating new materials and updating existing ones).

My questions are:

  1. What is the recommended workflow for this?

  2. Is Dynamo + Python a good approach, or would Revit API / add-in be better?

  3. What is the best way to handle Thermal Assets when creating or updating materials from data?

  4. Are there any existing tools or packages that already solve this type of workflow?

This sounds like a good plan for a workflow, but do all your research first. You’re missing things like display properties.

I would start with Dynamo, moving to Python if I must. Add-ins are for scaling and you need to prove the concept ad validate that it meets your needs first.

I’ve built a few; Genius Loci has some tooling for material editing but it seems to be less supported of late and relies on IronPython2 which is a security issue.