Spacing checks

Spacing checks

Each check produces edge pairs (two edge pieces plus a measured distance). Defaults: Euclidean metric, shielded, angle_limit(90).

How the comparison works:

  • < / <=: search within the limit. < keeps every hit in that radius.
  • > / >=: search in a large radius (about max(20×limit, limit+1000 dbu)), then filter on distance.
  • == / !=: tolerance 0.51 dbu on the measured distance.
  • Kissing corners (distance 0, no collinear overlap) mark unless without_touching_corners is set.
  • On the same layer, neighbouring contour edges and collinear overlapping edges of one polygon are skipped.
  • shielded drops a pair when another edge crosses the shortest connection.
  • An empty layer produces no markers.

← Language overview

width(a)

Available · yields edge pairs

check "W" : width(m1) < 0.14 um

Inside distance of opposite edges of the same layer. The marker is the two edge pieces plus the Euclidean distance. Also as a layer: layer nar = width(m1) < 0.14 um.

Input Result Red edges = too narrow

Notes

  • Maximum width: width(m1) > 20 um.
  • An L-shape: the inner corner is space/notch, not width — width sees the parallel legs when they face each other.
  • Two-layer width(a, b): AND of the sources, then RelWidth on the overlap.

space(a)

Available · yields edge pairs

check "S" : space(m1) < 0.14 um

Outside distance of all pairs: notch (same shape) and isolated (different shapes).

Input Result

Notes

  • Two boxes with a gap < limit: isolated branch.
  • A U-shaped slit: notch branch.
  • Outside on the parallel edges of the same box (the width): that is width, not space.

notch(a)

Available · yields edge pairs

check "N" : notch(m1) < 0.14 um

Outside distance only inside the same shape (a slit, a U). Other polygons are ignored.

Input Result

Notes

  • Two separate boxes: no notch markers, even if the gap is small (isolated / space).
  • After merged, two kissing boxes become one shape — isolated can become notch.

isolated(a)

Available · yields edge pairs

check "I" : isolated(m1) < 0.14 um

Outside distance only between different polygons. Alias iso.

Input Result

Also written as: iso

Notes

  • A U-slit in one polygon: not isolated.
  • raw two copies: isolated against itself (two shapes).

sep(a, b)

Available · yields edge pairs

check "S" : sep(m1, m2) < 0.14 um

Outside distance between two layers. Alias separation. Same-layer skip (neighbour/collinear) is off.

Input Result

Also written as: separation

Notes

  • A and B overlap: an outside space relation can still see a narrow leftover gap; the overlap itself is overlap.
  • One layer empty: no markers.

enc(a, b)

Available · yields edge pairs

check "E" : enc(m1, via) < 0.05 um

a should enclose b: overlap relation (enclosure of a around b). Alias enclosing. Too-small overhangs at the edge of b versus a.

Input Result Left overhang too small

Also written as: enclosing

Notes

  • b sticks out of a: distance 0 / negative enclosure → marker (kissing or cutting).
  • b well inside, overhang ≥ limit: no marker.
  • eol=yes (only the line-end of a long rectangle) filters enclosure to the short ends.

width(a, b)

Available · yields edge pairs

check "W2" : width(m1, m2) < 0.14 um

Inside distance of the overlap: AND of the two layers, then RelWidth on the intersection. Without an area AND there are no markers (that would be sep).

Input Result

Notes

  • Two layers that do not overlap: no markers, even if the edges are close (that would be sep).
  • A slim overlap tongue: width of the tongue, related to overlap.
  • Shielded is on by default (unlike overlap, which forces unshielded).

enclosed(a, b)

Available · yields edge pairs

check "E" : enclosed(via, m1) < 0.05 um

The reverse of enc: internally enc(b, a). Reading: how far does a lie in b.

Input Result

Notes

  • The same border cases as enc, arguments swapped.
  • Not identical to enc when the edge lengths differ — pair direction follows the overlap-swap.

overlap(a, b)

Available · yields edge pairs

check "O" : overlap(m1, via) < 0.05 um

Width of the overlap zone (inside, two layers). shielded is turned off.

Input Result

Notes

  • No AND of the source polygons: the pair is dropped (like two-layer width).
  • Only touch without area: no overlap width.
  • A via fully in metal, overlap = via width: a marker if the via width < limit.