pcbnew: Custom clearance rule ignored for vias
Description
I have a custom rule on In1.Cu making clearances to grow from 0.15 to 0.4 mm. The rule fails to highlight collisions when a via is dragged too close to another via.
Even worse, it fails to generate error about it when running the DRC. This is especially bad, because I'm relying on the rule to make sure all clearances on inner layers are greater than 0.25 mm.
Steps to reproduce
In the attached design, grab the via on signal2
, and drag it (D or G) towards a via connected to something else.
Collision is expected when the moving via outline comes closer than 0.4 mm of another via, but it is not highlighted until closer than 0.15 mm.
However, highlight correctly turns on when the track dragged along the via comes closer than 0.4 mm.
The grid in the image is 0.05 mm.
Test design:
KiCad Version
Version: (6.0.8), release build
Libraries:
wxWidgets 3.1.7
libcurl/7.83.1-DEV Schannel zlib/1.2.12
Platform: Windows 10 (build 19044), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
Date: Sep 29 2022 00:21:26
wxWidgets: 3.1.7 (wchar_t,wx containers)
Boost: 1.79.0
OCC: 7.6.0
Curl: 7.83.1-DEV
ngspice: 37
Compiler: Visual C++ 1929 without C++ ABI
Build settings:
KICAD_USE_OCC=ON
KICAD_SPICE=ON