Improve filling area (smoother border)

Hi kicad user,
i didn’t found how to improve the filling area border. Like in the screen shot. I would like more segment in the border to smooth the area border.
Is there an option for this in pcbnew ?

Hi lidiriel,

The display of a shape, when zoomed in, is purely representative. It is not indicative of the actual “smoothness” or dimensions of the said shape.

As for changing the appearance, it is not possible by just using the settings in KiCad software. you need to get into the coding aspect of the software to change it.

Actually it is indicative, because KiCad fills zones so that it makes their edges polygonal (in strict sense, with corners and without arcs). This can be seen in gerbers which are of course authoritative for the final product. @lidiriel, please do the check from the gerbers.

On the other hand we have to ask how much this matters. The manufacturing processes aren’t exact, you usually won’t see the difference in the board with the bare eye or with a microscope. But on the other-other hand the difference in the screenshot looks pretty large, although we don’t have the scale.

I have check with the gerber viewer but is not smooth… See the screenshot.

@eelik @Amit_Bahl is it normal ?

The difference looks pretty large indeed, even 0.1mm which is too much.

Can you share the design, even stripped out of nonrelated things so that I could try this exactly as you have it?

@eelik you can try to open the file. I upload two mod for this.

anode.kicad_pcb (161.6 KB) SAMTEC-FSI-105-06-L-D-board.kicad_mod (1.0 KB) disk_70mm.kicad_mod (463 Bytes)

EDIT: what I say isn’t correct, see my second EDIT below.

OK, I can see the problem is real. KiCad v5.1 fills it that way. The max distance between the zone fill edge and the pad clearance line is even 0.2mm. I think it’s because of the large radius of the circle. Somehow the margin is relative to the radius. Maybe normally there are no features with that large radius in KiCad designs so nobody has seen this as a problem.

Version 5.99 (the unstable development version leading to v6) works differently, there the margin is about 0.01mm throughout which shouldn’t be a problem.

EDIT: changing the zone’s clearance affects this. The zone clearance creates the 0.2mm distance. Play with the clearance (and maybe min. width) in the zone properties and see if it helps.

Maximum deviation for arc approximation is configurable in nightly

At first I thought that the deviation value wouldn’t matter here, but after changing the zone clearance it started to have visible effect. (See my edits in the post above; that’s why I didn’t mention it.)

I’ve been experimenting a bit for a workaround.

First thing I tried was to draw an arc on a graphical layer and then move it to F.Cu. It looks good in Pcbnew, but in the Gerber files it’s converted to line segments and it looks worse, so that don’t work.

A method that does work is:

  1. Draw a small vertical track on the right side, and put it in the “GUARD” net. These parameters should get you close:

  2. Right click on the line segment, then: “Create Array / Circular Array” and make sure you draw enough segments and that you rotate them. In the final array the end points do not have to match, just overlap. Here I did 400 segments:

  3. Delete some of the segments around the “HT” net to remove the short.

  4. All the segments of the arc had turned to the “HT” net because the overlapping segments overlapped the tracks of the HT net. After making the gap in 3). select two arc segment just north of the gap, press e to edit it and set it manually to the “GUARD” net again.

  5. Now you can lay a track from one of the “GUARD” pads to the copper segments you moved to the GUARD net.

  6. Because those arc segments are now connected to a pad of the GUARD net, KiCad knows again to what net they belong, and all the segments of the array are now part of the GUARD net.

I find it a bit of an ugly workaround, but it does work. Because you already drew straight segments, they do not get converted, and each of them shows up as is in the Gerber files. When you do this you must also make sure that you edit the zone properties and set it’s clearance to a value bigger then the clearance of the tracks, or else the polygon of the zone may be closer to the 70mm pad in the center and all is for naught.

Another unrelated issue:
I noticed that in the 10 prongs, you used both NTPH pads and circles on Edge.Cuts. Here I moved a pad to make the circle visible:

DRC in KiCad does not like this much and complains about Board outline does not form a closed polygon

Oops, euhm… No, that is not it entirely.
On closer inspection it shows you have placed 4 complete board outlines on top of each other. In the screenshot below I moved a few:

So that’s two things you should also fix:

  1. Do not both use NPTH holes and circles on Edge.Cuts.
  2. Only use a single PCB outline.

Thanks all,
i use the method @paulvdh to improve my design. I remove multiple PCB outline. (I using a freecad dxf import, and there was a mistake in my freecad dxf export).

Kicad is very a great software.


You need only concern yourself with arc corners if it is a controlled impedance trace. That is when you can use the workaround mentioned.

Please check the workaround in 5.99 nightly build (where you can adjust the Maximum deviation for arcs and curves)

When there is a big corner/dent then you can use ground vias along the edge of the line/arc.