[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Refresh all polygons

On May 10 2011, DJ Delorie wrote:

Make sure you have my patch to src/insert.c that calls
ClearFromPolygon() and RestoreToPolygon().

Failing that, Peter says calling InitClip() for every polygon will
recompute them, but at the moment, there's no way to do that from the
GUI.  In theory, you should never have to.  If you can come up with a
small self-contained test case, file a bug so we can fix it.

In addition to the patch DJ mentioned, the one I think you're more likely to be hitting (depending on what version of PCB you have), is the one fixed by this:

commit 79417191949173c16579554dc8f8d5b9cbb22b3a
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Date:   Fri Apr 22 18:38:20 2011 +0100

Fix geometry errors caused by commit 2d8dc8a3a3a55158b4e6278dd9f40588e4111c2d This fixes up problems from the following commit: [PATCH] fix bug 2793480 (vias/arcs-to-polygon clearances) frac_circle(): introduce radius_adjustment factor to make
       the polygon outline the arc rather than connet points on the arc
ArcPolyNoIntersect(): compute number of segments so that
       polygon diverges from the arc no more than 0.02 of
       required thickness; adjust outer "arc" radius like in frac_circle()
The object bounding boxes for arcs, vias, lines and rounded pads which
   determine the maximum area affected by that object were no longer
correct, leading to artaefacts when doing incremental polygon processing. It also lead to missing fragments in (the non-curved + and x type
   thermals). These are also fixed up by this patch.

Could you elaborate as to what PCB version (git SHA1 if you built from git), and what symptoms you're seeing (perhaps with a screen-shot of the problem).

It is far more important to us that polygons "Just work", rather than adding kludges in to let the user force recalculating them.

This said, I know where are some very rare cases with degenerate or complex curved geometry where PCB's polygon routines do get very confused, and will need to be forced to recalculate. (If necessary, I use the file save, file revert method as Kai-Martin suggested).

Best regards,

Peter Clifton

geda-user mailing list