You are on page 1of 16

[AS468252]

Using Revit and Dynamo to Assess Embodied Carbon


Kayleigh Houde
Buro Happold

Learning Objectives
• Learn how to model your elements to make their assessment of the CO2 impact
seamless.
• Learn about the storage of EPD data sets to ensure you're assessing your
materials properly.
• Discover Revit software’s ability to visualize your results.
• Discover output to Excel reporting formats.

Description
Our intelligent models are rich with modeled elements, parameters, and materials; they're ripe
for the assessment of their CO2 impact. Yet how do we make that process seamless? During
this session we'll review ways to pull your BIM (Building Information Modeling) elements and
apply rich Environmental Product Declaration (EPD) data sets against them, pushing that
information back into Revit software, and visualize the overall impact using Revit software’s
available color schemes.

Speaker Bio
Kayleigh is the global Computational Community Leader for
BuroHappold Engineering and a licensed mechanical engineer. Her
primary focuses are open source toolkits for the AEC industry
(BHoM) and upskilling individuals in transdisciplinary computational
methods using Rhino, Grasshopper, C#, Revit and Dynamo through
Buro Happold's global Hackademy series.

Page 1
Learn the Lingo of Life Cycle Assessment and Embodied Carbon
Before we embark on measuring embodied carbon, it’s important to note some key terms that
form the basis of its assessment.

Life Cycle Assessment


Life cycle assessment is the industry methodology for assessing the environmental impacts
(Global Warming Potential, Acidification Potential, Ozone Depletion Potential, etc) associated
with the stages of the life cycle of commercial products. For the purpose of this demonstration
we’ll primarily be focusing on the first 3 stages (A1-A3) also known as cradle to gate. The
reason being that we’re typically pulling manufacturer’s environmental product declaration
(EPD) information and manufacturers can only be responsible for the extraction, processing and
manufacture of their products, previous to their delivery to site.

Global Warming Potential (Embodied Carbon)


What we as an AEC industry tend to refer to as Embodied Carbon is formally known as Global
Warming Potential, measured in equivalent kilograms of carbon dioxide. This allows us to
capture all of the compounds that contribute to global warming (CFCs, HCFCs, Methane) and
relate them back to their relative potency in kgCO2e. For example, 1 kg of CFC-12 is equivalent
to 10,200kg CO2e.

Environmental Product Declarations


Environmental Product Declarations are independently verified documents that communicate
the environmental impacts of products.

Page 2
A Tool to Assess Embodied Carbon: BHoM
BHoM was started in 2016 by Buro Happold as a collaborative computational development
project in the aim of building a solid foundation and framework for the code that we develop
within the AEC industry. In 2018 it was released as open-source code and installers for
Dynamo, Grasshopper and Excel.

BHoM Life Cycle Assessment Toolkit was started in 2019 as a part of the Global Climate Strike,
in an effort to create a computational means of assessing things like embodied carbon through
a solid framework of EPD datasets, evaluation methods, and scope objects. These methods
were created by a team of sustainability experts, software developers, architects, structural and
mechanical engineers.

Considering that BHoM is accessible as a package within Dynamo (through a simple install on
www.BHoM.xyz), it’s a great way of expressing a means of assessing embodied carbon from
our Revit models for an Autodesk University presentation!

You may still be asking, why BHoM? BHoM allows us to properly store and catalog our EPD
datasets, keep track of our scope (what we’re choosing to include), measure embodied carbon
in early stage design when we’re not using Revit (Rhino in particular), push our results to JSON
files, Excel, or MongoDB upon completion.

Page 3
Life Cycle Assessment Scopes of Study in BHoM
Life Cycle Assessment scope is generally broken into scopes of: Enclosures, Foundations and
Structures per certification (LEED, LBC and CLF) standards. However, it’s important that we not
limit ourselves to those areas of study, since they do not include MEP (ducts, pipes, equipment)
or Tenant Improvements (Interior Walls, Ceilings, Floors), hence our inclusion of these
categories in BHoM LCA Scope objects. They allow you to keep yourself organized and
accountable for what you’re choosing to include in your study.

