On Mon, 30 May 2011 10:49:54 +0100 Peter Clifton <pcjc2@xxxxxxxxx> wrote: > On Mon, 2011-05-30 at 09:37 +0200, Gabriel Paubert wrote: > > > > > Think i know now. Polygons can't have edges that cross other > > > > edges. > > > > > > You got it.. PCB doesn't allow self intersecting polygons, so I > > > removed support for rendering them in an attempt to manage the > > > complexity (and hopefully improve speed of) the tessellator. > > > > So, what happens if one directly tinkers with the PCB file with > > an editor or script and creates a self interscting polygon > > by mistake? > > "Bad things" (TM). > > Certainly the polygon computations will give bogus results, because > one of the key underlying assumptions of the polygon algebra routines > is violated. > > If PCB is built with asserts enabled, it will just quit immediately > when loading your file. > > > It's not so far fetched, I sometimes edit coordinates in the > > file to match mechanical design. I can make a mistake or, > > if it is a script (which also happens), it can have a bug. > > Its not ideal, but PCB doesn't report these problems unless asserts > are enabled (which makes PCB slow). We should probably add a > validation pass when loading the board and refuse to display any > damaged polygon. > > That should at least help to pick any problems up with hand (or > script) edited boards sooner rather than later. I have had problems loading layouts that contain graphics imported using pstoedit with its 'pcbfill' output driver (the other 'pcb' output driver does not accurately convert reproduce graphics since it does outlines only). In fact, I have several pcb layouts that I can't open with a debug-build since it immediately triggers an assertion failure. Regards, Colin
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ geda-user mailing list geda-user@xxxxxxxxxxxxxx http://www.seul.org/cgi-bin/mailman/listinfo/geda-user