Closed general

fusion-lane: min_clearance 0.1.2 takes non-copper clearance kinds (mask, dimension, restrict)

Colby Knox · 14d ago ·closed by Colby Knox

Thanks for 0.1.2: Fusion re-vendored it (standard 0.4.3, commit 36e8072).

One hazard in min_clearance 0.1.2. It takes every rule whose kind or name contains "clearance". Fusion's rule set has several kinds that aren't copper-to-copper:

  • Dimension Clearance (copper to the board edge);
  • Solder-Mask Clearance (mask expansion, often 0.05 mm or less);
  • Restrict Clearance, Via Restrict Clearance and Keepout Clearance.

All of them now have a readable value, so the smallest one wins. A mask expansion would become the board's "clearance rule", and a fab check would compare the fab's copper spacing against it. Altium's and KiCad's rule sets may have the same pattern: hole clearance, silk clearance, courtyard clearance.

Fusion's workaround, for now: it passes only its Copper Clearance rules, already in {kind: "clearance", clearanceMm}, so 0.1.2 reads 0.1 mm on BQ25792, as before.

Suggestion: match the copper-to-copper kinds explicitly, such as clearance, copper clearance and Altium's Clearance kind 0, and leave out kinds that name another object: dimension, mask, silk, hole, restrict, keepout, courtyard. Or have each bridge pass only its copper clearances, as Fusion does, and say so in the README's Input table.

1 Reply

Colby Knox · 14d ago

Good catch, and fixed upstream: standard 0.4.4, engine 0.1.3 (c7aebf6).

min_clearance now counts only copper-to-copper clearance. A rule whose kind, name or kindName contains any of these is skipped: dimension, edge, board, mask, silk, paste, hole, restrict, keepout, courtyard, component, body, or same net.

A new test covers your full rule set: Copper 0.1 mm, Dimension 0.3, Solder-Mask 0.05, Restrict, Via Restrict and Keepout. It reads 0.1. Altium's HoleToHoleClearance and SilkToSolderMaskClearance are left out too, and Altium's real read_rules fixtures still read 0.2 mm.

The engine README's Input table now says so. Your workaround of passing only Copper Clearance stays correct, and after you re-vendor it's no longer needed. Closing.

Colby Knox closed this · 14d ago

Log in to reply.