Studio Matrx Monthly · Volume 1 · Issue 4 · September 2026
Amogh N P
 In loving memory of Amogh N P — Architect · Designer · Visionary 
Model-Based Code CheckingLesson 4.1
Automated Compliance & Rules-as-Code/Module 4 · Automated Code Checking

Lesson 4.1 · Automated Code Checking

Model-Based Code Checking

Automated checking does not read your drawings - it reads a structured model of the building, in which a corridor already knows it is a corridor and carries its width as data, and runs the encoded rules against that

12 min Interactive lessonFree · open lessonByAmogh N P· Architect & interior designer
The hook

A checker cannot read a drawing the way you do. So what does it actually read - and why does that change everything?

Picture handing a plan set to a plans-examiner and to a computer at the same time. The examiner sees lines, hatching and dimension strings and, from years of training, infers meaning: that pair of parallel lines is a corridor, this dashed line is a fire door, that number is a width. A drawing is a picture made for a human eye to interpret. The computer sees none of that. To a machine, a PDF or a set of vectors is just marks - it has no idea which lines are a corridor, which room is an assembly hall, or what any dimension refers to. That is why decades of promising to make software read drawings and check them against codes mostly failed: the machine could not reliably recover the meaning a human reads in at a glance.

Model-based code checking takes a different route. Instead of asking the computer to interpret a picture, it asks the design to be supplied as a structured model - a database of building elements in which a corridor is explicitly an object of type corridor that carries its clear width, a door carries its clear opening, a room carries its occupancy and area. Now the machine does not have to guess; it can look up. The rules, encoded as logic in Module 3, are run directly against this structured model. This lesson is about that shift: what a model-based check is, how it differs from checking drawings, why the model - not the drawing - is the thing that gets checked, and the genuine promise of checks that are automatic, repeatable and early. It is also honest that the model is only ever as good as the data in it, and that a clean run is never an approval.

Drawing = a picture a human interprets. Model = typed objects with properties a machine queries. Only the model can be RUN - and it checks the model, not the building.

The shift

From reading a picture to querying a model

The defining move of model-based code checking is what the computer is pointed at. A drawing is a *representation* meant for human interpretation: lines, symbols and numbers that a trained person reads as walls, doors and dimensions. The meaning lives in the reader's head, not on the sheet. A machine handed the same sheet sees geometry with no semantics - it cannot reliably tell a corridor from a car ramp, or know that '1500' is a width in millimetres rather than a room number. Early attempts to automate compliance by getting software to 'read the drawing' foundered on exactly this: recovering meaning from a picture is hard, brittle and error-prone.

A structured model removes the guessing. In a Building Information Model the design is a database of objects: this is a Wall, that is a Door with a clear opening of 0.9 m, this is a Room whose occupancy is Assembly and whose area is 240 square metres, that is a Corridor whose clear width is 1.5 m. Each element is explicitly typed and carries properties as data. The building is not a picture to be interpreted; it is a set of facts to be queried. Checking then becomes something a computer is genuinely good at: for a rule about corridor width, find every element of type Corridor, read the clearWidth property, and test it against the required value.

This is why the field is called model-based checking rather than drawing-based checking. The design must first be authored - or converted - into structured form, most often exchanged through an open model format so different tools can read it. The pay-off is that the same reliable machinery that made spreadsheets and databases trustworthy now applies to compliance: no interpretation, just lookup and comparison. The catch, which the rest of the module keeps returning to, is that everything now depends on the model being complete, correctly typed and correctly valued. A drawing that merely looks right can hide a mislabelled corridor; a model that is checked exposes exactly what was - and was not - captured as data. The shift from picture to model is what makes automatic checking possible at all.

Two things you can check A DRAWING (lines on a sheet) 1500? Human INFERS: is that a corridor? How wide? Measure by hand. A MODEL (structured data) type = Corridor clearWidth = 1.50 m occupancy = Assembly Machine READS: it already knows what it is and how wide it is. Same corridor - two forms. Only the model can be RUN.
Zoom
Checking drawings versus checking a model: a human reads lines on a sheet and infers what a corridor is and how wide it is; a checker reads a structured model where the corridor already knows it is a corridor and carries its width as data.
What gets checked

The model is the thing that gets checked

In a traditional workflow the drawings *are* the deliverable, and compliance is judged against them. In a model-based workflow the drawings become one view produced from an underlying model, and it is that model - the structured data - that the checker actually reads. This is a subtle but important reframing. When a rule is run, it is not run against the plan you print; it is run against the objects and properties in the model from which the plan was generated. The sheet a human reviews and the data a machine checks are two faces of the same source.

