How to use Dynamo for BIM-LCA integration?

I have a dataset in an excel file containing some parameters and values of sustainability of basic building materials. I need to know how I can link this data to my Revit model such that it shows those values in the properties interface or in user defined fields and is parametric in nature.
Example a brick wall has an embodied carbon value of 4.4 MJ and there is a house made of bricks in my Revit model, so how can I get the embodied carbon value for that particular volume and surface area in my Revit model’s interface?

Hello @shubhamkar.pcm20337

First you need to map your excel with revit family or family type. then you can place those excel value in the revit family and you can play with those values. like if you need to multiply excel value with volume or area & many more.

You’ll need both shared parameters to store those values to, and at least one field those objects have in common so you can match/set them based on this. We’ve been looking at embodied carbon analysis using various solutions and having at least one common piece of data is crucial - without it there is no way for Dynamo or other programs to identify which row of a database/table it should be referencing for a given object.

So, to help me understand this better, if I have a GWP value for a material in an excel file and the same material is there in the Revit model, you are saying dynamo can’t link the two such that I see the value per unit area/volume in the Revit interface?

Dynamo runs when you tell it to run typically, so we would usually use it to push data in and pull data out in suitable formats (e.g. CSV/Excel). You would usually write that GWP value to the object type which generates the associated metric. In my experience that wouldn’t be based on a material (as the only way you can do takeoff for it is using a material takeoff - very complex). You would instead push the rate to the type from Excel or a similar tabular data source then do a takeoff based on the related metric in Revit * the rate (e.g. Area).

Remember that Dynamo has no idea how LCA works really, you are the programmer instructing it how to interact with, extract and generate data as required. Look at Revit like a database of objects. Some data must be available to match with another source in order to add additional data on the same row elsewhere - a bit like using a vlookup in Excel, if no match is available in your back of house table, there will be no match made in the vlookup formula.

I actually have a series on my channel currently related to takeoff methods (this week I did Revit, next week I do Dynamo) and also recently showed a method of intersecting cost rates with a Revit model using a platform called Toric. This might help give some ideas.

1 Like

Okay, lets assume the area and volume of the material aside. Can I atleast just get a GWP value inside the revit interface when I select that element?

Yes, add a shared parameter and you can then store a relevant value to that parameter. Watch my first video above and you’ll see that process in action.

I saw your video, it was really helpful Create a Shared Parameters File using Dynamo! - YouTube However, my question is do I have to keep doing it manually for each material in the Revit library or can Dynamo help with that if I somehow connect the excel file to the BIM model. Also, while loading the excel file using dynamo I got an error about filename so couldn’t go further as the boxes became yellow.

You need at least one thing to be matchable between the two data sources (revit materials <=> excel) in order to transfer data across. Like i said before Dynamo does not know what to do with your data naturally - the scripts must guide it how to work. It sounds like you are quite new to this so I advise you to work through dynamo primer first and learn the fundamentals of list and data management. Do not rush.

Dynamo is not a dynamic tool - you run it at a given time typically. If you need process’ to constantly run an addin or an app capable of responding to events in revit to run a process must be used instead (e.g. pyrevit).