Working with zones with KiCad 6?

Hi everyone,

Here is my problem, I have an old project create under KiCad 5.1, in this one I used copper zones :

Screenshot from 2022-04-28 07-07-55

Only since the transition to version 6, when I fill the area, I do not get the same result :

Screenshot from 2022-04-28 07-09-25

However, they have the same properties … Unfortunately the documentation on the areas is not filled to this day :

How to explain this ?

Anyone have an idea ? Thanks

My best guess is that you are using a combination of zones, overlapped with tracks, and “something” happened to those copper tracks. The interactive router can be quite aggressive sometimes with moving tracks, or removing them if it sees that a pad is still connected in some other way (This is generally a good thing, as it does automatic cleanup when you’re drawing tracks along another route).

Now, your BCP is a sea of dark red. There are a few things you can do to get more insight into what that red actually is. Some of the tools are:

  • Toolbar on the right, make either zones, tracks or pads transparent.
  • Sliders in the Appearance manager (Objects tab) on the Right, You can set opacity for Tracks, Pads & Zones.
  • Click on items and eximane their properties with e* for Edit.

Can you post your exact KiCad version? Help->About->Copy version

Yes indeed there is zone combination, in fact I use a copper zone to connect the TerminalBlock to LEDs, which itself have a thermal dissipation surface, It’s for this the red zone, this is not a problem.

The problem is not the interior red zone but rather the geometry of the connection zones, they do not act at all in the same way and however have the same properties …

I noticed that there was an addition in preferences :

Screenshot from 2022-04-28 09-04-36

However, it doesn’t work better (it’s even worse).

I use Debian Stable (with backport) and KiCad 6.0.4+dfsg-1~bpo11+1, release build.

Probably Kicad broke up the compatibility of certain features (with the implementation of the new operation) ?

KiCad’s zone filling algorithm has been improved to give better results and faster performance. The new algorithm produces slightly different results from the old algorithm, so this setting allows the old behavior to be preserved to prevent producing different Gerber outputs when opening an old design in the latest version of KiCad. We recommend using the Smoothed Polygons mode for all new designs.

It is impossible to get the same design from Kicad 5 to 6 with copper zone …

The “Create Corner” functionality does not work to extend the copper zone (in solid) to connection to the PAD of LED (In red below) :

Under KiCad 5 creating corner displayed this :

I do not understand the operation of the new algorithm called more efficient, for my project it does not work …

I am seriously thinking of deleting KiCad 6 and reinstalling version 5 which works perfectly …

Can you attach an example project which shows these problems? It’s pretty much impossible to say anything from screenshots because zone filling algorithm is complicated in any case and there may be quite many things involved.

Sorry I can’t share the project, this is a professional project …

Simply try to create a copper zone between two solid LED SMD components by specifying this :

Screenshot from 2022-04-29 00-00-23

The PADs of the LED are not covered, they are however defined as solid, and even by “creating corner” (As seen in the previous screenshot) this does not work.

The only way to cover them again, and modify the “Corner smoothing” property to none, But I need a corner for the rest of the circuit.

I had no problem with this project and the zones on Kicad 5 so I don’t think I am cheating…

Application: KiCad PCB Editor

Version: 6.0.4+dfsg-1~bpo11+1, release build

Libraries:
wxWidgets 3.0.5
libcurl/7.74.0 OpenSSL/1.1.1n zlib/1.2.11 brotli/1.0.9 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) libssh2/1.9.0 nghttp2/1.43.0 librtmp/2.3

Platform: Linux 5.10.0-13-amd64 x86_64, 64 bit, Little endian, wxGTK, gnome-xorg, x11

Build Info:
Date: Mar 29 2022 16:51:55
wxWidgets: 3.0.5 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
Boost: 1.74.0
OCC: 7.5.1
Curl: 7.74.0
ngspice: 34
Compiler: GCC 10.2.1 with C++ ABI 1014

Build settings:
KICAD_USE_OCC=ON
KICAD_SPICE=ON

It would be enough to have the problematic parts, everything else deleted, and there’s no need for the schematic at all. The DRC custom rules files would of course be needed, if you use custom rules.

Here is only the problematic part of PCB Editor :

test_copper_zone.zip (10.2 KB)

