Filled zone's don't work on latest version

I am running Kicad Version: (5.99.0-7213-g290e73a75), release build on a MacBook Air M1 using Rosetta2.

It works fine apart from Filled zones. I have a two layer board and I try to put a GND plane oh the top layer. Normally it should work around tracks on that layer, but it doesn’t … just puts a plane over the whole board. This is with the default settings.

Anyone know what’s up, this has always worked in the past just fine.

A GND zone works fine here with a bit newer version. Can you attach an example board file?

I noticed the same thing with a nightly from two weeks ago.
I am not completely sure what I did to solve the issue, but I did. Probably I selected the (faulty) zone, opened the context menu (right click), selected zones and selected add a zone cutout.
Not sure though. I wish I remembered better.
If you find how that works, please let us know.

There is a setting added to V5.99 in:
Pcbnew / File / Board Setup / Design Rules / Constraints / Zone fill

You can choose between:

  • Mimic legacy behavior
  • Smoothed polygons (best performance)

The differences between those two would be guesswork for me, but maybe it helps.

If it is a real bug, then much more information would be appreciated. Uploading an example board with the error would be a good start, together with full version info (copied from " … / Help / About KiCad / Copy Version Info

Ahhh, it seems the default behaviour has changed. You have to draw the filled zone THEN you have to press “b” and only then does the zone work it’s way around existing tracks on that layer.

I was used to the old behaviour of creating the zone and it just did it (did not have to press “b”)

1 Like

I can confirm that if you draw a new zone in KiCad V5.99 it does not initially calculate internal boundaries, and you have to press the b key to calculate them.

To me it looks like a bug, but there may be a small chance the behavior is intentional.

1 Like

In some large designs with lots of zones recalculation takes a long time and a user may want to control when it’s done.

Could it be worth making this configurable per project?

As far as I can see it an oddly labeled option… especially considering PCB’s are made up of circles :wink:

“Smoothed poly”

mimic legacy

“b” (redraw) pressed between each change

This is the GERBER view from the archived fab pack

This was from a old design (1st kicad I pushed to fabrication - simple cct but used to test kicad and fab).legacy is smooth and that was in the GERBERS. new “smooth poly” isn’t really smooth

it may be that somebody mixed the function call and the texts are exchanged :slight_smile:

As per @paulvdh I agree it seems to be a bug. I don’t think it should be a configurable option. It should just draw the zone without having to press b

Pressing B to re-calculate internal zone geometry is very common in KiCad, and it would be the first thing to do for me when I see anything unusual on a zone. After a while it becomes automatic.

I have no idea when zone filling becomes an performance issue and assume the change was made for some valid reason. I will not make a bug report for this.

Actually legacy was higher quality, lower performance; and new Smoothed polygons is higher performance but lower quality (segment approximation)

Exactly. I think the label needs to be change because right now “mimic legacy behaviour” comes across as being old, not idea… Likewise “smoothed poly” implies it is smooth and rounded…

Both labels are incorrect. Your suggestion is closer to reality

Smoothed Polygons [X] (slower, smoother, legacy default)
Segmented Approximation [ ] (faster, courser)

As someone that deals with high-voltage I HATE corners and thus seeing an option for smoothed implies something

I want to apolize for ignoring this smoothnes issue.
I can’t be bothered much by sub mm rendering issues, that probably won’t even be reflected in the Gerber output. (I have not checked).

It’s reflected in gerber. Polygons (also fillings) don’t have real curves.

“Sub mm” is quite large and meaningful. However, under some sub-mm threshold it becomes meaningless because it can’t be seen even with a microscope in the physical board. It becomes an issue again when the board copper will be cut with water molecules or something like that instead of etching.

But “maximum deviation” is there if someone wants to micromanage. And remember that even the legacy rounded polygon corners aren’t really round! Just check out how they are formed in the gerbers.

Clarification: 5 micrometer is good enough for my “sub mm” requirements.

But it does remind me of another issue:
When calculating clearances for DRC, Jeff Young put in a hard coded tolerance of 1nm on 2020-05-22 in the (closed) issue linked below.

I refuse to guestimate how these tolerances fit together and whether this could result in DRC violations.

I noticed the same bug, by pressing B it reformed the zones, on version 5.1 and earlier it didn’t do that.



Pressing “B” :