main
John Lauer 3D model from KiCad's own package generator at the datasheet's values: radiused gull-wing leads in matte tin, reviewed… 9ad862b
{
 "plan": {
  "schema": "adom/mark-plan@1",
  "mpn": "STM32G431CBT6",
  "step": "/home/adom/project/kicad-gen/work/stm32g431cbt6/stm32g431cbt6.step",
  "footprint": "/home/adom/project/kicad-gen/work/stm32g431cbt6/stm32g431cbt6.kicad_mod",
  "standUp": [],
  "standUpSource": "as-is (Z up)",
  "inputs": {
   "up": "auto",
   "face": "auto",
   "along": null,
   "upSupplied": false,
   "faceSupplied": false,
   "faceSource": "inferred: top face"
  },
  "face": "top",
  "pin1": {
   "source": "footprint pad 1",
   "xyMm": [
    -4.1625,
    2.75
   ],
   "corner": "left/lower"
  },
  "existingMarks": [],
  "vendorMarking": {
   "present": true,
   "glyphFaces": 14
  },
  "faceNormal": [
   0,
   0,
   1
  ],
  "longAxis": {
   "axis": "y",
   "vector": [
    0.0,
    1.0,
    0.0
   ],
   "why": "longest usable top dimension (6.50 mm vs 5.57 mm)",
   "source": "longest",
   "override": null,
   "pinRows": null
  },
  "readingDirection": {
   "vector": [
    -0.0,
    -1.0,
    0.0
   ],
   "angleDeg": 270,
   "textUp": [
    1.0,
    -0.0,
    0.0
   ],
   "rule": "pin 1 / pad 1 at the start (left) of the text, and below it when it sits on a side"
  },
  "band": {
   "regionMm": [
    -2.3216,
    -3.2511,
    3.2511,
    3.2511
   ],
   "zMm": 1.5,
   "lengthMm": 6.5022,
   "heightMm": 5.5727,
   "why": "highest flat face over the body centre",
   "terminationsExcludedBy": null,
   "trimmedEnds": [],
   "keepouts": [
    [
     -2.8416,
     2.3416,
     -2.3416,
     2.8416
    ]
   ],
   "sideTurn": null,
   "margins": {
    "lengthEachSide": 0.12,
    "heightEachSide": 0.15
   }
  },
  "text": {
   "lines": [
    "STM32G",
    "431CBT6"
   ],
   "chars": 13,
   "capHeightMm": 0.8888,
   "smallestLineMm": 0.8888,
   "heightPctOfBand": 36.7,
   "why": "two lines: the smaller line (0.889 mm) beats one line (0.472 mm) by 1.88x",
   "alternative": {
    "lines": [
     "STM32G431CBT6"
    ],
    "capHeightMm": 0.4715,
    "smallestLineMm": 0.4715
   },
   "font": "service-step2glb /laser-etch (single-stroke outline font)"
  },
  "etch": {
   "poseQuarterTurnsZ": 1,
   "service": "/laser-etch?mode=flat",
   "note": "turn so the reading direction is +X, etch, fit the mark into the band, turn back"
  },
  "outline": {
   "upAxis": "z",
   "poseRotZDeg": 180,
   "rot": 90,
   "recipe": "adom-aiflow-etch outline <part.step> --footprint <part.kicad_mod> --mpn STM32G431CBT6 (stands the STEP up (as-is (Z up)), turns it 180 deg about Z and draws STM32G / 431CBT6 on the planned band, rot 90)",
   "why": "iso camera looks from +X+Y+Z: text along +Y (rot 90) or -X (rot 180) reads left to right with pin 1 toward the viewer"
  },
  "widget": {
   "px": 320,
   "pxPerMm": 27.67,
   "capHeightPx": 20.1
  },
  "hints": [],
  "warnings": [
   "the vendor model already carries a printed marking (14 glyph faces on the top): keep the vendor model and do not etch over it (adom-aiflow-etch refuses unless --over-vendor-mark)"
  ],
  "summary": "Mark along the 6.50 mm axis (-Y), 0.89 mm text (2 lines), upright with pin 1 left lower, outline rot 90 after a 180 deg pose turn; ~20 px caps at 320 px"
 },
 "etch": {
  "out": "/home/adom/project/kicad-gen/work/stm32g431cbt6/stm32g431cbt6-etched-2.step",
  "mpn": "STM32G431CBT6",
  "lines": [
   "STM32G431",
   "CBT6"
  ],
  "removedOldMarks": [],
  "turns": [
   {
    "axis": "z",
    "quarterTurns": 1
   }
  ],
  "serviceMarkTurnedQuarter": 0,
  "line2Scaled": true,
  "fit": {
   "scale": 0.8734,
   "capMm": 0.6829,
   "markMm": [
    4.9417,
    1.5967
   ],
   "bandMm": [
    6.5022,
    5.5727
   ],
   "zMm": 1.505
  }
 }
}