Automated Code Compliance Updates, 2018

Following my original article on automated code compliance in the AEC industry published in 2015 and my follow-up article last year capturing additional efforts in code-checking, it has been encouraging to come across enough additional activity in this field to warrant another update. While this activity includes both commercial and research efforts similar to the last update, I am starting to see some initial movement towards government adoption as well. Even though this is still in the exploratory stage—to determine how it could be applied to streamline the approvals process by regulatory agencies—the increasing awareness of the benefits of automated code-checking where it matters most should help to give the technology the push it needs to become more mainstream.

With BIM so firmly established in the AEC industry as the go-to technology for design and construction, it is a pity that code-checking of buildings is still being done manually on the basis of drawings. While it does take time for a major technology change like BIM to permeate all aspects and processes of an industry as large, diverse, and complex as AEC—for example, we still have ways to go when it comes to BIM-enabled facilities management and operation—it is good to see continued progress in automated code-checking. Hopefully, this will only continue to gather steam in the coming years. 

Let’s start by looking at the updates on the commercial front since my last article.

Commercial Efforts

In a field that is woefully short of commercial solutions, any new entrant is welcome, and the new startup, UpCodes, seems particularly promising. It has developed an application called UpCodes AI as a plug-in for Revit that can check the building model for code violations. While it has a comprehensive database of different building codes (which it offers as a separate service called UpCodes Web), it is currently checking the Revit model for very simple codes related to elements such as stairs, doors, railings, and ramps (Figure 1). This might not seem very substantial, but the fact that it can work within Revit, “read” the model, and comprehend the information within it to check it for specific criteria, points to a strong technological foundation for developing more comprehensive and complex checks going forward.

Unlike many other analysis tools, such as energy, which require the BIM model to be created in a specific way in order to be able to extract the building data needed for the analysis, Upcodes AI does not require the Revit model to be created in any particular way. This is another significant technological achievement, as the application takes upon itself the onus of interpreting the data and extracting the information it needs for the code-checking. While it currently works out of the box—after installing, users can just open Revit, click a button and start checking, even if they choose not to provide any code-relevant information such as their jurisdiction, year, building type, etc.—the more detailed the model, the more comprehensive the checking can be. This will be especially important as the application continues to add more code-checking capabilities going forward.

UpCodes AI is currently available as a public beta. While it works only with Revit at the moment, it does have IFC capability on its roadmap in order to be able to work with other BIM applications as well.

The Revit integration route is also the approach of the SmartReview APR (Automated Plan Review) application that I wrote about in my last Code Compliance Updates article—it works as a plug-in to Revit and checks it for compliance with the International Building Code (IBC). With its roots in academic research, SmartReview APR has been around for longer, has a deeper integration with Revit, and checks for more codes than Upcodes AI, and while it has not yet made significant commercial inroads, it has made some modest progress with more code-checking features and updates to run with Revit 2019.

SmartReview APR is targeted primarily towards architects, allowing them to check their designs for code compliance before submitting them for approval. When I wrote about the application last year, I pointed to the need for having similar software at the regulatory end, allowing code-checkers to also automatically check a building model for compliance. SmartReview has indeed developed such a product—it is called CPR (Certified Plan Review) and it works as a software-aided self-certification of compliance with a building code plan review. The concept is that an architect could use the APR product to reach a compliant building design, quickly generate the CPR, and then submit that detailed report along with a building's permit application directly to a municipality (Figure 2). SmartReview CPR was developed by working closely with the building code compliance department of Southlake, a city in North Texas, and is therefore reflective of real-world permitting processes. SmartReview is planning on additional trials and pilot programs with more cities, which seems to be exactly what is needed for automated code-checking to get off the ground and start being implemented in practice.

Research Efforts

As I mentioned in my last article, automated code compliance continues to be a very active topic for research in academia, which is not surprising given how complex and open-ended it is, making it exactly the kind of problem that research should be trying to solve. One promising approach I came across was to narrow down the problem to focus on specific checks, as in a research project conducted at the University of Porto where a software application was built for the automated code-checking of building water network designs based on Portuguese regulations. The idea was that if automated code-checking procedures could be feasibly implemented in the short term in some domains, they may provide a significant incentive towards widespread BIM adoption and more comprehensive checking. The application that was developed, LicA, consists of two independent systems, the database and the user interface(Figure 3). The database contains all the code specifications and routines necessary to perform the hydraulic analysis and the code-checking, while the user interface includes model definition and browsing functions. It can also be used to display network schematics and results tables.

Another research project, this one at the Technical University of Munich in Germany, posits that most of the existing approaches to automated code-checking fail because they represent the information related to codes in an insufficient or overly complex manner. To counteract this, the researchers have developed a flow-based, visual programming language for code-checking called Visual Code Checking Language (VCCL) and have used it to demonstrate semi-automated compliance check of German fire codes. An example is shown in Figure 4, where a German fire guideline is shown as a VCCL graph. Depending on the height of the room, the height of the smoke layer and the fire classification, the guideline requires a minimal smoke ventilation area. In this VCCL graph, a single room is identified and afterwards its attributes are used to capture both the “Target area” and “Actual area” values. The final result of this check is the comparison of these values to determine whether the limit value is met or not. The VCCL concept was validated by integrating it to work with a BIM model in Nemetschek’s bim+ platform (now rebranded as Allplan Bimplus).

