← Back to team overview

kicad-developers team mailing list archive

Re: 6.0 Zone filling differences


Le 21/06/2019 à 00:49, Jeff Young a écrit :
> On the master branch in my repo
> (https://git.launchpad.net/~jeyjey/kicad/tree/) I have pushed the new
> zone algorithm, new solder mask shape generation, and new pad painting
> (which now is the same as the plot code).
> These changes address:
> https://bugs.launchpad.net/kicad/+bug/602176 ;(Anti-pad area should not
> exclude spokes)
> https://bugs.launchpad.net/kicad/+bug/1563744 ;(Zone vs. Soldermask
> clearance collisions at corners)
> https://bugs.launchpad.net/kicad/+bug/1782957 ;(Pcbnew: Zone clearance
> inconsistency on rounded rectangle pads)
> If folks could test it out on some of their boards that would be great.
> Cheers,
> Jeff.

Hi Jeff,
I made a few tests.

I found some issues:

1 - The major issue (this is a blocking issue): the calculation time
explodes with most of my test boards:
For instance:
On my computer the demo "Video" refill all zones takes 1 to 2 seconds
but the new algo takes 1 minute.
the demo "kit-dev-coldfire-xilinx_5213" behavior is more strange:
It takes less than 1 sec and 2 sec with the new algo.
However if I add a GND zone on the top side, on all the board, the
refill hangs (or at least takes more than 2 minutes: I closed Pcbnew
before finishing the refill).

2 - In many cases the thermal stubs do not contain pad centers, an these
pads are therefore not seen as connected to the zone.

3 - About missing chamfers:
It is not critical for rectangular pads, but this is more annoying for
round and oblong pads: chamfers avoid annoying acute angles.

Bug report 1782957 can be fixed without changing the fill algo, but does
not create issues: this is what I am calling a cosmetic issue.

Bug #602176 is not easy to fix in every case, and the fix depend on the
antipad area definition.

Bug #1782957 fix is more annoying:
How to define the registration error:
- If the error is a X or Y error, the current way is right.
- If the error is a vector error (like Rene says), the current way can
be modified.
Unfortunately, info found on board house sites is unclear about the way
the max error is defined.
So *be careful* before modifying that.
Just a bug report is not enough for me to take a good decision.

Jean-Pierre CHARRAS