Requirements#

Summary#

Levels follow PCBA to USD Input Contract 1.0.2. Fields marked N/A are not authored on fiducial / mechanical placements.

  • Each electrical component MUST carry pcba:component:refdes, unique within one board; fiducial / mechanical parts SHOULD, and otherwise MUST carry instanceId. A placement is discovered by any of refdes, instanceId, processClass — never by prim name (CI.001).

  • Electrical parts MUST author pcba:component:type from its vocabulary, not derived from the refdes (CI.002).

  • Every placement MUST author pcba:component:processClass — the mount method — from SMT through_hole press_fit mechanical fiducial Mixed; Mixed MUST list processClasses (CI.003).

  • Electrical parts SHOULD author pcba:component:packageType, a string identifying a specific body; omit and declare the gap rather than use a family word (CI.004).

  • Electrical parts MUST provide pcba:component:footprintId, with pcba:component:sourceOrigin when the id is source-specific (CI.005).

  • Part identity is CONDITIONAL: mpn / manufacturer and value / tolerance are two independent groups, plus customerPartNumber; author when known, never invent (CI.006).

  • The per-component manifest is realized without a sidecar — the instance attributes plus the prototype reference are that record (CI.007; no executable rule).

Requirements#

Tags

Summary

Compatibility

Validator

❓

Every electrical component MUST carry pcba:component:refdes, the reference designator, unique within one board. fiducial and mechanical placements SHOULD carry one; when they do not, they MUST carry pcba:component:instanceId so the placement stays addressable. A placed component MUST be discoverable by at least one of refdes, instanceId, or processClass — never by prim name.This page follows PCBA to USD Input Contract 1.0.2, sections 3, 8 and 8.1.

RefdesChecker

❓

Every electrical component prim MUST carry pcba:component:type, a token from resistor capacitor inductor led diode transistor connector crystal switch ic other. It is authored / classified — not inferred from the refdes prefix.This page follows PCBA to USD Input Contract 1.0.2, sections 8 and 8.1.

ComponentTypeChecker

❓

Every placed component prim MUST carry pcba:component:processClass — how the part is mounted — from SMT through_hole press_fit mechanical fiducial Mixed. A Mixed part MUST also list its real mount technologies in pcba:component:processClasses. Package families (BGA, LGA, QFN, …) are not mount methods; they belong in packageType.This page follows PCBA to USD Input Contract 1.0.2, sections 8, 8.1 and 12.

ProcessClassChecker

❓

Every electrical component SHOULD carry pcba:component:packageType — a string naming the package designation that identifies a specific physical body: a published standard (JEDEC, JEITA, EIA, IEC — QFN-48, 0402, DIP-8, TO-99) or, failing that, the manufacturer’s package designation. Not a lead-form or family word.This page follows PCBA to USD Input Contract 1.0.2, section 8.

PackageTypeChecker

❓

Every electrical component MUST carry pcba:component:footprintId, identifying the footprint — the set of pads (and holes, for THT) the part lands on — in the source CAD library. When that id is source-specific, the prim MUST also carry pcba:component:sourceOrigin, which says where the footprint came from and therefore how far to trust it.This page follows PCBA to USD Input Contract 1.0.2, sections 1.1 and 8.

FootprintIdChecker

❓

Part identity is two independent groups: pcba:component:mpn + pcba:component:manufacturer (the manufacturer’s part identity) and pcba:component:value + pcba:component:tolerance (the electrical requirement set by the designer). Both are CONDITIONAL: author them when known and use null / empty — never an invented value — where not. pcba:component:customerPartNumber (the board owner’s internal part number) is also CONDITIONAL and often the only identity present at design time.This page follows PCBA to USD Input Contract 1.0.2, section 8.

PartIdentityChecker

❓

The board MUST provide a component manifest: one record per placed component linking its BOM identity, its footprint, and its component asset. This is realized without a separate sidecar — the per-instance pcba:component:* attributes plus the prim’s prototype reference are that record, distributed across the stage, and the pcba:board:members registry indexes it.This page follows PCBA to USD Input Contract 1.0.2, sections 3, 4 and 8.

Not yet implemented