PCB Cleanup - deletes redundant vias when NOT checked

In PCBNew, when I do EDIT --> CLEANUP, I want to retain GND stitching on an RF board. It seems to Del the vias regardless of the check box.

Am I missing something?

The version is a relatively current Jenkins 2020-08-12

Application: Eeschema
Version: (5.1.6-81-gd29edf638)-1, release build
wxWidgets 3.0.5
libcurl/7.71.0 OpenSSL/1.1.1g (Schannel) zlib/1.2.11 brotli/1.0.7 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) libssh2/1.9.0 nghttp2/1.41.0
Platform: Windows 7 (build 7601, Service Pack 1), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
wxWidgets: 3.0.5 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.73.0
OpenCASCADE Community Edition: 6.9.1
Curl: 7.71.0
Compiler: GCC 10.2.0 with C++ ABI 1014

Build settings:

It seems to handle vias as tracks, so “delete dangling tracks” may do the trick. But obviously this isn’t obvious :slight_smile:

Here’s 5.99:

so it may be better.

Yes, the algorithm is confused.
Deleting dangling tracks is a pretty key part of the feature.
I shall submit a bug report.

1 Like

I’ve used the cleanup with all 4 checkboxes on a number of times in my latest KiCad V5.1.6 project:

I started this project in KiCad V4 some 4+ years ago.
It’s no HF, but it’s a double sided uC board and uses plenty of via’s to patch parts of GND planes on both sides together.
At first I was afraid to clean it up this way, but I have not seen via’s deleted I do not want deleted.

Some of the via’s are connected with tracks through the GND plane, because I do not want the “Push and Shove” interactive router to remove GND connections in some area’s, but other GND via’s are just placed with the via stitching tool in the right toolbar, and do not have any traces attached, just 2 GND planes.

All these just seem to stay in the PCB proper.

However, If I do a test, by deleting one of the GND planes, and then re-run the “Cleanup Tracks & Via’s” then a lot of these truly redundant via’s get deleted.

For me it works as expected.

Are you willing to share your project?
I’m kinda curious what sort of Via’s get deleted this way on your board.

Ref https://gitlab.com/kicad/code/kicad/-/issues/5253

On gitlab you suggested I also had “similar operation in 5.99”, while I’ve never used 5.99.

eelik mentioned 5.99, but from his post it does not look like he has encountered is as “similar operation”.

On gitlab you seem to get the same response as my thought. Via’s seem to be deemed redundant if they only connect to a plane on one side of the board.

Have you tried locking via’s?
(Just hover over a via, and press l)

I’m still curious to have a look at your board.
You can remove most of the footprints if you want to keep your design private.

A solution / workaround is to connect your via’s with some tracks on the other side. But to keep these, it helps to turn of:
Pcbnew / Route / Interactive Router Settings / Options: Remove redundant tracks

My apologies for misquoting you. I didn’t have the other posts open at the time.

Jeff Young explained that the function is intended to cleanup 2 vias at a single location.

This is a different definition of the function than I expected or desired.

Now I am pondering alternate strategies.


It’s ok, shit happens whenever humans or other animals are involved.
It’s part of life.

But I am more impressed by action than words.
I’m still (10 hours after your post) being misqouted on your post on:

I am REALLY embarrassed to admit that I was doing Cleanup WITHOUT having the zones filled. How dumb is that?

It was just something unconscious and I KNEW the Gnd Vias were legitimate. Guess I’m getting TOO old.


Whether the GND zones are shown as filled or not should only be a visual thing and not change the way KiCad behaves.

I think it wasn’t about the visual mode but actual filling which adds the copper.

When doing BUG - List Unconnected, you MUST have the zones filled or you get errors for Gnds that are not connected. This is another operation that requires zones to be filled.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.