Fire Exit Risk Assessment with Revit and Dynamo

In the meantime, we’ve all rolled into 2017 now. So with that I would like to send you my best wishes for this New Year. And above all, I wish you even more Dynamo awesomeness in 2017! That being said, I want to kick off the Dynamo Year 2017 with this post.

When we think about “Fire Exit Risk Assessment” in an architectural BIM model, then we also think about the creation of “evacuation plans” for the building. In a lot of situations this is done manually based on estimations of the shortest and easiest way to reach an indicated “emergency exit”. I’ve tried to tackle this challenge by automating the definition of the shortest routes between a room exit and the nearest emergency exit. Of course, all of this is done with Autodesk Revit and Dynamo.

In this post I want to explain you how you can build this type of script yourself and as usual you’ll find the datasets at the bottom.


The model that is used is shown on the images below. The script needs to detect the shortest route between a “normal” room exit door and one of the 4 indicated “emergency exit” doors at ground level. Therefore a room plan at that level is created and the rooms that can be used as “circulation”, which are the corridors in this case, are indicated in orange.


The result of the script is the creation of evacuation routes for each room exit to the nearest emergency exit. In Dynamo this looks as follows:

When using the Dynamo curves to create Revit detail lines from them, this results in nice evacuation plans like shown in images below.

How to create the script

Before you start experimenting with the Dynamo script, provided at the bottom of the post, I would strongly advise you to watch the detailed recording with voice-over, I have made available on my YouTube channel. It will explain you step by step how to read the Revit model, analyse the circulation area, defined the shortest routes and finally how to automate the creation of the detail lines in Revit, representing the evacuation paths.


The Dynamo script and the model can be all downloaded here.


15 thoughts on “Fire Exit Risk Assessment with Revit and Dynamo

  1. Aren’t travel distances calc’d from the furthest corner of a room, not the center of door to that room? Could I challenge you to that as well as a script that also determines if a room is too rectangular and requires two exits?
    By the way, what you’ve made is amazing! Keep up the great work!

    • Travel distances are calculated differently depending on the particular laws or by laws of the province that you live in. Perhaps I could challenge you to try to modify the script to reflect your particular needs? The script and a full explanation has been provided by the author.

      • I’m able to get it to read into the room center or technically wherever the room cross hairs are. So if I just drag the center of the room to the corner I can manage. Although he basically explains how to do that in the video explanation.

  2. Small comment based on the image. Egress paths are required to be calculated no further than 1′ away from an adjacent wall. People crawling away from a fire in a dark, smoke filled room will get on the floor, stick to a wall and follow it by touch to an exit. You can’t cross open spaces diagonally like that. So shortest path analysis isn’t necessarily going to be correct.

    • Fire egress paths are calculated differently depending on your local or state laws. In Australia, we use diagonal paths with a zero clearance from point to point.

  3. Hi, I tried it in a personal file to test but got a warning in the last node of the “Analysis surface definition” (Surface.ByPatch) saying that wire has self-intersection. What can this be? Thanks for sharing your nodes! Fantastic work!

  4. Pingback: Exemple Dynamo : Chemin d’évacuation incendie - French BIM

  5. Thank for sharing this!! Its helpful for my project.
    I have study about evacuation path analysis. I have to put more information like each node(door/room) have difference density, that mean some circulations will got a traffic jam. So people in some nodes have to change their nodes.

    Do you any idea for this to run on Dynamo?

  6. Nice one Dieter and thanks for sharing. We tag exit distances for our code drawings and unfortunately you cannot do this with detail lines in Revit. We have got around this by having an adaptive component with a line drawn between the points. It can be tagged but is rather cumbersome to use. I’ll see how we can get it to work with your graph.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s