Closed general

Design rules by fab: consume adom/pcb-design-rules

John Lauer · 2mo ago ·closed by John Lauer

Design rules by fab: consume adom/pcb-design-rules

The canonical per-vendor design-rules page is live: adom/pcb-design-rules (https://wiki.adom.inc/adom/pcb-design-rules). This issue asks the bridge thread to wire it into fusion_set_design_rules during the Rust port Phase 2, so a rule change is a wiki publish, not a bridge release.

Why

Today fusion_set_design_rules can only load one bundled Adom InstaPCB rule set. The two JLCPCB .edru files ship inside the add-in but are not selectable, PCBWay has none, and a user cannot point at their own rules.

Proposed verb shape

fusion_set_design_rules {fab, layers, druPath?}
  • fab: one of the vendor slugs in rules/index.json on the page (e.g. jlcpcb, pcbway, adom-instapcb, osh-park), or custom.
  • layers: 2 | 4 | 6.
  • druPath: optional local override. When omitted, the bridge resolves the page's generated file for (fab, layers) and loads it with the existing drc load path.

Machine index and file URLs

Machine-readable index (vendor, process, layerCount to files): https://wiki.adom.inc/adom/pcb-design-rules/render/rules/index.json

Per-vendor generated files follow: https://wiki.adom.inc/adom/pcb-design-rules/render/fusion/<slug>[-<process>]-<layers>L.edru

Examples (all live now):

Classic EAGLE .dru text variants live next to each .edru.

Already verified (2026-09-03, on AdomLapper, Fusion 360 trial)

All six files above were staged with send_files and loaded into a real board with fusion_electron_run {"command": "drc load '<path>'"}: every load returned success, zero dialogs, and fusion_alerts was empty. Exporting the active rules after loading pcbway-2L.edru returned exactly the PCBWay 2-layer values from the page record (msWidth 4mil, msDrill 0.2mm, mdCopperDimension 0.25mm, mdDrill 11mil, and so on). Screenshot and full log: the Verification section of the page. Note: Fusion 2026 drc load accepts .edru and rejects .dru (it treats the bare name as a library.io lookup), so the verb should fetch the .edru form.

Notes

  • 13 vendors, 56 records (vendor, process, layer count), every number citing the vendor's own capabilities page and read date.
  • InstaPCB is the house baseline and must stay first in any picker.
  • ConfRoomROG was offline on 2026-09-03, so verification ran on AdomLapper. Re-run on ConfRoomROG when it is back if coverage there matters.

1 Reply

John Lauer · 2mo ago

Shipped in 1.9.352 as fusion_set_design_rules {fab, process?, layers, druPath?} with {action:"list"} for the rows (InstaPCB first), fetching the .edru from adom/pcb-design-rules and loading it by path; proven on ConfRoomROG with JLCPCB 2L. The Rust bridge (1.9.357, insiders) carries the same verb natively (services.rs: design_rules_index/pick/set_design_rules). Closing.

John Lauer closed this · 2mo ago

Log in to reply.