What does setting "Prefer zone connection" do?

In the Board setup → Teardrops as well as in Pad properties dialogue, there is an option called “Prefer zone connection”.
What does this do, exactly? What is the behaviour when it is not checked, and what when it is?

It does not seem to have a tooltip that would explain it further, and it does not seem immediately obvious from the context.

Thank you in advance!

This dialog seems to be new in KiCad-Nightly V7.99. I did not see it in V7.0.10

Apparently it has something to do with how teardrops are handled inside zones. I looked into the menu’s but I could not even find how to add teardrops in KiCad-Nightly V7.0.10. Apparently this function has moved, and the word “teardrop” is also not mentioned in the manual of the PCB editor.

Looking at the source code, that setting causes teardrops to be skipped if both the pad and the track are inside a zone of the same net.

4 Likes

It’s a little hard for me to visualize the situation you describe. If you by any chance have time to make an example screenshot of the two options in this situation, it might help. Or comment/correct on my thoughts below.

Do I understand correctly, that the zone, the track connected to the zone and the pad are all of the same net?

If I uncheck the option “prefer zone connections”, will the zone then not connect to the pad, but keep clearance to the pad and its connected track, and only connect at the end of the track…? And make a normal teardrop in the connection between track and pad?

And if I check “prefer zone connections”, the zone will connect directly to the pad even if the track is present?

I’m not sure that I understand it correctly, though…

I’d probably need to set up an example and experiment, in case I manage to figure it out…

After a bit of fiddling I finally found: PCB Editor / Edit / Edit Teardrops. I am still not certain of how the “Prefer zone connection” works, but my guess it only has an effect when a pad is connected to a zone (and thus inside the zone boundaries), and there is also a track connected to the same pad.

Here, only one pad is inside the zone (and connected with thermal reliefs) while the other has a teardrop.

When making the zone a bit bigger (and a B for Zone re-generation,( I don’t like doing this automatically)) KiCad removes the teardrop and adds thermal spokes instead.

If you turn off all the Prefer connection check boxes (Both in the Board Setup and in PCB Editor / Edit / Edit Teardrops Then KiCad draws both teardrops and thermal spokes.

But I don’t understand the setting completely. Maybe it’s buggy too. You asked for a test project, so here it is:
2024-01-11_asdf_resistor.7z (7.6 KB)

P.s: Ar .7z files ok for general distribution? They compress a bit better then the .zip files. (for comparison I added both. They have the same data).

2024-01-11_asdf_resistor.zip (9.2 KB)

4 Likes

So I finally had time to look at it with help from the answers I got here, and try it out.

When a pad is connected to both a track and a zone:

If “prefer zone connections” is checked, no teardrop is generated on the track where it connects to the pad.

If “prefer zone connections” is unchecked in the preferences panel at the left (setting specific for the pad), at first a partial teardrop, clipped by the zone boundaries, is generated, as can be seen in the following screenshot:

A repour of the zones - hotkey: ‘B’ - will complete the teardrop.

Checking the “prefer zone connections” box will again remove the teardrop.

Thanks for the answers, they were helpful!

(A side note:
The preferences panel on the left does not change language with the menu “Preferences” → “Set Language”.
Gitlab issue here:

)

This nightly build was used for the testing:

Application: KiCad PCB Editor x86_64 on x86_64

Version: 7.99.0-1.20240111git382fe3d.fc39, release build

Libraries:
wxWidgets 3.2.4
FreeType 2.13.1
HarfBuzz 8.2.1
FontConfig 2.14.2
libcurl/8.2.1 OpenSSL/3.1.1 zlib/1.2.13 brotli/1.1.0 libidn2/2.3.4 libpsl/0.21.2 (+libidn2/2.3.4) libssh/0.10.6/openssl/zlib nghttp2/1.55.1 OpenLDAP/2.6.6

Platform: Fedora Linux 39 (KDE Plasma), 64 bit, Little endian, wxGTK, X11, KDE, wayland

Build Info:
Date: Jan 11 2024 18:13:59
wxWidgets: 3.2.4 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.81.0
OCC: 7.6.3
Curl: 8.2.1
ngspice: 42
Compiler: GCC 13.2.1 with C++ ABI 1018

Build settings:

I would prefer to have a tooltip something like the following:

“Do not create teardrops on tracks connected to pads that are also connected to a copper zone.”

As I am not a native english speaker, please give feedback if the above sentence can be improved, either grammatically or for better clarity / to make it easier to understand.

I have made a feature request or bug report of the missing tooltip in gitlab. I will try to look for the feedback here and update accordingly.

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