Skip to content

Use case

Revision comparison, element by element

Overlaying two PDFs tells you that something changed. What you need to know is what changed — which doors moved, which rooms were renamed, which dimensions no longer agree.
Floor plan sheet with detected elements annotated, of the kind compared between two drawing revisions
Each issue is read into elements first; the comparison happens on those.

Why it is awkward

The part that is not obvious

Two issues of a sheet are rarely aligned, identically scaled or plotted the same way, so a pixel diff lights up everywhere and means nothing. A useful comparison reads both issues into elements first and compares those, which is only possible once the drawing is structured data.

What comes back

  • Elements added since the previous issue
  • Elements removed
  • Elements moved, with the distance
  • Text and tag changes, including renamed rooms
  • A per-sheet change list, not a coloured overlay

How it is read

From line art to a record

The stages this element goes through on the way off the sheet. Each one produces something the next can check.
  1. Stage 1

    Read both issues into elements

    Each issue is analysed on its own first — rooms, doors, windows, text, dimensions. Comparison only becomes possible once both sides are structured data, which is why this is the last use case to add rather than the first.
    Two structured sheets
  2. Stage 2

    Register the sheets

    Two issues are rarely plotted at the same origin, scale or paper size. They are aligned on stable features — the grid, the title block, the building outline — so that a difference in plotting is not reported as a difference in design.
    A common coordinate frame
  3. Stage 3

    Match element to element

    Elements are paired across the two issues by position, tag and type. What fails to pair is the interesting part, and pairing is what distinguishes a door that moved from a door that was deleted and another added.
    Paired, added and removed elements
  4. Stage 4

    Classify and cross-check

    Pairs are classified as unchanged, moved with a distance, or altered in text. Revision clouds are read where present as a cross-check — useful for confirming changes, and more useful for finding the ones nobody clouded.
    A change list per sheet

The output

What lands in your system

JSON or CSV per sheet, with an annotated overlay alongside it so a person can check the values against the drawing. The field names are shaped to yours on every project — this is the default.
How it is delivered
Fields returned for revision comparison
FieldWhat it contains
changes[].typeAdded, removed, moved or text-changed
changes[].elementWhat changed, with its type and tag on whichever issues carry it
changes[].distanceHow far a moved element travelled, at drawing scale
changes[].from / .toPrevious and current values for text, tags and dimensions
summaryWhich sheets in the set changed at all, so a hundred-page set can be triaged in one pass

Where it goes wrong

The cases worth knowing about first

Every one of these is something we have hit on real drawings. They are not reasons the job cannot be done; they are the parts that need a decision from you rather than a model from us.
  • Detection misses read as changes

    A door found in one issue and missed in the other is reported as a change that never happened. Comparison inherits whatever accuracy detection has on your drawings, which is why it is worth tuning detection before relying on a change list.

  • Replotted, not redesigned

    A sheet reissued at a different scale, origin or paper size differs everywhere at pixel level and nowhere in substance. Registration is what prevents that, and a sheet that cannot be registered is reported as such rather than diffed anyway.

  • Sheets renumbered between issues

    Pairing is done on sheet numbers from the title block, so a renumbered or split sheet has no partner. Those are listed as unpaired for someone to match by hand rather than being quietly compared against the wrong sheet.

What fine-tuning on your drawings adds

Comparison inherits whatever accuracy the underlying detection has on your drawings: a door the model misses in one issue reads as a change. Tuning detection is therefore what makes comparison trustworthy, and it is worth doing before relying on the change list.
How fine-tuning works

Start here

See it on a sheet of your own

Send one drawing and we will run it through our models and send back what they find, with an overlay you can hold against the original. No call, no charge.
  • Elements added since the previous issue
  • Elements removed
  • Elements moved, with the distance

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 on this one

  • No. Clouds are read where present and are a useful cross-check, but the comparison is done on the elements themselves — which also catches changes nobody remembered to cloud.

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.