PCB Component Geometry#
Overview#
This capability defines the geometric and appearance ground truth carried on every placed PCB component and on its pins and meshes. It realizes the Component Geometry (CG) codes of the PCBA to USD Input Contract 1.0.2 (section 7 components, 8 component attributes, 9 mesh roles and material class, 10 pins): the data a board-asset author must supply so an AOI synthetic-data pipeline can place a component correctly, enumerate its contacts, reason about its height and orientation, and inject appearance / orientation / polarity defects against a known-good reference.
It covers five families of ground truth:
Placement — board side, nominal board-local position, and rotation about the board normal (
pcba:component:side,…:nominalPosMm,…:nominalRotationDeg), plus the anchor convention (pcba:component:anchor,…:bodyCentroidLocal,pcba:mesh:originOffseton the body mesh) that makes placement deterministic when the mesh origin sits off the body.Body dimensions — component height (
heightMm); a body-meshextentis recommended so world bounds and geometric cross-checks are computable.Pins — pin count, pin pitch, and per-pin contact data (
pcba:pin:numberunique within the part,…:solderableas the per-pin solder authority, optional…:crossSection,…:terminalType,…:designator), plus the actual pin-1 position for orientation-sensitive parts. Each body, lead, and marking is its own prim; a merged lump cannot be defected or associated. Boards do not have pins: a board site names a pin withpcba:board:componentPinNumber.Markings & polarity — polarity type and visible markings; when a part carries a pin-1 or polarity marker it is standalone geometry (
pcba:mesh:role = pkg_marking), never baked into a texture.Appearance & material — nominal (representative, not photoreal) body colour, finish, and material class on the component, and
pcba:mesh:matClassauthored onpkg_*/fixture_*meshes (derived from the role onboard_*).
Real geometry is required for final training data; boxes standing in for parts are not
acceptable, and a dimensionally correct outline extrusion is provisional only. Fiducial and
mechanical placements carry a reduced set: side MUST, pose and appearance SHOULD, pin and
identity fields Not Applicable.
Requirements#
Code |
Requirement |
Summary |
|---|---|---|
CG.001 |
|
|
CG.002 |
Declared anchor; |
|
CG.003 |
|
|
CG.005 |
|
|
CG.006 |
CONDITIONAL: contact spacing in mm when meaningful; omitted for 2-terminal passives. |
|
CG.007 |
Per-pin |
|
CG.008 |
CONDITIONAL: actual pin-1 offset from the anchor for keyed / orientation-sensitive parts. |
|
CG.009 |
CONDITIONAL: polarity type for polarized parts; an existing marker is standalone |
|
CG.010 |
CONDITIONAL: visible marking text for OCR / wrong-part ground truth. |
|
CG.011 |
Representative body colour, finish, and material class on the component. |
|
CG.012 |
|
|
CG.018 |
Press-fit joints still get barrels; solder-defect applicability is determined per pin by |