Blog · Inventor · 1 Oct 2026 · 3 min read

How to add balloons to an Inventor assembly drawing with the API

Inventor's auto-balloon is not in the API, and balloon numbers are BOM items, not your part codes. How we put delivery codes in balloons, the placement rules measured on a drawing a designer approved, text height per view scale, and the save that rolled the file back.

Short answer: there is no AutoBalloon in the API. Place balloons one by one, attached with CreateGeometryIntent to the longest visible segment of each part, and write the part code with OverrideValue, not Value (which is the BOM item number). Get the code by walking from the balloon's leader to the model body. Let a person arrange the views first, then balloon them as they are.

The flow that worked

  1. The script creates rough views of the assembly.
  2. A person arranges them, saves and closes the file.
  3. The script adds balloons to the views as they are.

Trying to have the script also lay out a crowded drawing failed: on A3 sheets, five rounds, none acceptable.

Sheet sizes from code: oSheet.Size = 9993 is A0 (A1 = 9994, A2 = 9995, A3 = 9996, A4 = 9997).

Putting your code in the balloon

The part code travels inside the model: bodies are renamed to their delivery code. From a balloon you reach the body like this:

Balloon.Leader → last node → AttachedEntity (a GeometryIntent, not a DrawingCurve) → .Geometry (the DrawingCurve) → .ModelGeometry.Parent.Name

Then write the code with OverrideValue. Write it bare: a code with a suffix that is not in the parts list confuses everyone.

Placement rules, measured

We measured an arrangement a designer had approved and turned it into five rules:

Rule Value
Balloon inside or outside the view threshold at about 3 cm
Exit side nearest edge of the view box (98% of cases)
Lanes 1.3 to 1.6 cm from the view, pitch about 2 cm
Leader length median 28 mm, never under 10 mm
Attachment CreateGeometryIntent(curve, fraction) on the longest visible segment

Text height depends on the view scale

The balloon circle grows with the text (ScaleToTextHeight = True): you set the text, not the circle. The style height is the height you want on paper divided by the view scale: at 1:46, a height of 0.3 on paper needs a style of 13.8 (0.3 × 46). Clone the style, do not edit it in place.

Colour: three properties

There is no Balloon.Color.

Parts list traps

Trap Fix
CustomTables.Add from VBScript gives err 13 AddCSVTable
The table is lost in DXF export Plan for it: rebuild the table on the DXF side if needed
Changing MaximumRows Three Unspecified errors. Leave it alone
Estimating table text width as characters × height × 0.6 12% wrong. Measure with the font: text width in ezdxf

The save that went backwards

A save from a script that fails does not leave the file as it was. It rolls it back: 195 balloons became 193. Back up before saving, verify the backup, and stop if Inventor has the file open elsewhere.

Do and don't

Do

Don't

Questions people ask

Can an AI agent balloon an assembly drawing? Yes, on views a person has arranged. It places, numbers and checks every balloon against the parts list.

How do you check the balloons? Read every balloon back, walk to its body, and compare the code with the parts list. Then look at the drawing for crossed leaders.