That has real consequences. First, the check sees only what the model contains. If a corridor was drawn as a plain region rather than modelled as a Corridor with a width property, a human might still read it correctly on the printed plan, but the checker cannot test it - the object it needs is simply not there. The model, not the drawing, defines the checkable reality. Second, because the model is data, the same building can be checked repeatedly, automatically, as it changes: move a wall and the corridor's width property updates, and the next run reflects it. Third, the model is a single source of truth that many rules can interrogate at once - accessibility, fire, area and coverage rules all read the same door, room and corridor objects.

Understanding that the model is the checked thing reshapes how you work. It means the effort shifts upstream: to be checkable, the design must be modelled deliberately, with elements correctly classified and the properties the rules need actually populated. It means a 'pass' is a statement about the model, not directly about the building - the model may faithfully represent the design, or it may not. And it means the honest boundary is sharp: the checker verifies that the *data given* satisfies the *rules encoded*, which is a genuinely useful thing, but it is not a verification that the real building complies. The professional who authors and stands behind the model, and the authority who approves, remain accountable for that. The model is what gets checked; the building is what must actually comply.

THE MODEL elements + properties A drawing (a VIEW) for humans to read The checker READS this runs rules on the data The model is the thing checked; the drawing is only one of its faces.
Zoom
In model-based checking the structured model - not the drawing set - is the thing that gets checked; the drawings are one view produced from it, while the checker reads the underlying data.
The promise

Automatic, repeatable, early - the genuine value

When a checkable rule meets a well-formed model, model-based checking delivers three things manual review struggles to. The first is automation: the tedious, mechanical comparison - is every corridor wide enough, is any travel distance too long, does any ramp exceed the maximum slope - runs without a human tracing each element by hand. What took hours of careful, interruptible attention runs in seconds. The value is not that the machine is clever; it is that the machine is tireless and does not skip element 47 of 200 because it was distracted.

The second is repeatability. A human checking the same drawing twice, or two humans checking it, can reach different results; a rule run against a model produces the *same* verdict every time, for every element, in the same way. That consistency is quietly transformative: it turns a check from a matter of who reviewed it into a matter of what the rule and the data say. It also makes regressions visible - re-run after a change and you see exactly what newly passes or fails.

The third, and often the most valuable, is earliness. Because the check is cheap to run, it can run early and often during design, not only at submission. A designer can self-check a schematic model, see that a corridor is 100 mm short or an escape route too long, and fix it while it costs a mouse-drag rather than a redesign after rejection. Feedback moves from the end of the process, where changes are expensive, to the middle, where they are cheap.

These are real, demonstrated benefits for the checkable subset of rules - the quantitative development-control and life-safety checks (setbacks, coverage, widths, distances, slopes, counts) that dominate everyday plan-scrutiny, in India as elsewhere. But hold the promise honestly. Every benefit above is a benefit *of running the encoded rules on the model given*. It says nothing about the rules that cannot be coded, nothing about whether the model faithfully represents the building, and nothing about legal approval. Automatic, repeatable and early is a large gift for the mechanical part of compliance - and precisely because it is so convenient, it invites the automation bias this course keeps warning against. Use the speed; keep the scepticism.

The honest frame

What model-based checking is - and is not

It helps to state plainly what you are and are not getting. A model-based check is an automated, repeatable evaluation of encoded, checkable rules against the structured data in a model. Within that scope it is genuinely powerful and worth doing. But four honest boundaries travel with it, and a competent designer keeps all four in view.

First, it checks the model, not the building. The verdict describes the data supplied. If the model is incomplete, mis-classified or wrongly valued - a corridor left as a generic region, a width entered in the wrong unit, an occupancy unset - the check is checking the wrong thing, and can pass a non-compliant design or flag a compliant one. Garbage in, garbage out is not a slogan here; it is the operating condition.

Second, it checks only the codeable rules. The rules a checker runs are the clear, quantitative ones. The judgement-laden terms ('adequate', 'suitable'), the performance clauses needing analysis, the questions of which rule applies and how conflicts reconcile - none of these are touched by a model-based check. A green run across the coded rules says nothing about the large, important body of regulation that stayed human.

Third, a pass is not an approval. The check reports that the encoded rules it could evaluate found no flaggable issue in the data given. It is not a legal determination that the design complies, and it is emphatically not the authority's permission to build. The approving authority grants approval; the software does not.

Fourth, the authoritative rule is the real code, not its encoding. The encoded rule may be wrong, simplified or out of date relative to the actual National Building Code provision, the local byelaw or development-control regulation, or the IS standard it claims to represent. When they disagree, the law wins, and a human must catch the divergence.

Hold those four together and model-based checking sits in its proper place: a fast, consistent, early assistant that removes mechanical burden and surfaces likely issues, while the qualified professional of record, the approving authority and the governing law remain fully accountable for whether the design truly complies. That is not a hedge; it is the correct engineering stance toward a useful but partial tool.

