Lesson 4.1Lesson 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
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.
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.
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.
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.
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.
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.
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.
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
- 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.
- 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.
- 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.
- 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.
- 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.
Three altitudes on the same idea
Read the band that fits you — or all three.
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.
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.
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.
“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.”
Do it yourself
No software needed — reason it through.
- 1Why can a machine not reliably check a drawing directly? What is missing from a picture that a model supplies?
- 2In your own words, what is a structured model, and how does a Corridor object differ from lines on a plan?
- 3Explain why 'the model is the thing that gets checked' - and one consequence of an element not being modelled.
- 4Name the three genuine benefits of model-based checking and give a one-line example of each.
- 5State the four honest boundaries of a model-based check, and say who stays accountable for actual compliance.
The one line to carry out
Peer-reviewed journals & authoritative standards
- 01Building information modeling — Wikipedia — Building information modeling, 2026.
- 02Industry Foundation Classes — Wikipedia — Industry Foundation Classes, 2026.
- 03Model checking — Wikipedia — Model checking, 2026.
- 04Building code — Wikipedia — Building code, 2026.
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.
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 →