How to change all 0.4 mm vias to 0.45 mm

There is a related question/answer How to changes via size of all vias in my board?

but what I have is slightly different: I got a message from JLC to change all my 0.4 mm vias to 0.45 mm (or pay extra). I have different net classes and also vias where I changed the diameters manually, so I really would like to change only actual 0.4 mm vias. How do I select those?

In Altium this would be trivial: Select one via, RMB find similar objects, select via and diameter. Total time < 30 s.
There’s a thread currently on “find similar objects”, let’s hope this makes it to V10, certainly it would be #1 on my wishlist.

Back to KiCad, did I miss something? The best I could think of would be to abuse the DRC as selection filter: Set min. via diameter to 0.45 and do a DRC check. Then I get all 0.4 mm vias marked with error markers and iteratively go through all of them (via selection filter helps).
Any better idea?

Application: KiCad x64 on x64

Version: 9.0.3, release build

Libraries:
wxWidgets 3.2.8
FreeType 2.13.3
HarfBuzz 10.2.0
FontConfig 2.15.0
libcurl/8.13.0-DEV Schannel zlib/1.3.1

Platform: Windows 11 (build 22631), 64-bit edition, 64 bit, Little endian, wxMSW
OpenGL: NVIDIA Corporation, NVIDIA RTX A2000 Laptop GPU/PCIe/SSE2, 4.6.0 NVIDIA 538.78

Build Info:
Date: Jul 8 2025 05:19:33
wxWidgets: 3.2.8 (wchar_t,wx containers)
Boost: 1.88.0
OCC: 7.9.1
Curl: 8.13.0-DEV
ngspice: 44
Compiler: Visual C++ 1942 without C++ ABI
KICAD_IPC_API=ON

Locale:
Lang: en_GB
Enc: UTF-8
Num: 1,234.5
Encoded кΩ丈: D0BACEA9E4B888 (sys), D0BACEA9E4B888 (utf8)

1 Like

Add a 0.45 mm pre-defined via size in Board Setup.

Selection filter: vias only

Select all

Edit > Edit Track & Via Properties

Check only Vias. Filter vias by size: 0.4 mm and Selected items only

Set to specified values, choose 0.45 mm from dropdown

OK

Probably the selection filter and selected items only is unnecessary, but doesn’t hurt to restrict.

3 Likes

Nice! Did not know that one!
Filtering for drill diameter would not have worked (so the case for “find similar objects” still stands), but I got lucky here!
Thanks!

1 Like

You remind me that in ancient times when I was using Protel 3 I was using from time to time “find similar objects” but can’t remind now in what cases it was needed.
I have also (in Protel) for each PCB defined component classes (Small, Medium, Big) and have to took care to have all them (I remember it was done by reference designators and not by footprints used) being listed in correct class (I don’t remember if during back-annotate my lists were corrected or I have to correct them myself).
Then I specified different thermal spoke width for each class.
In KiCad I have specified spoke widths in all bigger then small footprints and forgot of the problem - I have nothing to do on this matter in each PCB.

My via diameters are correlated with via holes (diameter=hole+0.4) so I see no big problem in lack of filtering by drill diameter as I can filer by via diameter.

Yes.
Also ‘Check only Vias’ is not needed as you not specify to change tracks.
The procedure reduces to:

  • Edit > Edit Track & Via Properties
  • Filter vias by size: write via diameter here
  • Set to specified values, Via size: select new via here
  • OK