AS9102 · First Article Inspection

The balloons go on.
The forms come out.

Given the characteristic list, AutoBalloon resolves tolerances, numbers characteristics clockwise-from-12, and emits the ballooned drawing PDF plus the AS9102 FAIR workbook with no manual steps.[F001][F002][F003][F004] Demonstrated end-to-end on a real aerospace FAI package.[F005]

Scope today: one part, eight characteristics, vector PDF only. Three sheets. Sheet classification keys on text-layer density.[F006]

Schematic: a dimensioned drawing before and after ballooning On the left, a plain dimensioned part view. On the right, the same view carrying eight red boxed-number balloons on leader lines, numbered clockwise starting at twelve o'clock about the view centroid. AS DRAWN 72.50 Ø24.0 2.7 GENERAL TOL. PER TITLE BLOCK 1 PLACE ± 0.3 2 PLACE ± 0.13 CHARACTERISTICS UNNUMBERED AS BALLOONED 72.50 Ø24.0 2.7 1 2 3 4 5 6 7 8 NUMBERED CLOCKWISE FROM 12:00
Schematic illustration — not output from a real drawing Sort order per [F001]
A · The paperwork

Every characteristic on the print gets a number, by hand, one at a time.

An AS9102 First Article Inspection Report starts with ballooning: reading the drawing, marking each dimension, note and tolerance with a numbered balloon, then re-typing all of it into Form 3 in the same order.[F007] It is slow, it is repetitive, and a transcription slip in either direction is an error nobody catches until the customer does.

Step one

Read the print

Every inspectable characteristic on the drawing — dimensions, tolerances, GD&T frames, and the notes on the parts list — has to be found and marked. Nothing on the sheet says which entries are inspectable; a QA engineer decides.[F007]

human judgement
Step two

Number them in an order

Balloon numbers are not arbitrary. They have to run in a stable order so a second person can walk the drawing and find characteristic 6 without hunting — clockwise about the view, with the parts-list notes taken first.[F001]

ordering rule
Step three

Transcribe into Form 3

Each numbered characteristic becomes one row of Form 3, carrying its reference location, designator and requirement. The same values are keyed a second time, by hand, in the same order.[F007]

double entry

The requirement side is transcription. The result side is measurement.

That distinction runs through this entire page, and it is the reason AutoBalloon is a narrow tool rather than a broad one. A drawing can tell you what a characteristic is supposed to be. It can never tell you what the part actually measured.[F008]

B · The three forms

A FAIR is three forms. Ballooning is the bridge to the third.

If you have never filled one in: an AS9102 First Article Inspection Report is not a single document. It is three forms, each answering a different accountability question, and each fed from a different place. Form 1 accounts for the part, Form 2 for the product, Form 3 for every characteristic — one row each.[F007]

What flows into each of the three AS9102 FAIR forms Four sources on the left — the drawing title block, the drawing views, the bill of materials, and the shop floor or coordinate measuring machine — feed three forms on the right. Form 1 takes part identity, Form 2 takes material and process data from the bill of materials, and Form 3 takes one row per characteristic. Ballooning is drawn as the step between the drawing views and Form 3. Inspection results arrive only from the shop floor and are left blank by AutoBalloon. [F007][F008] SOURCE THE BALLOONING STEP AS9102 FORM Drawing title block part no · dwg no · rev · name general-tolerance table Drawing views dimensions · tolerances GD&T frames · notes Bill of materials raw material · specs parts-list notes · weight Shop floor / CMM measured values · tooling calibration dates · NC nos. Signatures & approvals BALLOONING find every characteristic resolve its tolerance assign a balloon number transcribe → Form 3 Form 1 Part number accountability who the part is Form 2 Product accountability material · specs · processes Form 3 Characteristic accountability one row per characteristic № REF LOC REQUIREMENT RESULT left blank requirement side result side — never on a drawing
Form 1
Part number accountability — identity of the part being reported[F007]
Form 2
Product accountability — raw material, specifications, processes[F007]
Form 3
Characteristic accountability — one row per inspectable characteristic[F007]
Ballooning
Numbers every characteristic on the drawing and transcribes it into Form 3[F007]

