Question 1What is OCR, how does it work, and why doesn't it always read correctly?
OCR (Optical Character Recognition) is software that looks at a picture of text and turns it into actual, editable text. In FAIRmark, you drag a box around a callout on the drawing — a dimension, a tolerance, a note — and OCR reads what's inside the box so you don't have to type it in by hand.
It runs entirely on your machine, offline. FAIRmark uses an open-source engine called Tesseract, bundled with the app; nothing is sent anywhere to be read. That's also why the first read after installing can feel like it "warms up" — the engine's language files load once and then stay ready.
What actually happens when you read a callout
- The app crops just the region you boxed, at high resolution.
- It converts that crop to grayscale and sharpens the contrast, so faint or low-DPI scans read more reliably.
- Tesseract reads the sharpened crop as a single block of text (not a whole page — that matters for accuracy; see below).
- FAIRmark's own parser then interprets the text: it finds the nominal value, splits
out plus/minus tolerances, and recognizes prefixes like the diameter symbol
(
Ø), radius (R), spherical radius (SR), and a few others. - The result lands in an editable verify panel — never applied directly — so you can fix anything before it's accepted onto the characteristic.
Why a read is sometimes wrong
OCR is pattern recognition, not comprehension — it's genuinely hard for any engine, and every OCR tool has this limitation, not just this one. The common causes:
- Low scan quality. A faxed, photocopied, or low-resolution PDF gives the engine less to work with than a clean vector or high-DPI scan.
- Symbols that look like letters. The diameter symbol
Øis the single most common miss — it can get read as a letterO,Q, orD, or as a stray leading zero. FAIRmark has specific fallback logic for this (see below), but no correction catches every case. - Tight or overlapping text. A callout crammed next to a leader line, a dimension arrow, or another callout confuses where one symbol ends and the next starts.
- Handwriting or non-standard fonts on marked-up or redlined drawings.
- GD&T feature control frames are not read by OCR at all — they're boxes of symbols, not text, so you build those with FAIRmark's GD&T frame builder instead of OCR.
A boxed callout is read in single-block mode (the engine is told "this is one short block of text," not "read this like a paragraph"), which is far more reliable for a two- or three-line dimension than general-purpose page reading.
On top of that, the parser applies known-misread fallbacks: a leading
O, Q, or D before a number becomes Ø;
a stray leading zero that can't be a real number (like 012.5) becomes
Ø too, while a genuine value like 0.5 is left alone. A lone
+ tolerance with no matching minus is offered as a symmetric ±
preset. All of these are presets you can still edit — never silent
corrections.
Getting a clean read
- Box tightly. Include the callout and nothing else — extra whitespace is fine, but avoid catching a neighboring dimension or leader line.
- Use the highest-quality source you have. A native PDF or a 300 dpi+ scan reads far more reliably than a low-resolution photo of a drawing.
- Always check the verify panel before accepting. It shows exactly
what was read, with one-click
Øand±buttons if a symbol needs fixing, and it re-interprets live as you edit — so a correction takes seconds. - When in doubt, type it. OCR is there to save time on the easy majority of callouts; nothing stops you from typing a stubborn one directly.
OCR quality depends heavily on the source drawing. A characteristic recorded on a First Article Inspection is a compliance record — always verify the read text against the actual drawing before accepting it, the way you'd check any measurement.
Question 2How do I use the XML export, and how do I check it?
Once your FAIR is complete — Forms 1, 2, and 3 filled in, drawing ballooned, results recorded — Export XML writes the entire report to a single AS9102-structured XML file: every Form 1 field, Form 2 row, and Form 3 characteristic, each tagged with its official field number.
What it's for
- Importing into a customer's quality system — many aerospace primes and QMS platforms (Net-Inspect and similar tools) accept a structured file instead of a re-typed report, so ballooning once in FAIRmark can feed straight into their system.
- A durable, structured record of the FAIR that's easy to archive, diff, or process with other tools, separate from the printed PDF.
- Round-tripping between FAIRmark installations, if you need to hand a FAIR to a colleague's machine.
SAE publishes AS9102 as a paper standard — three forms with numbered fields — not as an official XML schema, and Net-Inspect doesn't publish an open import specification either. FAIRmark's export is a structured, field-numbered XML built to carry everything on Forms 1–3 faithfully; if your customer's system expects a specific import format, ask them for their field mapping and we're happy to help align to it.
How to export
- Finish ballooning the drawing and filling in Forms 1 and 2.
- Click Export XML in the toolbar.
- Choose where to save — the file is named from your FAIR number or part number automatically.
How to check it — the XML Checker
FAIRmark ships a built-in XML Checker (a Pro-tier tool) specifically for this: click XML Checker in the toolbar, drop in the file you just exported, and it reads the file back and reports on exactly the things that get first articles sent back — before your customer ever sees it.
It checks, all offline, all locally:
- The file itself — that the save completed and wasn't truncated, that
it's well-formed XML, and that the namespace and
AS9102/revision are declared correctly. - Whether this is a licensed export. An evaluation-copy export carries a watermark; the checker flags it clearly so a trial file never accidentally goes out to a customer as if it were final.
- Form 1 essentials — part number, drawing number, drawing revision, FAIR identifier. A wrong or missing drawing revision is one of the most common reasons a first article gets rejected, so this is checked explicitly.
- Every characteristic's limits — that the upper and lower limits actually equal nominal ± tolerance. Importers like Net-Inspect read the absolute limits, not the tolerance deltas, so a mismatch here is exactly the kind of thing that's invisible until a customer's system rejects the import.
- Pass/fail agreement — that a result marked PASS is actually inside its limits (and FAIL actually outside), including single-sided requirements like MAX/MIN callouts.
- Completeness — how many characteristics have no measured result yet (an incomplete Form 3 is the single most common rejection cause), and any failed characteristic with no nonconformance number attached (a documented failure is fine; a silent one is a finding).
It opens as its own window, reads the file you give it, and runs entirely on your machine — nothing is uploaded anywhere.
Two things are still worth doing on top of the checker: opening the file in a browser is a quick independent confirmation that it's well-formed (a broken file shows a parse error immediately) — though the checker already covers this — and if your customer's system has its own import validator (Net-Inspect and several QMS platforms do), the most reliable final check is simply importing the file there — that tells you directly whether it maps the way they expect.
Question 3What does the CSV file need to look like for a smooth Form 3 import?
If a customer or your own metrology equipment hands you a spreadsheet of measured results, you don't have to retype it. Form 3 → Import results (CSV) reads a CSV file and drops each measured value onto the matching characteristic automatically — filling the result, and optionally the tool, NCR number, and comment.
How the match works
Every row needs a way to say which characteristic this result belongs to. The
import matches that value against each balloon's characteristic number exactly as it
appears in FAIRmark — including the letter suffix on a combined bubble (so 3,
3a, and 3b are three different, matchable rows if you ballooned a
quantity feature as 3a–3b).
Column layout
The import looks for a header row and reads column names flexibly — these are the exact
names it recognizes, but close variants work too (e.g. characteristic,
item, or no instead of char; measured,
actual, or value instead of result):
| Column | Required? | What it fills |
|---|---|---|
char | Required | The characteristic number to match (e.g. 3, 3a) |
result | Required | The measured value — Form 3's Results column |
tool | Optional | Designed/qualified tooling used |
ncr | Optional | Non-conformance number, if the result failed |
comment | Optional | Additional data / comments |
If your file has no header row at all, the import falls back to a simple rule: first column is the characteristic number, second column is the result.
Example
char,result,tool,ncr,comment
1,10.052,CMM,,
2,0.501,Caliper,,
3,25.4,CMM,,
3a,25.3,CMM,,
3b,25.5,CMM,,NCR-1104,slightly over on this instance
4,Pass,Visual,,
Balloon the drawing before you import — the import matches against balloons that already exist and reports back anything it couldn't match, rather than creating new characteristics. Keep the characteristic column exact (including any letter suffix), and export your metrology equipment's results to CSV rather than retyping them, to avoid transcription mismatches.
What happens after you import
- Each matched result is checked against that characteristic's nominal and tolerances automatically, and the row turns pass or fail on Form 3 exactly as if you'd typed it in.
- Any row that couldn't be matched to a balloon is reported back after the import, so nothing is silently dropped.
- You can still edit any imported value afterward — the import is a starting point, not a lock.
Question 4How does licensing work, and what happens if I change computers?
A FAIRmark licence is perpetual and node-locked: you buy it once, it never expires, and it's tied to one specific computer. There's no subscription and no recurring fee — the version you buy keeps working for good, fully offline, with no licence server to phone home to during normal use.
How activation works
Every computer has a unique Machine ID — a short code like
FM-3MZ8-1EYF-4A9A that FAIRmark derives from the machine. You'll find it in the
app under Help → License…. Licensing works like this:
- You send us that computer's Machine ID (during purchase, or on the activation page).
- We issue a licence file cryptographically bound to that exact Machine ID.
- You load it into FAIRmark once (
Help → License… → Choose file…), and that computer is licensed — permanently, and offline from then on.
The licence is signed, so it only works on the machine it was issued for; copying the file to a different computer won't activate that one. This is what "node-locked" means, and it's why a computer change needs a deliberate transfer rather than just copying a file.
What happens if you change computers
This is fully supported, free, and unlimited — new PC, replacement hardware, or a fresh Windows install. Because the licence is tied to one machine, moving it is a two-part step: release the old computer, then activate the new one. The release step is what frees the seat, so you're never charged for and never locked out by a machine you've retired.
If you still have access to the old computer
- On the old computer:
Help → License… → Release this computer. It shows a release code likeRL-XXXX-XXXX-XXXXand drops that machine to read-only (your projects still open — you just can't create new FAIRs on it once released). - On the new computer: read its Machine ID from
Help → License…. - On the activation page, submit your order number, the old computer's Machine ID, the new computer's Machine ID, and the release code. We move the seat and issue a fresh licence file for the new machine.
If the old computer is dead, lost, or wiped
No problem, and you're not stuck — you just can't generate a release code from a machine you can't turn on. Contact us with your order number and the situation, and we'll release the old seat manually and issue a licence for the new computer. (We keep this step human rather than fully automatic on purpose, as a safeguard against abuse.)
The Machine ID is derived from the computer, so a fresh Windows install or a major hardware change on the same PC can change it — Windows then looks like a "different" machine. Treat that exactly like a computer change: release before you wipe if you can, and if you couldn't, just contact us and we'll sort out the re-issue. Either way it's free.
Multi-seat and purchase-order licences
If you bought several seats on one order (for example via a purchase order), all those machines share the one order number, and each seat is licensed to its own Machine ID. A transfer moves one specific seat — that's why the process asks for the old Machine ID, so we know which seat is moving. Need more seats? Request a quotation and we'll add them to the same order.
Quick reference
- Where's my Machine ID / licence status?
Help → License…in the app. - How do I release a computer?
Help → License… → Release this computer— it gives you the release code. - Does the licence expire? No — it's perpetual, a one-time purchase.
- Is changing computers charged? No — transfers are free and unlimited.
- Do I need to be online to use FAIRmark? No — only the one-time activation and any transfer involve us; day-to-day use is fully offline.
This page covers the questions we're asked most; if something about OCR, the XML export, or CSV import isn't answered here, reach out through the contact page and we'll help directly — and likely add it here for the next person.
Still stuck, or found something this page doesn't cover?
Send us a message — we usually reply within one business day.