Schemas / Circuit / PCB

rig.pcb.footprint

v1.0.0 · stable maturity: draft 4 fields 0 required

Fields

FieldTypeMeaning
library string optional Optional. Library item the footprint came from, as the source tool names it (Package_SO:SOIC-8_3.9x4.9mm_P1.27mm); absent = board-only
side enumfront · back optional Optional. front, back; absent = front
mount enumsmd · through-hole · other optional Optional. smd, through-hole, other; absent = other
locked bool optional Optional. Placement is fixed; absent = false

Board placement of a part. Format when present.

Compose on the rig.circuit.part entity, with rig.spatial.transform for position and rotation on the board. Pads are terminal children carrying rig.pcb.pad; silkscreen, courtyard, and fabrication drawings are children carrying geometry, paint, and rig.pcb.layer_set. Children are in part-local coordinates.

A back-side footprint's children already sit on back layers and in mirrored local coordinates - side records the fact; it does not ask a host to flip again.

3D model links, solder-mask and paste margins, and per-footprint clearances stay in the source file for now (rig.pcb.board source).

JSON Schema

Resolves at https://rig.works/schemas/rig.pcb.footprint.schema.json — raw file.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rig.works/schemas/rig.pcb.footprint.schema.json",
  "title": "rig.pcb.footprint",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "library": {
      "$ref": "./_defs.schema.json#/$defs/string"
    },
    "side": {
      "type": "string",
      "enum": [
        "front",
        "back"
      ]
    },
    "mount": {
      "type": "string",
      "enum": [
        "smd",
        "through-hole",
        "other"
      ]
    },
    "locked": {
      "$ref": "./_defs.schema.json#/$defs/bool"
    }
  },
  "x-rig-maturity": "draft"
}

Seen in

kicad-pcb.json