Solid lines carry data that exists somewhere in the drawing package. Dashed lines carry data that does not — it arrives from the shop floor, or from a person signing.[F008]

Why the third form is the expensive one

Forms 1 and 2 are broadly a header exercise: a fixed set of fields, filled once per part. Form 3 grows with the drawing. A print with two hundred inspectable characteristics is two hundred rows, each one found by eye, numbered by hand, and keyed twice.[F007]

AutoBalloon writes all three, with Form 3 rows generated from the characteristic list rather than typed.[F004]

C · The data

Three kinds of data, and only two of them are on the drawing.

This is the sharpest thing we learned building AutoBalloon, and it decides what a tool like this can honestly do. The FAIR task splits cleanly into three data classes. One is extractable from the drawing package. One never appears on a drawing at all, at any point, for any part. One is a human putting their name to something.[F008]

Class 1 · Auto-extractable

What the drawing says

source: the PDF package

  • Header identity — part number, drawing number, revision, part name[F008]
  • Material and specification, taken from the bill of materials[F008]
  • The requirement side of every characteristic: dimensions, tolerances, GD&T, notes[F008]

This class is the ballooning engine's whole job. Everything AutoBalloon claims to do lives inside this column.[F008]

Class 2 · Manual / CMM-merged

What the part measured

source: the shop floor — never the drawing

  • Measured values for each characteristic[F008]
  • Tooling used to take the measurement[F008]
  • Calibration due dates for that tooling[F008]
  • Non-conformance numbers where a characteristic failed[F008]

No drawing has ever contained any of this. It cannot be extracted, inferred, or generated — it has to be measured and merged in.[F008]

Class 3 · Signatures

Who is accountable

source: a person

  • Prepared-by name and date[F008]
  • Reviewed and approved-by entries[F008]

Always manual, by design. A signature that a program can produce is not a signature.[F008]

This is why the inspection-result columns come out blank

When AutoBalloon writes the AS9102 workbook, the inspection-result columns of Form 3 are left empty on purpose.[F004] Read against the three classes above, that is not a missing feature — those columns are Class 2, and Class 2 values do not exist anywhere in the input. A tool that filled them from a drawing would be inventing them.

Merging real CMM results into those columns is a separate job, with separate inputs. It is not built.[F004]

D · A finding we did not expect

The drawing had no text in it.

We assumed a vector PDF drawing would carry a text layer we could read dimensions out of. Ingesting the gold package showed otherwise: sheet 0 — the drawing itself — yielded zero text tokens. The CAD system had exported every dimension, every title-block entry and every existing balloon as vector outlines. There is no text to read; there are only strokes that look like text.[F009]

Text tokens recovered from each sheet of the gold package Sheet 0, the drawing, returned zero text tokens and is marked as needing vision. Sheet 1 of the bill of materials returned 45 tokens and sheet 2 returned 66 tokens, both with exact bounding boxes, so coordinates can be recovered by matching text. TEXT TOKENS RECOVERED PER SHEET — GOLD PACKAGE Sheet 0 the drawing 0 tokens — every dimension exported as vector outlines THIS SHEET NEEDS VISION Sheet 1 bill of materials 45 tokens, exact bounding boxes COORDINATES BY TOKEN MATCH Sheet 2 bill of materials 66 tokens, exact bounding boxes COORDINATES BY TOKEN MATCH
Sheet 0
Zero text tokens — no text layer at all[F009]
Sheets 1–2
45 and 66 tokens, clean layer, exact boxes[F009]
Consequence
Token-matched coordinates work on the BOM sheets only[F010]
Classifier
Sheet classification keys on text-layer density[F006]

Token counts are a property of this drawing package as it was exported, not a measure of anything AutoBalloon does.[F009]

The inversion

A near-empty text layer is a signal, not a defect

The obvious reading of a sheet with almost no text is "this is a cover page, skip it". The correct reading is the opposite: a near-empty text layer is precisely the marker that says this sheet carries the drawing and needs vision. Sheet classification is built on that density signal.[F009][F006]

ingest.rs
The architecture call

Why not simply point a vision model at the sheet

