Solder mask expansion not displayed

Hello,
I have a footprint with a simple mechanical hole, where the solder mask is removed from around the hole.
I do this by expanding the solder mask (solder mask expansion).

This is the result:
Capture d’écran_2023-04-19_08-44-34

However, the solder mask expansion is not showing on both the layout editor and the 3D viewer:
Capture d’écran_2023-04-19_08-47-16
Here the purple disc (solder mask) is only the size of the hole.

Capture d’écran_2023-04-19_08-47-37
And here, the green solder mask is present. (The darker ring is the absence of copper, Pad clearance, which is displayed fine)

Here are the settings applied:

I get the good result manufactured, but it’s a bit confusing…
So, is it a bug or is it expected? What am I doing wrong?
Thank you!
David

It could be a bug for NPTH holes (because for THT the mask-expansion is displayed), but I need to investigate a bit more and that needs some time. Maybe someone is faster in the meantime.

1 Like

Please, add your system information to your post, Help->About KiCad->Copy Version Info.

Application: KiCad PCB Editor x86_64 on x86_64

Version: 7.0.2-6a45011f42~172~ubuntu20.04.1, release build

Libraries:
	wxWidgets 3.2.1
	FreeType 2.10.1
	HarfBuzz 6.0.0
	FontConfig 2.13.1
	libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3

Platform: Ubuntu 20.04.6 LTS, 64 bit, Little endian, wxGTK, xubuntu, x11

Build Info:
	Date: Apr 17 2023 07:58:01
	wxWidgets: 3.2.1 (wchar_t,wx containers) GTK+ 3.24
	Boost: 1.71.0
	OCC: 7.5.2
	Curl: 7.88.1
	ngspice: 38
	Compiler: GCC 9.4.0 with C++ ABI 1013

Build settings:
	KICAD_SPICE=ON

A quick test with v6:

A similar test with v7.0.2:

It does look like a bug.

Application: KiCad PCB Editor x64 on x64

Version: 7.0.2, release build

Libraries:
	wxWidgets 3.2.2
	FreeType 2.12.1
	HarfBuzz 6.0.0
	FontConfig 2.14.1
	libcurl/7.88.1-DEV Schannel zlib/1.2.13

Platform: Windows 10 (build 19045), 64-bit edition, 64 bit, Little endian, wxMSW

Build Info:
	Date: Apr 15 2023 19:18:27
	wxWidgets: 3.2.2 (wchar_t,wx containers)
	Boost: 1.81.0
	OCC: 7.6.3
	Curl: 7.88.1-DEV
	ngspice: 40
	Compiler: Visual C++ 1934 without C++ ABI

Build settings:
	KICAD_SPICE=ON
1 Like

I just noticed this too. I had designed a PCB in 7.0.1 with a 0.1mm solder mask expansion around a NPTH. I then designed a board in 7.0.2 with the same footprint, but the solder mask expansion was gone!

After some investigation I realised it’s a difference in behaviour between the two versions. Here’s the same Pad Properties dialog in each:

  • 7.0.1

  • 7.0.2

Notice how the mask is visible around the pad in the first but not in the second.

It wouldn’t bother me so much, but perhaps contrary to the OP’s report, for me this difference extends right through to gerbers. That’s actually where I first picked it up - I re-generated gerbers for the original project in 7.0.2, and the Mask layers changed even though the source files have not changed.

Perhaps it could be justified that the new behaviour is “correct” (after all, when the pad size is the same as the hole size, KiCad elects to delete the copper layers, so maybe there is no copper to expand from?) but I don’t think gerbers changing between a 0.0.1 release is correct! Certainly it is unexpected since the mask layer remains but the expansion setting is silently ignored.

2 Likes

In case it wasn’t clear, here’s where I’ve set the expansion:

And another clarification: if “Copper layers” is set to none, then a warning appears on the clearance overrides tab:

Note: solder mask and paste values are used only for pads on copper layers.

And now the behaviour is like that in 7.0.2: mask size is determined by pad size and the expansion setting is ignored.

It’s as if by setting the pad size to the hole size, this “ignore if no copper” behaviour is inadvertently triggered.

1 Like
1 Like

In the 7.99 Nightly (master branch) it seems to work.
I have some strange key-hole effect going on in the NPTH-hole, though (default KiCad footprint, 2,1mm mounting hole, the first one that comes up in the library “Mountint Hole”).

Application: KiCad 3D Viewer x86_64 on x86_64

Version: 7.99.0-1.20230522git0098648.fc37, release build

Libraries:
wxWidgets 3.2.1
FreeType 2.12.1
HarfBuzz 5.2.0
FontConfig 2.14.1
libcurl/7.85.0 OpenSSL/3.0.8 zlib/1.2.12 brotli/1.0.9 libidn2/2.3.4 libpsl/0.21.1 (+libidn2/2.3.3) libssh/0.10.4/openssl/zlib nghttp2/1.51.0

Platform: Fedora release 37 (Thirty Seven), 64 bit, Little endian, wxGTK, KDE, wayland

Build Info:
Date: May 22 2023 17:16:33
wxWidgets: 3.2.1 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.78.0
OCC: 7.6.3
Curl: 7.85.0
ngspice: 40
Compiler: GCC 12.3.1 with C++ ABI 1017

Build settings:

2 Likes

And similarly seems to work in 7.0.4:

image

Application: KiCad x86_64 on x86_64

Version: 7.0.4-1.fc37, release build

Libraries:
wxWidgets 3.2.1
FreeType 2.12.1
HarfBuzz 5.2.0
FontConfig 2.14.1
libcurl/7.85.0 OpenSSL/3.0.8 zlib/1.2.12 brotli/1.0.9 libidn2/2.3.4 libpsl/0.21.1 (+libidn2/2.3.3) libssh/0.10.4/openssl/zlib nghttp2/1.51.0

Platform: Fedora release 37 (Thirty Seven), 64 bit, Little endian, wxGTK, KDE, wayland

Build Info:
Date: May 22 2023 00:00:00
wxWidgets: 3.2.1 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.78.0
OCC: 7.6.3
Curl: 7.85.0
ngspice: 40
Compiler: GCC 12.3.1 with C++ ABI 1017

Build settings:
KICAD_SPICE=ON

2 Likes

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