The Future of BIM Modeling with AI Integration
Introduction Revit vs Autocad
When Revit started gaining notice, our minds were blown away by how much was automated compared to AutoCAD, especially in graphic documentation. This was revolutionary because suddenly, modifications to the 3D model seamlessly updated our plans in both 3D and 2D views, saving us loads of time.
What appealed the most to the end-user was the passive nature of the plan update process. The user did not have to press any buttons to update all the views; it just happened! It was a game-changer, to say the least.
In this post, we are going to dive into what is going to be the next revolutionary solution that will allow us to make a jump compared to the CAD BIM transition. Keep reading if this makes you excited as well!
Passive vs. Active Process Execution: What’s the Difference?
Usually, when making software, we focus on how people actively use it —clicking buttons, typing commands, you get the idea. But there’s another side to it: passive execution.
The opposite would be the “passive execution.” This is when the software sits there and reacts to user actions. Sounds pretty neat.
This is not something new. Think of examples like Github Copilot or Grammarly, but trying to find an analogy solution in Revit, we find all these plugins that do cool stuff when you press a button but no “passive execution” solutions.
Think of tools like Github Copilot or Grammarly. But when it comes to Revit, we’ve mainly seen plugins that do cool things when prompted. Imagine if Revit could work in the background, anticipating our needs and taking action without us having to initiate every step of the process.
Bridging AI with Revit Events: A Sneak Peek
With the rise of AI, we have seen great ways to improve our productivity. Picture this: AI and Revit joining forces to monitor model states and offer recommendations based on specific events such as:
- Design Optimization and Generative Design: As the design is being developed, the AI makes design suggestions to the Architect/Engineer, and it is to the designer’s judgment to decide what suggestions to apply or not, or even those suggestions could trigger novel ideas for the designer.
- Analyzing and Simulation: Making an auto-generated energy analysis report, the AI could suggest improvements in the construction assembly of certain elements to increase their performance.
- Material Selection and Cost Estimation: The AI could assist in selecting appropriate materials for a project based on criteria like cost, durability, sustainability, and form factor of the building.
- Automated Code Compliance Checking: After some time, the AI could start looking for places where the design is not compliant with the Building Code, point those problems out, and suggest solutions.
- Predictive Model Maintenance and Facility Management: The tool could raise events that trigger maintenance-related tasks to keep the model at an optimal stage based on the AI predicting potential issues and catching them before they occur as the model is developed.
Revit API Events and Dynamic Model Update
To make this happen, we can leverage the Revit API through two methods: Revit Events API and Dynamic Model Update (DMU).
Revit Events API offers you a way of targeting mainly events related to Revit’s UI or things that happen in the model, so you get access to information about changes in the model and the UI.
An example in action
One example is the DocumentChanged event, which is particularly useful as it allows you to react to any modified elements in a model. Be careful; this is triggered a lot of times as it tracks any changes, so a lot of computational processing might be involved if not used carefully.
Many other specific examples include DocumentClosing/Closed, DocumentSaving/Saved, DocumentChanged, etc. For more, check the Revit API documentation.
The Dynamic Model Update (DMU) option is handy when responding to specific changes in the model. In fact, you can even define your events (which may not technically be events, but using that term helps illustrate the idea).
This approach exemplifies the saying, “Don’t use a sledgehammer to crack a nut.” While the Revit Events API provides a robust set of tools to handle a wide range of events in a project, it’s not advisable to rely on it for particular use cases.
Examples of the use of the Dynamic Model Update are reacting to changes in a specific parameter, regardless of the element it belongs to, and responding to modifications made to a group of elements of the same family type or even situations like detecting modifications or deletions of walls that have a specific value in a Shared Parameter.
This kind of workflow enables you to identify issues and enforce validations based on any specific standard. Imagine how powerful this could be, one user modeling and in real time getting notifications if what’s modeled follows the company’s standards.
How to feed a LLM with a Revit File
We saw the tip of the iceberg on our LLama2 post, but let’s dive further into how to feed an LLM with a Revit model.
To make a Revit model “visible” to an LLM, we cannot just send the .rvt file. We need to find a way to get the information we want to analyze into some text format from the BIM model itself.
A way of doing this could be exporting the Revit file as an SQL Database and sending it to a service we have running on a local server or in the cloud, which will take care of extracting the information we want to analyze to a text format, e.g., a CSV file, and then that file is sent to the LLM with our set of instructions for it to analyze it and bring back results.
This can be performed in the background. For instance, each moment the user saves or synchronizes the model, he never knew it happened, but it happened because we got the action subscribed to the DocumentSaved/Synchronized event.
The first time it happens, it could be slow, but from the first time we have exported the model, from that point onwards, we could start exporting just the elements that changed from the last export and update those on the DB stored on the service we have running.
A Paradigm Shift: AI-Powered BIM Modeling
Automation has revolutionized BIM modeling, with AI playing a pivotal role in error correction, compliance checks, and even autonomous model drafting. Imagine an AI assistant guiding every step of the design process, making complex tasks a breeze. Beyond mere corrections, it vigilantly checks for compliance with building regulations, ensuring every detail aligns with standards. But the potential doesn’t stop there. Picture an AI capable of autonomously drafting BIM models or routing complex MEP solutions, all based on simple user text prompts. As we embrace this rapid technological evolution, we stand on the brink of unlocking unparalleled possibilities in architectural design and execution.
Closing Thoughts: Embracing the Future
In a rapidly evolving landscape, we’re witnessing a shift from active to passive execution in software. It’s about technology working alongside us, seamlessly and intuitively.
Let’s imagine this: your software isn’t just a tool, it’s a partner. It anticipates needs, updates models without a button press, and lets you focus on bigger-picture stuff: Like having an assistant who just gets things done.
Revit’s got the tools we need for this shift. Revit Events API gives us insight into model changes, while Dynamic Model Update (DMU) keeps us real-time savvy. These aren’t just features; they’re superpowers.
Think of it as a dance between technology and creativity. No more manual checks, no more repetitive tasks. Just smooth, efficient workflows that elevate your work.
So, let’s dive into this world of passive execution. With Revit leading the way, there’s no limit to what we can accomplish. Ready to take the plunge? Let’s shape the future together, step by step.