kicad-developers team mailing list archive
Mailing list archive
Re: Reason for non-stroked zones?
The new algorithm produced very sharp points where the min-width setting resulted in drop-outs. These would be prone to peeling. So I changed Clipper’s MiterLimit to nicely chop them off (giving square ends, but with angles above 90º). I then modified Clipper to round them off so they looked like the old algorithm — but of course that will increase the number of vertices.
The two changes are orthogonal, though, so the second one isn’t required. But do we want a preference for it? (That preference could replace the preference for choosing the legacy algorithm since the new one with rounded corners mimics it pretty well.)
PS: my boards are very simple, but beauty is important to me. But as long as max_error and friends are adjustable, I don’t care what the defaults are.
> On 15 Jul 2019, at 08:29, jp charras <jp.charras@xxxxxxxxxx> wrote:
> Le 14/07/2019 à 22:14, Jeff Young a écrit :
>> Hi JP,
>> Why were the non-stroked zones implemented? Is it entirely for performance?
>> Is the plan to make them default in 6.0?
> It is mainly to fix an issue for very large boards: stroked filled
> polygons generate a lot of rounded segments and on OpenGL these segments
> are costly in time and memory resource.
> So these polygons are sometimes not drawable (very long time to draw,
> glitches and crashes)
> Non stroked polygons have a bit more vertices, but no segments to draw.
> An other advantage of non stroked polygons is the fact the zone shape is
> exactly the polygons shape, and this is useful when exporting a copper
> layer to an external tool (for simulation for instance).
> Do not forget:
> the number of vertices created by filling algo must be minimal:
> Reducing the number of vertices is *much more important* than creating
> beautiful shapes.
> This is a reason I am thinking the "max_error" default value should be
> 0.01mm instead of 0.005mm
> We could make non-stroked algo the default in 6.0 when we be reasonably
> sure it works fine.
> For now, I am thinking this option could be available without set its
> availability in advanced config.
> Jean-Pierre CHARRAS
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp