Skip to content
Amygdal
AI5 min read

AI in BIM: Practical Uses for Building Information Models

BIM models hold enormous amounts of structured data that teams rarely have time to use. Where AI genuinely helps, from model checking to asking a model questions in plain language.

Building Information Modeling (BIM) has turned design and construction data into something structured: walls, doors, ducts and beams with types, properties, quantities and relationships. In theory, that makes BIM ideal for automation. In practice, much of the checking, classification and reporting on BIM models is still done by hand, by skilled people who would rather be designing.

We have worked on AI and software development for BIM, and the pattern we see is consistent: the useful applications of AI in BIM are not about generating buildings. They are about reading models faster, catching problems earlier and making model data accessible to people who do not use authoring tools. Here is where AI helps, and what it takes to make it reliable.

Getting the data out: IFC and Revit extraction

Everything starts with data extraction. Open formats such as IFC can be parsed with libraries like IfcOpenShell; Revit data is usually accessed through the Revit API or exported to IFC or a structured format. The goal is a clean, queryable representation of elements, their properties, spatial structure (site, building, storey, space) and relationships.

This step is unglamorous and decisive. Models from different firms and tools use properties inconsistently, leave fields empty, or put key information in free-text names. A good extraction pipeline normalises units, maps custom property sets to a common schema and records where each value came from, so later steps can be traced back to the source model.

import ifcopenshell
import ifcopenshell.util.element as util

model = ifcopenshell.open("project.ifc")

rows = []
for el in model.by_type("IfcBuildingElement"):
    psets = util.get_psets(el)
    rows.append({
        "guid": el.GlobalId,
        "ifc_class": el.is_a(),
        "name": el.Name,
        "storey": getattr(util.get_container(el), "Name", None),
        "type": getattr(util.get_type(el), "Name", None),
        "properties": psets,
    })

Classifying elements

Many workflows depend on elements being classified correctly — against Uniclass, OmniClass, a national standard or a client's own cost codes. In real models, classification fields are often missing or wrong. Machine learning and language models can suggest classifications from an element's IFC class, type name, family, properties and geometry, with a confidence score.

The practical design is to auto-apply only high-confidence suggestions, queue the rest for review, and learn from the corrections. That turns a tedious manual pass into a focused review of the genuinely ambiguous cases.

Automated model checking

Model checking verifies that a model meets requirements: required properties present, naming conventions followed, elements on the right storeys, fire ratings set where needed, information requirements met at each project stage. Rule-based checking is well established and should remain the backbone, because rules are explainable and repeatable.

AI adds value at the edges. Language models can help translate written requirements — employer's information requirements, specifications, standards — into draft machine-checkable rules for an expert to confirm. They can also explain failures in plain language and group hundreds of individual issues into a short list of underlying causes.

Clash triage

Clash detection tools are good at finding geometric intersections and poor at telling you which ones matter. A federated model can produce thousands of clashes, most of them duplicates, tolerances or acceptable overlaps such as insulation around a pipe. Teams spend hours sorting them before coordination meetings.

  • Group related clashes that share a root cause, such as one duct run hitting a series of beams.
  • Filter likely non-issues based on element types, disciplines and overlap size, using the team's past decisions as training signal.
  • Prioritise by discipline, location and construction sequence, so the meeting starts with what blocks work soonest.
  • Draft issue descriptions in a standard format such as BCF for a coordinator to review and assign.

The coordinator still decides. The AI reduces the pile they have to look at.

Quantity takeoff

Quantities can be read directly from well-modelled elements, but takeoff often stalls on inconsistent modelling: walls split oddly, slabs modelled as generic objects, missing material layers. AI-assisted classification and data cleaning make automated takeoff usable on real models, and anomaly detection can flag quantities that look wrong compared with similar elements or previous revisions. Results should always be traceable to element IDs so estimators can check them.

Asking a BIM model questions in plain language

Project managers, owners and facility teams rarely open authoring tools, yet they constantly need answers from the model: how many fire doors are on level 3, which rooms lack a specified finish, what changed between revisions. A natural-language interface built with retrieval-augmented generation makes those answers available to them.

The architecture that works combines two kinds of retrieval. Structured questions — counts, filters, sums — are translated into queries over the extracted element database, so numbers come from the data, not from the model's guesswork. Document-style questions — specifications, standards, meeting notes linked to the model — use a RAG pipeline with citations. In both cases the answer links back to the specific elements or documents, so users can verify it in the viewer.

Fitting into existing BIM workflows

Design teams already work in Revit, Archicad, Navisworks, Solibri and common data environments, and they will not adopt a separate tool for every task. The AI features that get used are the ones that appear where people already work: a plugin panel in the authoring tool, issues pushed into the existing issue tracker in BCF format, a report generated into the common data environment, or a simple web viewer for stakeholders who do not have authoring licences.

Model size and confidentiality also shape the architecture. Federated models can be large, and project data is often commercially sensitive or subject to client security requirements, so processing frequently needs to run in the client's own cloud tenancy or on-premises, with open models where hosted ones are not acceptable.

Making AI for BIM reliable

  1. Invest in extraction and normalisation first; every later step depends on it.
  2. Keep rules for what can be expressed as rules, and use AI for ambiguity, language and prioritisation.
  3. Show confidence and keep a human review step for anything that affects design, cost or safety.
  4. Trace every output to element GUIDs and model revisions.
  5. Evaluate on real project models from several firms, not one clean sample.

Working with Amygdal on BIM

Amygdal has delivered AI and software development for BIM, with engineering teams serving clients in the UK, Germany, Switzerland and Qatar. Our AI for BIM service covers data extraction, classification, model checking, clash triage and natural-language querying, built on the same practice as our custom software development work. Contact us to talk about your models and workflows.

BIMAECIFCRAGAutomation

Frequently asked questions

How is AI used in BIM?

Mainly to read and organise model data faster: extracting data from IFC and Revit, classifying elements, supporting model checking, triaging clashes, cleaning data for quantity takeoff and answering questions about the model in plain language.

Can AI replace rule-based BIM model checking?

No, and it should not. Rules are explainable and repeatable. AI works best alongside them: drafting rules from written requirements, explaining failures and grouping issues into root causes.

Can I ask questions about a BIM model in natural language?

Yes. A well-built system translates structured questions into queries over extracted model data and uses retrieval for document questions, linking every answer back to the specific elements or documents.

Keep reading

Have a project in mind?

Tell us what you are building. You will hear back from an engineer — not a sales team — within one business day.

Email us