Skip to content

How it works

One sheet in, a model of the space out

No single model does this. It is a chain of specialists, each handing the next one something it can rely on — and a language model only ever reasoning over what has already been measured.
  • Six stages
  • Each one checkable
  • Scale verified before anything is measured
Six-step workflow diagram: blueprint ingestion, OCR, semantic segmentation, symbol detection, room topology graph and structured JSON output
From drawing to room graph and JSON, stage by stage.

The design decision

Why it is a chain and not one big model

You could hand a drawing to a general vision-language model and ask it to count the doors. It will answer. The answer will be fluent, plausible and frequently wrong, because nothing in it was ever measured.

Splitting the problem means every number has a provenance. An area comes from a polygon, which came from a wall mask, which came from a sheet whose scale was verified. A count comes from detections you can see boxed on an overlay. When something is wrong, you can tell which stage got it wrong.

It also means each stage improves independently. Tuning the symbol detector for your legend does not disturb how rooms are closed, and better OCR does not require retraining the segmentation.

  • Every value traceable to a place on the sheet
  • Failures localised to a stage, not the whole system
  • Stages tuned separately, on your drawings

The pipeline

Six stages

What each one is handed, and what it hands on.
  1. Stage 1

    Prepare the sheet and read the scale

    Sheets are deskewed and tiled so fine lines survive the resize, and the scale note — 1:100, or 1/4" = 1'-0" — is read and checked against a known dimension. Nothing downstream can be trusted if this is wrong.
    Clean tiles with a verified scale
  2. Stage 2

    Read the text, at any angle

    Text detection runs on oriented boxes rather than lines of prose, so a room name rotated to follow a wall is found. Each string keeps its position, which is what lets it be attached to something later.
    Text layer with coordinatesDBNetCRNN
  3. Stage 3

    Segment walls from open space

    Segmentation separates wall from floor, which is harder than it sounds when walls are variously two lines, a solid fill or a hatch. Where a DXF exists the vector geometry is read directly and no inference is needed at all.
    Wall mask and vector linesU-NetHRNetezdxf
  4. Stage 4

    Detect openings and symbols

    Detectors trained on drawings rather than photographs find doors with their swing, windows in their host walls, stairs and fixtures. This is the stage most affected by your legend, and the one fine-tuning changes most.
    Located, classified elementsYOLOMask R-CNN
  5. Stage 5

    Close rooms and build the graph

    Wall loops are closed across the openings that interrupt them, becoming room polygons named from the tags inside them. Doors become edges between rooms, so the plan knows what connects to what.
    Rooms, areas and adjacency
  6. Stage 6

    Compute quantities and export

    Areas, lengths and counts are computed at scale and exported as JSON or CSV, with an annotated overlay alongside so a person can check the result against the drawing it came from.
    Structured output and overlayJSONCSVREST API

What comes out

The default shape of the result

Shaped to your fields on every project. This is where it starts from.
Floor plan analysis in detail
Default fields in the floor plan analysis output
FieldWhat it contains
rooms[]Name from OCR, polygon, net area, adjacent rooms and the doors between them
walls[]Start and end points, length at drawing scale, type label
doors[]Tag, position, width, swing, the two spaces it connects
windows[]Tag, position, width, host wall
text[]Every string read on the sheet with its bounding box: dimensions, notes, room names
symbols[]Class, position and counts per room for fixtures and MEP symbols

Start here

Watch it run on your own sheet

The pipeline above is easier to judge on a drawing you already know. Send one and we will run it end to end and send back what each stage found.
  • One sheet is enough — PDF, DXF or a scan
  • Back in about 2 business days, with an annotated overlay
  • No call required, NDA on request

Send us one sheet

We run it through our floor plan models and send back the extracted data with an annotated overlay, so you can see what comes off your own drawings before anyone books a call.

  • Back in about 2 business days
  • PDF, DXF or a scan
  • NDA on request
This is our base model, before any tuning for you. On a paid project we train it further on your own drawings, which is where the rest of the accuracy comes from. So this shows you the starting point, not the best we can do.

By submitting, you agree to our Privacy Policy. We never share your details.

FAQ

Questions, answered

How the pipeline behaves in practice.

Then fine-tuning is what makes it yours.

  • Only at the end, and only over structured data. Asking questions of a result — which rooms have no window, which doors are missing a schedule row — is a reasonable job for a language model once the measuring has already been done by something that measures. Pointing one at a drawing and trusting its counts is not.

Get in touch

Tell us what is on your drawings

Describe the sheets you get and what you need off them. We will tell you what our models already handle, what needs fine-tuning on your drawings, and what is not worth automating at all.

Reply time
Within 1 business day

Would rather show than tell? Send one sheet for a free analysis

We reply within 1 business day.

By submitting, you agree to our Privacy Policy. We never share your details.