Verify-this: the checker reads a model, and only the model tells the truth it was given

Model, not drawing

What the checker actually reads

A machine cannot recover meaning from a picture; checking runs on a structured model of typed elements carrying properties. Author and classify deliberately. Modules 3.3, 5.1.

The model is the checked thing

What a verdict describes

A pass or fail describes the data in the model, not directly the building; an element not modelled is invisible to the check. Modules 5.2, 5.4.

Automatic, repeatable, early

The genuine value

For codeable rules, model-based checks run fast, the same way every time, and early enough to fix issues cheaply. Real benefits for the checkable subset. Modules 1.3, 7.2.

A run is not an approval

The hard boundary

The check evaluates only codeable rules on the data given; it is not a legal determination and never the authority's approval. The law outranks its encoding. Modules 7.3, 9.1.

Hands-on workshop

Workshop — turn a corridor from a drawing into a checkable model element

Model-based checking becomes concrete the moment you see the difference between a corridor as lines on a sheet and a corridor as a typed object with properties. In this workshop you will describe both, by hand, and work out exactly what a checker needs to run one width rule.

Just a rule, a sketch and a notebook. No modelling software needed to grasp the idea - the point is to feel the difference between a picture and structured data by hand; the real tools come in lesson 4.4, and binding compliance always stays with the professional, the authority and the actual code.

Given & goal
Goal: feel why a check needs a model, not a drawing
Inputs: one real corridor-width rule + a sketch of a small plan + a notebook
Time: ~40 minutes
  1. 1Take a real rule with a number in it - for example a minimum clear corridor width from a byelaw or the NBC - and write it out in plain words, noting the required value and the elements it applies to.
  2. 2Sketch a small plan with two or three corridors of different widths. As a drawing, note what a human infers to check it: which spaces are corridors, where to measure, what the dimension means.
  3. 3Now write the same corridors as MODEL objects: for each, list type (Corridor), clearWidth (a number with units), and occupancy. This is the structured data a checker would read.
  4. 4Trace the check by hand: find every Corridor object, read its clearWidth, compare to the required value, and mark PASS or FAIL. Note anything you could NOT determine because a property was missing.
  5. 5Write a short reflection: what did the check need that a plain drawing does not carry, what would a mis-classified or unset property have done to the result, and why is a PASS here a statement about your model rather than about a real building - flagged as reasoning.

You’ll walk away with
A one-page comparison: one width rule in plain words, a small plan described first as a drawing and then as typed model objects with properties, the check traced by hand to pass/fail/cannot-determine, and a reflection on why the model is the thing checked and a pass is not an approval. Keep it; Module 5 builds on the data side.

The worked example

Three altitudes on the same idea

Read the band that fits you — or all three.

For the architectUsing automated checking for early feedback and self-checking - while you and the authority stay accountable

To benefit from model-based checking you have to model deliberately - the check only sees what you made into structured data. In practice this means classifying elements correctly (a corridor authored as a Corridor, not a generic region), populating the properties the rules read (clear widths, occupancies, areas, fire ratings), and exporting a clean model, usually through an open exchange format, so a checker can query it. Do that and you gain a fast, repeatable self-check you can run early - catch the 100 mm-short corridor or the over-long escape route in schematic design, when a fix is a drag rather than a resubmission. But treat every run as a check of your model, not of your building: a pass can hide a mis-classified element or a wrong unit, it ignores every judgement-laden and performance rule, and it is never the authority's approval. You and the approving authority stay accountable; the authoritative rule is always the actual NBC provision, byelaw or IS standard, never its encoded version.

For the interior designerWhere automated rule-checking helps interiors (accessibility, fire, egress) and where judgement is required

Interior compliance lives in exactly the elements a model can carry as data - doors, corridors, ramps, washrooms, rooms - so model-based checking can genuinely help your work. When your fit-out is a structured model in which a door knows its clear opening, a corridor its clear width, a ramp its slope, a room its occupancy and area, a checker can flag an under-width accessible doorway, a too-steep ramp or an over-long path to an exit before it becomes an expensive rebuild. The requirement is discipline in how you model: correct types and populated properties, not just a good-looking plan. And keep the honest frame: the check reads your model, not the finished interior; it says nothing about whether a route is genuinely usable or wayfinding is clear; and a clean run is not an accessibility guarantee or an approval. Coordinate binding fire, egress and accessibility compliance with the qualified professionals, the authority and the governing code.

For the studentHow regulations become machine-readable rules - and why many rules resist being coded at all