A vision-only engine was ruled out on architecture rather than preference. Drawing a leader line requires an exact (x, y) coordinate on the page; vision models return approximate boxes. That mismatch is structural, so the design is hybrid — semantic reading for robustness to GD&T and messy layout, deterministic PDF parsing for coordinates.[F011]

hybrid by necessity

What this costs us today

Because the drawing sheet has no text layer, balloon coordinates on that sheet cannot come from token matching — they have to come from vision boxes or vector-geometry analysis.[F010] The vision path exists in the code but has never been executed or graded.[N003] That is the single largest gap between what is designed and what runs.

E · Worked example

Where a bare 2.7 gets its limits.

Most dimensions on a real print carry no tolerance next to them. The tolerance is implied, and lives in a table in the title block, indexed by how many decimal places the dimension is written to. Resolving that is deterministic text work, and it is the piece that later turns a measured value into ACCEPT or REJECT.[F013]

Resolving a bare dimension against the title-block general-tolerance table The dimension 2.7 is read off the drawing with no tolerance attached. It has one decimal place, so the X.X row of the title-block general tolerance table applies, giving plus or minus 0.3. The resolved limits are a minimum of 2.4 and a maximum of 3.0, which is what a measured value is later compared against. [F013] 01 · AS WRITTEN ON THE PRINT 2.7 no tolerance attached 02 · COUNT DECIMAL PLACES 2.7 one decimal place → ROW X.X 03 · TITLE-BLOCK GENERAL TOLERANCE UNLESS OTHERWISE SPECIFIED X.X ± 0.3 X.XX ± 0.13 ANGLES ± 0° 30′ 04 · RESOLVED REQUIREMENT NOMINAL 2.7 TOLERANCE ± 0.3 MIN 2.4 MAX 3.0 LATER, WITH A MEASURED VALUE ACCEPT REJECT
Input
A bare dimension carrying no explicit tolerance[F013]
Lookup key
Decimal-place count against the title-block table[F013]
Output
Nominal, tolerance, min and max[F013]
Coverage
Symmetric ± callouts resolve directly; both paths are unit-tested[F002]

Deterministic text parsing with independent unit tests — this is one of the few places on the page where we are confident, and it is confidence about a unit-tested rule, not about performance on your drawings.[F002][F013]

Handled

Symmetric and general-tolerance forms

Symmetric ± callouts such as Ø 27.0 ± 0.1 resolve directly from the callout text. Bare dimensions resolve through the title-block table as shown above. Both are deterministic text parsing covered by independent unit tests.[F002][F013]

unit-testedtolerance.rs
Not handled

Limit and unilateral tolerances

Explicit min/max pairs and asymmetric +x/−y callouts have no parsing code and no tests at all. The word "unilateral" appears once in the source, in a doc comment describing an aspiration. If your prints use those forms, this will not resolve them.[N005]

not built
F · What it does today

Four things, deterministically, and nothing more.

Each of these is implemented and covered by unit tests. Everything outside this list is on the ladder further down, marked as not built.

01 · Numbering

Clockwise from 12:00

Characteristics are numbered clockwise from 12:00 about the view centroid, with PART LIST notes ordered first. The sort is unit-tested over synthetic coordinates unrelated to any real drawing.[F001]

unit-testednumber.rs
02 · Tolerance

Symmetric and general-tolerance

Symmetric ± callouts resolve directly. Bare dimensions resolve against the title-block general-tolerance table by decimal place — 2.7 becomes ±0.3. Deterministic text parsing with independent unit tests.[F002]

unit-testedtolerance.rs
03 · Overlay

Ballooned drawing PDF

Numbered balloons and leader lines are drawn onto the source drawing and written out as a PDF you can hand to an inspector.[F003]

builtoverlay.rs
04 · Forms

AS9102 FAIR workbook

Form 1 part accountability, Form 2 material and process from the BOM, Form 3 characteristic rows. Inspection-result columns are left blank on purpose — those values never appear on a drawing.[F004]

builtforms.rs
One runon a real FAI package

