Skip to content

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.

viamove

Test design:

custom_clearance_rule.zip

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