Page 4
Environmental Product Declaration Datasets in BHoM
BHoM Datasets allow us to access thousands of EPDs from Quartz, EC3, ICE and Okobaudat.
We even have a live connection to EC3 through an adapter to Carbon Query database, if you’re
interested reach out to me directly for a demo (Kayleigh.houde@burohappold.com)!

BHoM Workflow Overview for Studying Embodied Carbon from Revit


In a general sense, our workflow will be that we pull our objects from Revit (slabs, columns,
walls, ducts) into Dynamo, we’ll apply the EPD datasets to those objects appropriately, evaluate
their embodied carbon, and push them back to Revit with their results! But first, let’s take a look
at some things we can do in our Revit models to make this easier.

Page 5
Modeling in Revit to Make Assessment Easier
There are a few things that you can do through the course of modeling your elements in Revit
that make it easier to measure their embodied carbon (most of which are things you probably do
as a good samaritan in Revit land anyway!)
1) Assign materials whether by using their Revit material property or by noting the
material/product used in the family name (e.g. Concrete Column, Daikin Chiller, etc) This
allows easier and more appropriate assignment of an EPD based on a manufacturer or a
particular type of concrete.
2) Ensure that the mass, area, or volume can be assessed (where appropriate) as most
EPDs have unit types where they measure by unit, mass, volume or area. We can
extract those via BHoM methods but it’s always easier if it’s accurate in Revit first!
3) Model your objects as the appropriate category: ducts as ducts (not lines), columns and
columns (not generic models).
4) Create a project parameter where the Embodied Carbon information can live once we
push it back in. Something like “Embodied Carbon (kgCO2e)” applied to all categories:

Page 6
Let’s get to the demo!
This is the part where we actually start measuring embodied carbon (woo!) The steps that we
will follow for every type of object (wall, floor, column, duct) use the following steps:

1) Download BHoM (once)


2) Open Revit 2017+ Project (once)
3) Open Dynamo 2.0+ (once)
4) Pull Your Objects by Type (Columns, Floors, Ducts, etc)
5) Sort Your Objects (if there are multiple materials (e.g. timber, concrete and steel
columns)
6) Search BHoM EPD Datasets for the Appropriate EPD to your sorted objects
7) Add EPD Fragment to Objects by Type
8) Get the Volume or Mass of your object
9) Evaluate Your Global Warming Potential by Mass or Volume
10) Set Parameter on Revit Objects
11) Push Your Objects Back to Revit

Downloading BHoM
BHoM can be downloaded from www.BHoM.xyz the install takes about a minute, make sure you
have Revit, Excel and Rhino closed while downloading so that it can install as a package in
each!

Open Revit and Dynamo


After downloading BHoM, you’ll want to open the model for the building you’re trying to assess.
Please make sure that this is in Revit 2017+ and that you have Dynamo 2.0+ installed. Quick
reminder that Dynamo always lives in the Manage tab.

Page 7
Pull Your Objects Using BHoM Nodes in Dynamo
Once you open a new script in Dynamo, you’ll find the BHoM
package on the left hand side under Add-Ons. Any BHoM
command can be accessed via Control+Shift+B if you just search
for the key words in the node (e.g. Adapter, Filter Request, Type
Duct, etc). BHoM has 3 primary parts: the Adapter, the Engine and
the oM.

In order to pull your Revit objects you will place an Adapter


component (right click and search for Revit), a Pull component, a
Request component (right click and search for filter request type),
and a CreateType from the oM where you will search for your
object by its type (wall, floor, duct, etc.)

Sort Your Objects By Type


