Schemas / Circuit / PCB

rig.pcb.pad

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

Fields

FieldTypeMeaning
kind enumthrough-hole · smd · connector · non-plated required through-hole, smd, connector (edge finger, no paste), non-plated
shape enumcircle · rectangle · oval · trapezoid · rounded-rectangle · custom required circle, rectangle, oval, trapezoid, rounded-rectangle, custom
width float required Pad size along local X
height float required Pad size along local Y
cornerRatio number0 – 0.5 optional Optional. Corner radius over the shorter side, 0-0.5, for rounded-rectangle; absent = 0.25
drillWidth float optional Optional. Hole size along local X; absent = no hole
drillHeight float optional Optional. Hole size along local Y; absent = drillWidth (round hole). Unequal = slot
drillOffset vec2 optional Optional. Hole centre from pad centre; absent = (0, 0)

Copper land for one terminal. Format when present.

Compose on the terminal entity next to rig.circuit.pin (number, function, net). Position and rotation are rig.spatial.transform, local to the parent part. Layers are rig.pcb.layer_set. A non-plated mounting hole has no electrical meaning and may omit the pin component.

Required: kind, shape, width, height.

custom shapes, trapezoid deltas, corner chamfers, and per-pad mask / paste / thermal overrides stay in the source file for now (rig.pcb.board source). A pad created in Rig with custom has no outline to write - use a named shape.

JSON Schema

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

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rig.works/schemas/rig.pcb.pad.schema.json",
  "title": "rig.pcb.pad",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "through-hole",
        "smd",
        "connector",
        "non-plated"
      ]
    },
    "shape": {
      "type": "string",
      "enum": [
        "circle",
        "rectangle",
        "oval",
        "trapezoid",
        "rounded-rectangle",
        "custom"
      ]
    },
    "width": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "height": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "cornerRatio": {
      "type": "number",
      "minimum": 0,
      "maximum": 0.5
    },
    "drillWidth": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "drillHeight": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "drillOffset": {
      "$ref": "./_defs.schema.json#/$defs/vec2"
    }
  },
  "required": [
    "kind",
    "shape",
    "width",
    "height"
  ],
  "x-rig-maturity": "draft"
}

Seen in

kicad-pcb.json