The pipeline ran end-to-end once, on a real aerospace FAI package — 72257339-001 "RESTRICTOR, OVERFLOW", program ST AERO - 722, Hampson Industries — and produced output matching the human-produced Form 3.[F005] Read that as a demonstration, not a measurement: the input for that run was hand-authored with the answer key in context, so it cannot stand as evidence about detection.[N001]

G · Pipeline

Five stages. One of them is a person.

These stages run in order, so they are numbered. Stage 02 carries its caveat on the node itself rather than in a footnote, because the caveat is what makes the rest of the sentence true.

STAGE 01

Ingest

A vector or text PDF is read and its sheets classified by text-layer density. Vector PDFs only, three sheets, one part.[F006]

STAGE 02

Detect

The characteristic list — every dimension, note and tolerance to be inspected — enters the pipeline here.

Supplied by an engineer

Today this list is produced by a person, not by the software. The graded run performs no detection: it reads a hand-authored list from disk.[N001] A vision path exists in the code but has never been executed or graded.[N003] There is no operator confirm-and-edit workflow.[N004]

STAGE 03

Locate

Each characteristic is tied to a point on the sheet, and its tolerance resolved — symmetric ± directly, bare dimensions against the title-block table.[F002]

STAGE 04

Number

Characteristics are ordered clockwise from 12:00 about the view centroid, PART LIST notes first, and assigned their balloon numbers.[F001]

STAGE 05

Overlay + forms

Balloons and leader lines are drawn onto the drawing[F003] and the AS9102 workbook is written — Forms 1, 2 and 3, inspection results left blank.[F004]

H · The sample

The part we built this against — all eight characteristics of it.

AutoBalloon was developed against one real, complete aerospace FAI package: part 72257339-001, "RESTRICTOR, OVERFLOW", program ST AERO - 722, Hampson Industries. Because that package arrived already ballooned and with its forms filled in by a human, it works as an answer key. Here is the whole of it — not a selected extract.[F012]

72257339-001
Part number[F012]
ST AERO - 722
Programme[F012]
8
Characteristics on this part[F006]
3
Sheets — one drawing, two BOM[F006]
The eight characteristics of 72257339-001[F012]
Section Where it lives Requirement Note
1Part listBOM sheet1N
2Part listBOM sheet2N722-STA-PS-125 SEAL B
3Part listBOM sheet3N722-STA-PS-163
4Part listBOM sheet4N722-STA-PS-194
5MeasureDrawing sheet2.7 ± 0.3Bare dimension — tolerance from the title-block table[F013]
6MeasureDrawing sheetØ 27.0 ± 0.1Symmetric callout[F002]
7MeasureDrawing sheetØ 44.5 ± 0.3Symmetric callout[F002]
8MeasureBOM sheet0.0074 KGWeight — a measure that is not on the drawing view
Reading the table

Two sections, not one list

Form 3 groups characteristics: balloons 1–4 are PART LIST notes carried on the BOM sheets, and 5–8 are MEASURES. That grouping is why the numbering rule puts parts-list notes first and only then walks the drawing clockwise from 12:00.[F012][F001]

Reading the table

Both tolerance paths appear on one part

Characteristic 5 is a bare 2.7 whose limits come from the title block; 6 and 7 carry their own symmetric ± callouts. One small part exercises both resolution paths, which is why the tolerance module was the first thing written and unit-tested.[F013][F002]

What one part with eight characteristics can and cannot tell you

This is the entire evidence base: one part, eight characteristics, vector PDF only, three sheets.[F006] The pipeline ran end-to-end on it once and produced output matching the human-produced Form 3.[F005]

Treat that as a demonstration and not a measurement. The input for that run was hand-authored with the answer key in context, and the source drawing already carried balloons 1–8 — so both the detection and the numbering-order evidence from this part are circular.[N001] Header extraction on this part also matches literal part-specific strings and will not transfer to another drawing without code changes.[N006]

I · Why bother

The tools that already do this are priced for a different kind of shop.

Ballooning is a solved problem at the top of the market. HighQA, Net Inspector and iQA all automate it, and they are quoted at roughly ₹7–8 lakh per licence plus annual maintenance.[M001] For a supplier running a handful of first articles a quarter, that licence costs more than the work it removes — so the work stays manual.

