Skip to content

DRC does not respect "Tent vias"

Description

If you have a via placed close to a pad such that the solder masks of via and pad overlap you get a DRC violation that "solder mask aperture bridges items with different nets", which is what you expect.

Checking the option "Tent vias" should ignore all vias in solder mask generation:

  • this is well respected in Gerber generation
  • this is show in pcbnew once you have run DRC; mask is not shown on vias even if they should not be tented unless you run DRC.
  • DRC emits errors ignoring the "Tent vias" setting.

Steps to reproduce

  1. Create a board with a via and pad of different nets side by side with minimum clearance (e.g. 0.15mm)
  2. Set solder mask expansion to at least 1/2 of the clearance (e.g. to 0.075mm if clearance is 0.15mm)
  3. Run DRC (also see images below):
  • if "Tent vias" is unchecked, the DRC creates the error and also displays the correctly generated mask
  • if "Test vias" is checked, the mask display is correct (not showing mask over the via) but DRC still shows the error

DRC_OK

DRC_notOK

tent_vias_setting

KiCad Version

Application: KiCad PCB Editor x86_64 on x86_64

Version: (7.0.0-rc2-62-g971abcfc1a), release build

Libraries:
	wxWidgets 3.2.1
	FreeType 2.12.1
	HarfBuzz 5.3.1
	FontConfig 2.14.0

Platform: macOS Ventura Version 13.2 (Build 22D49), 64 bit, Little endian, wxMac

	wxWidgets: 3.2.1 (wchar_t,wx containers)
	Boost: 1.80.0
	OCC: 7.6.3
	Curl: 7.77.0
	ngspice: 38
	Compiler: Clang 13.0.0 with C++ ABI 1002

Build settings:
	KICAD_SPICE=ON