Skip to content
OCR5 min read

Reading rotated text on drawings

Run a good document OCR engine over an architectural sheet and the output is close to useless. Dimension strings arrive broken in half, room names running vertically are skipped entirely, hatch lines come back as strings of punctuation.

None of this means the engine is bad. It means every assumption it was built on has been quietly violated.

Blueprint with text at multiple rotations detected and read, each string boxed on the drawing

What document OCR assumes

A page of prose is horizontal, laid out in blocks, reading left to right and top to bottom, on a clean background with generous space between lines. Modern engines exploit all of that, and the exploitation is why they are fast and accurate.

A drawing offers none of it. Text follows walls, so it rotates. It sits inside symbols and on top of hatching. Reading order is meaningless — a room name relates to the space it sits in, not to the string above it.

Detection has to be oriented

The first fix is in text detection rather than recognition. Instead of axis-aligned boxes, the detector must produce oriented ones — a box with an angle. Each region is then rotated upright before recognition runs, and the engine sees something it can handle.

This also solves a subtler failure. Axis-aligned boxes over diagonal text capture large amounts of surrounding drawing, and the recogniser dutifully tries to read the lines.

Dimensions are numbers, not strings

A dimension is written for a human: feet and inches with marks and a hyphen, or metric with the units implied by the scale note. A raw string does not help anyone.

Parsing turns it into a value with a unit, which means handling stacked runs where a chain of dimensions must add up to the overall, and knowing that 3'-6" and 1067 may describe the same opening on two sheets of the same set.

Abbreviations are a private dictionary

Drawings are dense with abbreviations, and a spell-corrector trained on English will actively make things worse — quietly turning a valid trade abbreviation into a common word that reads well and means nothing.

The practical answer is to disable general language correction and build the vocabulary from the legend and the client's own conventions instead. It is one of the fastest things to fine-tune, because a firm's abbreviation set is small and stable.

Text without position is not much use

The last step is the one most often skipped. A list of every string on a sheet answers nothing. What matters is which polygon a room name sits in, which symbol a door tag labels, which wall run a dimension measures.

That binding is what turns OCR output into data. It is also what lets a disagreement be settled by pointing at the sheet rather than re-reading it.

Start here

Try it on a drawing of your own

Reading about this is one thing. Send one sheet and we will run it through our models and send back what they find, with an overlay you can hold against the original.
  • 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.

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.