₹7–8 lakhper licence, plus AMC

Market pricing for the established commercial FAI and ballooning tools.[M001] That is a competitor price, gathered during market research. It is not a performance figure and it is not a measurement of anything AutoBalloon does.[M001]

Source note: the ₹7–8 lakh figure describes what other vendors charge, nothing more. No claim about AutoBalloon's capability, quality or output is derived from it, and nothing on this page compares AutoBalloon's results to theirs — we have no basis for such a comparison and do not make one.[M001]

The wedge

Narrow, and honest about it

AutoBalloon is not a competitor to those suites today. It does four things deterministically on vector PDFs for one part shape, and the ladder below lists everything it does not do.[F006]

prototype
The bet

Most of the cost is transcription

The parts of ballooning that are pure transcription — resolving a tolerance, ordering the balloons, writing Form 3 rows — are deterministic and testable.[F001][F002][F004] Those are the parts built first.

built
The gap

Finding the characteristics is the hard half

Deciding which entries on a print are inspectable remains a person's job here. There is no operator confirm-and-edit workflow, and the autonomous path has never been run or graded.[N004][N003]

not built
J · The claim ladder

Built, not built, and hoped for — kept on separate rungs.

Most tools in this category describe the top rung and let you assume the bottom two. Here they are labelled, so you can tell which one you would be buying into.

Tier 1 · Built & unit-tested

In the code today

Implemented, deterministic, and covered by unit tests. These are the only claims on this page that describe working software.

  • Clockwise-from-12:00 numbering about the view centroid, PART LIST notes first — unit-tested over synthetic coordinates.[F001]
  • Symmetric ± tolerance resolution, and bare dimensions resolved against the title-block general-tolerance table by decimal place.[F002]
  • Ballooned drawing PDF — numbered balloons plus leader lines drawn onto the source drawing.[F003]
  • AS9102 FAIR workbook — Forms 1, 2 and 3, with inspection-result columns deliberately blank.[F004]

SCOPE — one part · eight characteristics · vector PDF only · three sheets.[F006] One end-to-end demonstration run on a real FAI package.[F005]

Tier 2 · Not built

What you would be waiting for

None of the following exists as working software. Some has no code at all; some has code that has never been run or graded. Either way, do not plan around it.

  • Autonomous detection. A vision path is implemented but has never been executed or graded — no recorded run, no test.[N003]
  • Operator confirm and edit. The two real paths are full human transcription or full autonomy. "Proposes, engineer confirms" does not exist in code.[N004]
  • Limit and unilateral tolerances. Explicit min/max pairs and asymmetric +x/−y have no parsing code and no tests.[N005]
  • Generalised header extraction. Header fields are matched against literal part-specific strings and will not transfer to another drawing without code changes.[N006]
  • OCR and scanned drawings. Nothing reads text back out of pixels — and most shop-floor drawings are scans.[N007]
  • CMM result merge. No code and no fact-sheet entry. Inspection results stay blank because nothing populates them.[F004]

TEST DEBT — no end-to-end test exists; the only in-code scoring assertion grades the gold sample against itself.[N002]

Tier 3 · Aspiration

Where this is meant to go

Direction of travel only. Nothing on this rung is built, scheduled, or promised — it is here so you know what we are aiming at, not what you would receive.

  • A first article package that survives a whole part family, not one part at a time.
  • Drawings as the shop actually holds them, scans included, rather than clean vector PDFs.
  • Inspection data flowing back into the report instead of being typed in twice.
  • An engineer reviewing and correcting a proposed characteristic list rather than writing it.

ASPIRATIONAL — no code, no dates. When any of this lands it moves up a rung, and the fact sheet changes first.

K · Talk to us

If your prints are vector PDFs, we would like to try one.

AutoBalloon is early. The useful next step is a real drawing from a real first article, so we can find out what breaks outside the one part it has seen. Tell us what you inspect and we will tell you honestly whether it is in scope today.

  • In scope today: one part, eight characteristics, vector PDF only.[F006]
  • You supply the characteristic list; the software does not read it off the drawing.[N001]
  • Scanned drawings will not work — there is no OCR.[N007]