main
John Lauer STM32G431CBT6: datasheet-built LQFP48 model (DS12589 Rev 2 Table 94) with ST's real top marking STM32G431 / CBT6 / Y WW… 751ee87
#!/usr/bin/env python3
"""Named outline drawn from the etched model's own mark edges (mark_outline's fallback mode), for a
multi-piece manufacturer marking the composed single-stroke name (max 2 lines) cannot express.
usage: outline_from_etched.py plain.step etched.step footprint.kicad_mod MPN out_dir [plan.json]"""
import sys, json
sys.path.insert(0, "/home/adom/project/adom_modules/adom/adom-aiflow/tools/laser-etch")
import mark_outline as MO, mark_check as MC, mark_plan as MP
step, etched, fp, mpn, out_dir = sys.argv[1:6]
plan = json.load(open(sys.argv[6])) if len(sys.argv) > 6 else MP.plan(step, fp, mpn, "auto", "auto", "high", MP.MARGIN_W, MP.MARGIN_H)
MC.outline_text = lambda *a, **k: (None, None)      # force the etched-STEP outline mode
print(json.dumps(MO.outlines(step, plan, etched, out_dir), indent=1, default=str)[:3000])