When pulling objects like columns, you’re bound to have multiple materials. This may be based
on the family name of your objects, as you can see in the image below where we’re getting the
Revit parameter for Family Name and then using a StringContains Dynamo component to get
Trues and Falses for each type whether it contains the word timber, concrete or flange, and
then applying a Boolean mask filter.

Page 8
Apply the EPDs to Your Objects
Now that your objects are sorted you
can add a fragment to them (basically
imbuing them with the properties of
the EPD material you choose). You
can do this by placing a BHoM Engine
Modify component looking for
AddFragment, and by adding a
CreateData component under BHoM
oM. When you right click on the
CreateData component you can find
the LifeCycleAssessment Group
which is full of Datasets from EC3,
ICE and Quartz for you to apply to
your objects!

Page 9
Get the Volume or Mass of Your Object
If you use a BHoM Explode node on your EPD dataset, you’ll see
a property called QuantityType, this indicates how that particular
EPD needs to be evaluated, typically either by Mass or by Volume.
You can use BHoM Engine Query methods to find the mass or
volume of your objects. These values will be plugged into the
Evalute methods we use next!

Evaluate Global Warming Potential (Embodied


Carbon) by Mass or Volume
You can find the
EvaluateEnvironmentalProductDeclaration nodes under
BHoM Engine Compute. You’ll plug in your objects from
your AddFragment node (this is because BHoM passes
objects not information, really key difference between
BHoM and regular visual programming, aka no list
management, woohoo!). You’ll also plug in the “field” with
a CreateEnum from BHoM oM, called
EnvironmentalProductDeclarationField, and your values
from either your volume or mass queries in the step
before.

Page 10
Set Revit Parameter on
Objects
We need to use a BHoM Engine
Modify to SetRevitParameter on our
objects (from the AddFragment
object), plug in the paramName
from a code block (whatever you
chose to call your embodied carbon
project parameter), and the
GlobalWarmingPotential values
from the Exploded Evaluate Nodes.

Push Your Objects Back to Revit


The final step is that we push our
objects back to Revit! You’ll need a
push component from BHoM Adapter,
an Adapter component from BHoM
Adapter (search Revit), an enum from
CreateEnum under BHoM oM (search
PushType, UpdateOnly! As the
dropdown), and a List.Create from
Dynamo to put all of your objects
together from the SetRevitParameter
nodes (once again those results hold
objects with new properties), and a
code block with the word “true” plugged
into your active ports.

Page 11
When you go back into Revit you’ll see the results in your parameter:

The Full Dynamo Script (For Your Reference)

Page 12
Visualize Your Results in Revit
Once your results are pushed, you’ll set up a simple set of filters in Visibility Graphics for a 3D
view in Revit to visualize your results:

With each filter looking like this:

Page 13
Your 3D view will then look like this (with the worst offenders closer to the start of the rainbow:
red!)

Page 14
Pull Your Results into Excel
BHoM works exactly the same way in Excel that it does in Dynamo (we could have run the
whole evaluate process that way in fact!) Once we have our objects with their properties we can
pull those into Excel and make a little pie chart to visualize the results on the whole.

Pull your objects into Excel, using an Adapter component, Filter Request by Type, Type and
Pull component, as well as a cell with the word FALSE/TRUE to tell it to run:

You’ll see a list of objects in your “Pull” cell, you can get these out by doing a BHoM Engine
Query>Reflection>List, Int32. The inputs are the Pull cell and then indices starting at 0. You will
want to see each object’s results by doing a BHoM Engine Query for GetRevitParameterValue:

Page 15
You’ll want to pull all different types (floors, columns, walls, ducts), in order to move onto the
next pull type you’ll want to Internalise your first objects. Internalise basically means that you will
seal those objects into those cells (you can even close Revit and they’ll be there the next time
you open this Excel sheet).

Repeat your pulls for the different object types, get your results for each and set some cells with
the SUM values for each category and make a simple pie chart to visualize your results!

Page 16

You might also like