The key idea to carry from this lesson: a checker cannot read a drawing, so automated compliance rests on turning the design into a structured model the machine can query. A drawing is a picture whose meaning lives in a human reader; a model is a database of typed elements carrying properties, so a corridor object knows it is a corridor and knows its width. Rules encoded as logic are then run against that model - find the relevant elements, read their properties, test the condition. Understand why this shift is what made automatic checking feasible when drawing-reading failed, why the model (not the drawing) is the thing checked, and the three genuine benefits: automation, repeatability and early feedback. Then hold the honest boundaries - it checks the model not the building, only the codeable rules, a pass is not an approval, and the law outranks its encoding. You are not expected to build a checker; you are expected to explain clearly what model-based checking does and does not do.

Misconception check

Automated code checking works by reading your drawings and comparing them to the code - you upload your plans as a PDF or CAD file and the software reads off the widths, distances and areas and tells you whether they comply.

This is the most common misunderstanding, and it inverts how model-based checking actually works. A drawing is a picture whose meaning - which lines are a corridor, what a dimension refers to, which room is an assembly hall - lives in the head of a trained human reader, not on the sheet. A machine handed a PDF or a set of CAD vectors sees geometry with no semantics; it cannot reliably tell a corridor from a ramp or know that '1500' is a width rather than a label. Decades of attempts to make software 'read the drawing and check it' largely failed for exactly this reason. Model-based checking sidesteps the problem: the design must be supplied as a structured model in which every element is explicitly typed and carries its properties as data - a Corridor object that knows its clear width, a Door that knows its clear opening, a Room that knows its occupancy and area. The checker then does not interpret a picture; it queries a database - find the corridors, read their widths, test the rule. This is why the model, not the drawing, is the thing that gets checked, and why the effort shifts upstream to modelling the design correctly. It also sets the honest limits: the check sees only what the model contains, so a mis-classified or wrongly-valued element is invisible or wrong to it; it evaluates only the codeable rules; a pass describes the data given, not the building; and it is never a legal approval. The professional of record and the approving authority remain accountable, and the authoritative rule is always the actual code, byelaw or IS standard, not its encoded form.
Try it

Do it yourself

No software needed — reason it through.

  1. 1Why can a machine not reliably check a drawing directly? What is missing from a picture that a model supplies?
  2. 2In your own words, what is a structured model, and how does a Corridor object differ from lines on a plan?
  3. 3Explain why 'the model is the thing that gets checked' - and one consequence of an element not being modelled.
  4. 4Name the three genuine benefits of model-based checking and give a one-line example of each.
  5. 5State the four honest boundaries of a model-based check, and say who stays accountable for actual compliance.
Take this with you

The one line to carry out

A checker cannot read a drawing - so model-based code checking runs the encoded, checkable rules against a structured model in which each element is typed and carries its properties as data; the model, not the drawing, is the thing checked, which brings genuine automation, repeatability and early feedback for the codeable subset - while a pass describes only the data given, never the building, and is never the authority's approval.
Take it further
References & further reading

Peer-reviewed journals & authoritative standards

  1. 01Building information modelingWikipedia — Building information modeling, 2026.
  2. 02Industry Foundation ClassesWikipedia — Industry Foundation Classes, 2026.
  3. 03Model checkingWikipedia — Model checking, 2026.
  4. 04Building codeWikipedia — Building code, 2026.
Related lessons
Recap
A drawing is a picture whose meaning lives in a human reader; a machine handed a PDF or CAD file sees geometry with no idea which lines are a corridor or what a dimension means, which is why decades of trying to make software 'read the drawing and check it' largely failed. Model-based code checking takes another route: the design is supplied as a structured model - a database of typed elements in which a Corridor knows its clear width, a Door its clear opening, a Room its occupancy and area - and the rules encoded as logic are run directly against that data by querying it rather than interpreting a picture. In this workflow the drawings become one view of an underlying model, and it is the model - the data - that is actually checked, so an element not modelled is invisible to the check and a verdict describes the data given, not directly the building. Within its scope the value is genuine and threefold: automation of the mechanical comparison, repeatability so the same verdict comes every time, and earliness so issues are caught while cheap to fix - real gains for the quantitative development-control and life-safety rules that dominate everyday scrutiny. But four honest boundaries travel with it: it checks the model not the building, only the codeable rules, a pass is not an approval, and the authoritative rule is always the actual code or byelaw, never its encoding. Model-based checking is a fast, consistent, early assistant; the professional of record, the approving authority and the law stay accountable for whether the design truly complies.
Carry forward →

We now know the checker reads a structured model rather than a drawing. Next we open the engine and follow one rule through the pipeline - parse it, find the elements, extract the properties, test the condition, and report pass, fail or the crucial cannot-determine.

A

The author

Amogh N P

Architect, interior designer, and creative polymath. Studio Matrx began in his notebooks — his vision of design made honest, useful, and open to everyone. Its Academy is written and taught in his memory, and free, forever.

More about Amogh →