← Commit history

1.0.68: 1.0.68: ordering and footprints, five more of the EDA Bridge Standard's verbs.

Colby Knox ·bb377abc14 ·13d ago ·parent e1c2dac
- **kicad_bom:** the schematic's parts merged with the board, one line per MPN, checked for what an order lacks. - Writes bom.csv, JLCPCB's BOM and CPL, the Mouser and DigiKey BOM-tool files and bom.json. - The grouping and the field names matched across libraries are the Altium bridge's, so the files read the same in both tools. - **kicad_assembly_check:** the board against JLCPCB's Economic and Standard assembly tiers, and the cheapest one it passes. Parts the line never places (excluded from BOM or position files, DNP, board-only) are left out. - **kicad_jlcpcb_order:** in one folder: - the fab check; - the Gerbers and drill, zipped; - the BOM and CPL; - the assembly tiers; - the order-form values; - every issue in one list, with `ready`. - **kicad_footprint_from_land_pattern:** a footprint from a datasheet's land pattern (chip, SOIC/DFN, SOT, QFP/QFN, BGA, exposed pad), with silkscreen clear of copper, pin-1 marks, the courtyard and a 3D body box. - **kicad_silk_designators:** every reference designator placed upright beside its part, clear of pads, bodies, existing silkscreen and the other labels, never below the board's minimum text height. - A closed board gets the labels written into the file. KiCad's DRC checks the result first, and a label it flags is reported, not written. - A board open in KiCad is moved live as one Undo step, unless its footprints carry KiCad 10's units block: then it refuses, nothing changed (see below). - **Fixes:** - kicad_silk_fields_batch no longer drops footprints' units blocks. KiCad 10.0.x moves a field only by sending its whole footprint back, and loses the footprint's units block (pin groups) doing so. Such a move now refuses with field_move_drops_units, nothing changed, unless allowUnitsDrop:true. - kicad_silk_state gives a part with a round courtyard its real body box, not a flat line. - The netlist reader keeps symbol fields and DNP flags for the BOM.
1 file changed +7−2
README.md+7−2
@@ -257,7 +257,7 @@ viewer. This is how every 3D shot above exists.  <!-- verbs:start (tools/readme_verbs.py writes this) --> -Every verb of this build (271, `kicad_describe` is the live catalog with inputs, hints and pitfalls). A name marked *standard* is the EDA Bridge Standard's name for the verb after the arrow.+Every verb of this build (276, `kicad_describe` is the live catalog with inputs, hints and pitfalls). A name marked *standard* is the EDA Bridge Standard's name for the verb after the arrow.  **Board model and reads (EDA Bridge Standard)** (12) @@ -466,7 +466,7 @@ Every verb of this build (271, `kicad_describe` is the live catalog with inputs, | `kicad_project_rename` | Rename a project: the .kicad_pro, root .kicad_sch, .kicad_pcb, .kicad_prl (and .kicad_dru, backups folder), with the references inside updated (project file entries, every schematic's instance headers, the board's sheet references and title). Refused while KiCad has the project open. | | `kicad_project_snapshot` | Timestamped copy of the project's files into <project>/snapshots/<stamp>[-label]/, plus schematic and board PDFs made with kicad-cli. | -**Windows, editors, install and the bridge** (99)+**Windows, editors, install and the bridge** (104)  | Verb | What it does | |---|---|@@ -475,8 +475,10 @@ Every verb of this build (271, `kicad_describe` is the live catalog with inputs, | `kicad_add_body` | Put a 3D body (a STEP or VRML model) on a library footprint. It REPLACES the footprint's models unless keepExisting:true, so a re-import never stacks a second body. | | `kicad_align_parts` | *standard* → `kicad_align_footprints` | | `kicad_analyze_connections` | Connectivity overview: suspected-unconnected pins, power nets, highest-fanout nets/components (read-only). |+| `kicad_assembly_check` | Ready for JLCPCB assembly? The board against both JLCPCB PCBA tiers as published (Economic and Standard): board or panel size, thickness and layers, parts on one or both sides, the smallest package and the finest pin pitch, fiducials, and the purchased parts with no LCSC number; answers the cheapest tier every rule allows. | | `kicad_auto_classes` | Net classes from the nets' own names: GND, Power (VCC, VDD, 3V3, VBAT...), Clock and HighSpeed (USB, Ethernet, HDMI, PCIe, DDR, MIPI, LVDS, SATA), and the differential pairs their names spell; a proposal first, written into the project's net classes with apply. | | `kicad_board_report` | One shareable page per board: every check run against the board and its project (KiCad's DRC and ERC, a fab's limits, the board against the schematic, symbols against footprints, return paths, copper balance, impedance widths, 3D heights, pair skew and part orientation) with a picture of the board, written as a single HTML file. |+| `kicad_bom` | The project's bill of materials: every schematic part (fields, DNP, exclude from BOM) merged with the board (footprint, position, side), one line per manufacturer part number, checked for what an order needs, and written as bom.csv, bom-jlcpcb.csv + cpl-jlcpcb.csv, bom-mouser.csv and bom-digikey.csv (+ bom.json). | | `kicad_bridge_call` | Retired: there is no in-KiCad plugin to call. Use the verb that does the job directly. | | `kicad_bridge_status` | Retired: the in-KiCad Python plugin (reverse bridge) is not part of the native bridge. Reports that, plus what replaced each of its jobs. | | `kicad_check_for_updates` | Read-only: installed KiCad vs latest stable. |@@ -504,10 +506,12 @@ Every verb of this build (271, `kicad_describe` is the live catalog with inputs, | `kicad_find_connections` | Everything one component connects to, pin by pin, with peer pins per net (read-only). | | `kicad_find_space` | Free spots on the board for a part near another: clear of every other part's courtyard on that side, of that side's tracks and vias, and inside the outline, nearest first. check:true lists parts that already overlap or leave the outline. | | `kicad_fix_keyboard` | Reset stuck modifier keys on a KiCad window. |+| `kicad_footprint_from_land_pattern` | Build a complete footprint from the land pattern a datasheet prints: pads numbered the standard way (chip, dual SOIC/TSSOP/DFN, SOT, quad QFP/QFN, BGA), an exposed pad, the courtyard, silkscreen kept clear of the copper with a pin-1 dot, a fab outline with a pin-1 chamfer, and a 3D body box when the height is given. | | `kicad_get_settings` | Read the bridge's user-visible settings (overlay badges, ...). | | `kicad_height_check` | Will it fit the enclosure? Each part's height from its 3D model (top and bottom), the parts over a height limit board-wide or under a lid feature in a region, and bodies that collide or come closer than a gap. | | `kicad_impedance` | The track width for a target impedance (and the pair width and gap for a differential target) on each copper layer, from the board's own stack-up; optionally the width or pair rules for kicad_custom_rules. | | `kicad_ipc_api` | Read or flip KiCad's IPC API server switch (Preferences > Plugins) that live routing needs. |+| `kicad_jlcpcb_order` | A JLCPCB order in one call: the board checked against JLCPCB's fab limits, the Gerbers and drill zipped the way JLCPCB's order page takes them, the JLCPCB BOM and pick-and-place (CPL), the assembly-tier check and the order-form values, in one folder with every issue in one list. | | `kicad_launch` | Cold-start KiCad (project manager) when nothing is running. | | `kicad_layers` | The board's whole layer set: KiCad's id, name, kind (signal, power, mixed, user) and the user's name for each, and whether the open PCB editor shows it. | | `kicad_list_installed_libraries` | Every symbol and footprint library KiCad loads: the global tables and, with projectPath, the project's own, with nickname, path and whether the path exists. |@@ -555,6 +559,7 @@ Every verb of this build (271, `kicad_describe` is the live catalog with inputs, | `kicad_show_project` | Show the whole electronics PROJECT: the KiCad Project Manager (top of the design tree). | | `kicad_show_schematic` | Show a schematic (2D) in the Schematic Editor. | | `kicad_show_symbol` | Show a schematic symbol in the Symbol Editor (design/library surface). |+| `kicad_silk_designators` | Place every reference designator the way assembly houses want: one size, upright, beside its own part, clear of every pad (JLCPCB: 0.15 mm), every other part's body and the other designators, inside the board, then read back from KiCad. Parts with no clear spot are reported, not forced onto pads. | | `kicad_silk_state` | The silkscreen as it stands: every part's body box, its designator and value as placed (text, position, size, rotation, shown), and the free texts and graphics on both silkscreen layers. | | `kicad_state` | KiCad's full state of the union: every owned window as inline base64 PNG + logical state. | | `kicad_status` | Bridge health, KiCad version, install location and uptime. |