I was also able to get an update on the SEEBIM (Semantic Enrichment Engine for BIM models) research project at the Technion (Israel Institute of Technology) that I described in detail in my last article. The premise of this project was that the main impediment to automated code-checking is the lack of explicit information in the BIM model that is needed to check it, and the SEEBIM project attempts to address this by “semantically enriching” generic BIM models before checking them for compliance. Taking this concept further, the research team chose to use high-rise residential apartment buildings as a case study to work on and began with the challenge of correctly classifying and labeling the spaces in the apartments to match the terms used in local zoning codes. This was partly motivated by the lessons another research team at Georgia Tech had learned in their work with the US GSA (General Services Administration), where they found that they were forced to invest hundreds of hours to label the building spaces in Revit models of courthouses before they could run design checks, because the architects’ models either had incorrect labels or did not have their spaces defined at all. The SEEBIM team was able to eventually generate the correct classifications for spaces computationally, using a combination of machine learning and iterative algorithms (Figure 5), as described in this research paper.

More recently, the research team at the Technion has also started to explore the expanded use of machine learning for automated code-checking. The idea is that if a large database of models was available that had been checked for code-compliance, it could perhaps be used to train a machine-learning classifier to determine whether a new design passes or fails a specific code clause. What makes this idea very compelling, in the words of the lead researcher, Rafael Sacks, is that, “it means that we neither have to parse the design codes nor compile rules for checking software. We simply use the classifier to ‘recognize’ models, or parts of models, that either comply or do not comply. All of the intervening logic, which existing systems require to be made explicit, would be encapsulated in the layers of the neural networks complied automatically in the training step.” This research has just commenced, and it will be very interesting to follow its progress, as it has a very different approach than the ones that have been considered so far.

Government Adoption

The ultimate beneficiaries of automated code compliance, once it has been established as a viable technology, are the government regulatory agencies that are responsible for reviewing proposed designs for code satisfaction and granting the necessary approvals and permits to go ahead with their construction. Even with the adoption of BIM going full steam for building design and construction, the approvals process is still stuck in a 2D world where the model has to be “dumbed down” for submission. The only real progress that has been made is that the approvals process has finally caught up with CAD, allowing drawings to be electronically submitted, as I described in my last article. Even this capability is considered to be a big deal, as with the launch of an electronic plan review service less than a year ago in San Jose in California (Figure 6). Given that this is the state of the art in the “capital of Silicon Valley”—seemingly the most technologically advanced area in the world—the prognosis for the adoption of BIM-based automated code-checking worldwide seems rather dismal. And yet, the effort needs to be pushed by the government to gain momentum, as there are not enough commercial incentives to develop and adopt it in the private sector.

Fortunately, there are some signs of progress on this front that I recently became aware of. Automated code compliance is being explored by the City of Honolulu in Hawaii to advance its permitting process, and in California, there was a pilot project between Solibri, Kaiser, and OSHPD (Office of Statewide Health Planning and Development) last year to explore automation for improving code compliance in healthcare. Automated code compliance is also the subject of a research project in the UK, which is looking into how BIM could streamline the regulation of fire and construction safety within multi-storey buildings in the wake of the Grenfell Tower fire last year in London in which 72 people died. While the need for better code compliance is well known, tragedies like Grenfell push the topic to the forefront, and while it is not clear if the automation of code compliance would have helped to avoid this tragedy, it certainly could not have hurt. Technology aids have proved to be invaluable in many fields, and it would be great to be able to deploy them effectively for code-checking as well.

Analysis and Conclusions

While the concept of automated code-checking is almost 20 years old—I first wrote about it in 2005 in an article on Singapore’s CORENET ePlanCheck system—the effort seemed to have been stalled for several years. The CORENET project in Singapore was discontinued, and in the US, both the government-backed SmartCodes and Autocodes projects failed to take off. SmartCodes was discontinued, and Autocodes was taken over by Fiatech which wrapped up the Autocodes project last year. (Fiatech has since been merged into the Construction Industry Institute at the University of Texas.)

On the brighter side, the flagship product in the field, Solibri Model Checker, is still alive and well—it was acquired by Nemetschek and its implementation is growing worldwide among design and construction firms, as described in my recent review. While the original impetus for the development of Solibri Model Checker was automated code-checking, it has added many additional capabilities to its repertoire including model aggregation and review, multi-disciplinary coordination, clash detection, quantity take-off, and issue management, all of which have helped it to remain a key technology application for AEC firms. Its code-checking capabilities also continue to be developed and they can be put into action as soon as the industry is ready for automated code compliance.

It is also encouraging to see the gradual emergence of other commercial solutions, some of which like UpCodes are venture funded by Silicon Valley investors. (I think it’s about time that the AEC technology industry captured Silicon Valley’s interest!) While automated code-checking has always been a good topic for academic research as it is complex and challenging, it is good to see the momentum picking up with new approaches. The one on using AI and machine learning for code-checking that is being researched at the Technion seems particularly promising.

Of course, the key to the whole effort is government adoption, and while that is still very slow, there seems to be at least some uptick since I wrote about this topic last year. I hope the pace of developments continues to increase, and I can make these AECbytes updates on automated code-checking an annual event.

About the Author

Lachmi Khemlani is founder and editor of AECbytes. She has a Ph.D. in Architecture from UC Berkeley, specializing in intelligent building modeling, and consults and writes on AEC technology. She can be reached at


Have comments or feedback on this article? Visit its AECbytes blog posting to share them with other readers or see what others have to say.

AECbytes content should not be reproduced on any other website, blog, print publication, or newsletter without permission.