← Back to team overview

kicad-developers team mailing list archive

Improving Zone Fill Algorithm


I have been doing some research into the Zone Fill topic, as the
current algorithm leaves lots of little jagged pieces around thermal
vias, around pads and on angles. There is a more detailed discussion
on the user board. The thread starts on post #31 -

I have uploaded 2 files showing an example of an algorithm that would
result in smooth angles and (especially) smooth reliefs around the
thermal vias. The first image is the filled result (with an angle,
regular via and thermal via), and the second shows the D-Code strokes
that create the fill. In this algorithm, I think that the outline
strokes are drawn first (notice the small segments approximating the
radius of arcs and circles), then the fill is accomplished with
horizontal strokes only.

The small jagged lines that remain in the current implementation can
not only cause problems at high frequencies, but also on lower
frequencies with fast rise times. Also, these remnants could
potentially also cause problems with hi-pot testing (any sharp corners
and create areas of very high E-Field).

This issue is the only one so far that is keeping me away from moving
to this toolset 100%. Great job so far, everyone involved in the
development should feel very proud to have produced such a solid tool.

Best Regards,

Follow ups