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

Re: gEDA-user: pcjc2 tessellation

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.


Attachment: signature.asc
Description: PGP signature

geda-user mailing list