PCB Board Geometry#
Overview#
This capability defines the board-level geometry (BG) an exporter authors on the board USD
so a PCB AOI synthetic-data pipeline can generate solder joints and reason about through-hole
seating. It covers the fab-derived substrate, copper, mask, pad, paste, and plated-barrel
geometry that lives on the board (mesh roles board_substrate, board_copper, board_mask,
board_pad, board_paste, board_barrel; board_hole is optional bookkeeping) together with
the board-side associations that link those features to placed components and their pins.
The board is the source of truth for source geometry and associations only. The pipeline
consumes these to synthesize the downstream-generated solder-joint geometry and per-joint AOI
ROIs, which are out of scope for the authored asset. There is no board_solder role: solder is
generated, not exported.
Two rules shape every page here (PCBA to USD Input Contract 1.0.2, sections 3, 6, 10):
Geometry breakout. Every independently inspectable thing is its own addressable prim — each pad / annular ring, each barrel, each paste deposit. A merged copper or paste mesh cannot be defected or associated.
Associations are authored board-side, as the
pcba:board:refdes+pcba:board:componentPinNumberpair. The pair lives on the non-instancedboard_pad,board_barrel, andboard_pasteprims, never on the instanced pin prim, so components stayinstanceable.pcba:board:component/pcba:board:pasteForrels are SHOULD direct handles, not the association. See Hole Occupancy and Pin Association (BG.012).
SMT and THT are one model with conditional fields keyed off pcba:component:processClass: SMT
contributes paste deposits (pair + solderLayer) and per-contact pads; THT contributes a
board_barrel at every occupied joint (press_fit included) carrying the hole data and the
pair. pcba:board:occupied applies to both. pcba:board:plated and pcba:board:holeSide are
not contract attributes and are ignored when present; a bare board-side pcba:pin:number is read
with a warning, never required. This capability realizes the Board-level Geometry (BG) codes
BG.001–BG.014; BG.013 is intentionally unassigned and BG.014 has no executable rule.
Requirements#
Code |
Requirement |
Summary |
|---|---|---|
BG.001 |
The board root MUST carry |
|
BG.002 |
At least one |
|
BG.003 |
Every plated hole at an occupied THT joint (incl. |
|
BG.005 |
Each |
|
BG.007 |
Each supplied |
|
BG.008 |
Each |
|
BG.010 |
|
|
BG.012 |
Pads and barrels declare occupancy or its unresolved marker; occupied sites name |
|
BG.014 |
For THT, paste association MUST be empty unless paste-in-hole applies. No executable rule. |