Automated Building Code Compliance Checking

Hi Forum,

I am writing my final Thesis and the Topic is ´´Automated Code Compliance Checking based on a Visual Language and Building Information Modeling´´. I know roughly how to model with Dynamo but i dont know how to check a Model and see if the Building Codes are verified or not.
There are some rules which are easy to Interpret, These rules require a single or small number of explicit data. For example to check the builiding class:

(A rule from the hessian Building Code(Germany))

1 buildings are divided into the following building classes:

  1. building class 1: a) detached buildings up to 7 m in height, with no more than two units of use totaling not more than 400 m2, b) freestanding agricultural buildings,

2nd building class 2:
Buildings up to 7 m in height with no more than two units of use totaling not more than 400 m2,

3rd building class 3:
other buildings up to 7 m high,

4th building class 4:
Buildings up to 13 m in height and occupancy units each of not more than 400 m2 in one storey,

  1. Building Class 5:
    other buildings up to 22 m in height.

I do not know how to start.
thank you in advance

1 Like

Get the height, then get the area of units. Then get the uses.
Compare height, and remove building types accordingly.
Compare areas to narrow it down further.

1 Like

Awesome to hear you’re writing about this in your thesis!
I think @JacobSmall has a good method for this. To translate what he said into something that could be done in Dynamo, maybe make an Excel sheet with all of the code data.
Then take the parameters of the model (floor heights, areas, etc.) and compare it to the Excel data with a series of If statements and/or comparisons.
You can even make project parameters to write to stating the results of your data, for example a text parameter for Building Class, which Dynamo sets as 2, 3, etc.
Not sure if I’m making it too complicated but throwing ideas out there. :smiley:

Thank you for the quick Response:), I’ll try it, let’s see if it works.
I’ll keep you up to date.
Bye for now!

Hi Guys,
i do not get any further, i have a request for you…can you please explain it for me step by step?
For example i do not know how to find out the height of the Building or of the Floor? or the Areas of the Floor?
Thank you in Advance again :slight_smile:

I don’t know the building code you’re using, so I can’t say if it is the same for what I would do. The basics are to do it the same way you would manually, but teaching Dynamo how to do it. Post an attempt of what you have, with an explaination of how you would do it by hand. If this is a thesis than you should be providing detailed examples of manual and automated checks for both methods (and indicating time for each so you can prove your statement). Looking at building height:

  1. How would you look at the building height manually from a print out?
  2. How would you get that data from Revit without Dynamo?
  3. How does Dynamo get the same data.

Show us what you have for that problem and we can help, but speaking in vague terms won’t likely help much as from reading above, I’m guessing the codes I know (IBC) does things differently than the code you are using.

Hi Jacob,

Here are a few pictures of my revit model, it is as you can see a very simple model.only for practice.
My problem is I do not know how to start because I am an absolute beginner in Dynamo.
If I had to check the Building Code manually , I would check first the height of the building and then the areas of the units and compare it to the rule. I would get the height from a sectional view, and the Areas from the Floor plans. In revit you can create Level lists, do you think i need that?
I found something how to get the Areas of the Units, but i dont get any values. Am i on the right way?
Thank you in advance!


You’re not far off with the height, but you need to understand how the building code defines height first. How does your building code define height? Top of highest structural member in the roof assembly? Finish floor for the highest occupied level? Top of any permanent construction including parapets, penthouses and overruns? If you don’t know what you’re measuring from you can’t very well get the right element to pull the data from. Once you know what you’re after you can select the element and get an elevation to use for the math. Check how your code defines the low point as well.

For the area stuff, levels don’t have an area value the way you think they do. Areas pulled from an area plan are likely where you want to get that data point from.

This is how the Building Code defines the Height, i hope its not too complicated
“The upper reference point for the determination of the fixed building height is the upper roof boundary edge. For pitched roofs this is the outer intersection of the two roof thighs (ridge), with single pitched roofs the highest intersection of the rising outer wall with the roof cladding and with flat roofs the uppermost end of the wall (Attica)
The lower reference point is the building side walkway trailing edge of the planned access road, measured perpendicularly in front of the building center on the side facing the access road”
I think it is in generally the distance from the top of the Terrain to the highest Point of the Building.
How can i measure the distance between the site (top of the terrain) and the highest point?
I found something but it does not give me the highest Point.

I can not get any further with the areas, I can get the areas out of the components, for example from the storey ceilings, but I do not know how to get the floor space of the building.
And how can I compare the height of the building with a list / table and then classify the building into a specific class? As described above.

Thank you in advance