The problem, with the same properties :

KiCad 5 :

KiCad 6 :

I also noticed that when I delete the outline of the card (edge.cut) the copper zone is linked to the PAD of the LED and no longer poses a problem.

However for the rest, the geometry are clearly different …

It’s weird :thinking:

The difference on Pad2 of D1 is caused by the problematic setting
zone-properties–>smoothing–>chamfer–>4mm.

For me it looks more that the old v5-version didn’t respect the chamfer-setting at this pad and the new version seems to fill correctly.

Also to get the zone-fill at the outer-edge of the zone you have to set the setting:
board-setup–>Design rules–>Constraint–>zone fill startegy–>allow fillets outside of zone outline

For geometry outside the area I found the problem …

You have to check this in preferences :

Screenshot from 2022-04-29 01-35-24

And everything is perfectly displayed (in green line) :

Screenshot from 2022-04-29 01-33-34

Only the connection PAD to the component (In red line in the previous screenshot) always poses me problem …

Why when I delete the card contour (Edge.Cuts), it works ?

To me it looks like the error is on the other side of the keyboard.

Simpler is always always better, unless you try to make it too simple.

So why did you use straight angles in the zones and then rely on some chamfer function?

To me the intent of the zone fillet and chamfer function is mostly to pretty it up a bit, but not to widen copper in critical sections to reduce resistance and increase current handling capabilities.

In the screenshot below, I removed the chamfer and instead cliced on the zone boundary and used the Add Corner function a few times. (And that works as expected), and then dragged the corners around a bit.

Both the goal and result is that you just draw the actual outline you want without relying on any fancy algorithm.

I am aware of the “Allow fillets outside zone outline”, but it’s my opinion it’s bad to rely on such things for critical things (read the above again). And in your case, the chamfer on the zone also creates the corners on the pads in the lower left corner.

In the end, you’re trying to make a stack of wobbly things, and then wonder why it does not stay upright.

3 Likes

As far as I can see, you get exactly what you ask for: chamfers. Notice how the other pad connection is chamfered, too. If it works differently in v5, I would say it was a bug in v5.

image

But the effect of Edge.Cuts is fascinating. Maybe KiCad handles zones outside the board edges differently, maybe this is a bug. In any case it doesn’t matter because zones are meant to be only inside board edges.

I used this method because I find it easier and faster to set up …

For example, simply modify the value of the chamfer and the copper zone is updated automatically without having to manually place each corner …

In addition it guarantees perfectly parallel lines, while manually it is much more difficult to achieve it …

I may have a precision knock but I always try to get straight lines and at 45° and which are also symmetrical …

All this manually even by checking the “Constrain outline to H,V and 45 degrees” option, It’s much more work, and the slightest modifications, ditto …

Yes I reassure you the behavior was identical under Kicad 5.1, the only difference is that if we create a corner of each side of the pad, we can get the padded pad while keeping the chamfrein option … Which is not the case under Kicad 6 …

This is a good question, because it would work perfectly, it is the only problem I encounter …

I am working the copper zones as proposed by @paulvdh I will keep you posted on evolution !

I think this is the real problem with KiCad, but I agree with Paul: using chamfers isn’t meant for that and can’t be expected to work well when used as a workaround for something else.

See "Constrain outline to H, V and 45 degrees" not enforced by point editor (#1805) · Issues · KiCad / KiCad Source Code / kicad · GitLab.

Yes honestly I did not know that the areas should not be used for that, It’s a shame because it works perfectly and the design is really good !

I have already made several project pcb with different manufacturer, no problem …

To obtain the same result “by drawing” manually is not at all the same thing (It requires a lot of work to obtain the same precision).

OK, my personal tolerance border was crossed, so I deleted some offtopic posts which went in the wrong way. I don’t understand why the discussion took that turn. Everybody is free to misuse features if they wish, as long as they understand the consequences and take the responsibility. Please move on.

6 Likes

I reworked my circuit by creating copper zones like specifying by @paulvdh (draw the desired geometry simply, no chamfer) Everything works perfectly !

No problem therefore with the new version of KiCad, thank you the community !

3 Likes

2 posts were split to a new topic: Zones and thermal pads for an SMD LED

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