Re: gEDA-user: Weird DRC error
Hello DJ, Sorry, almost but not quite. If I apply the patch the DRC error in the original file disappears, but if I move the small polygon to the larger one keeping 6 mill distance no DRC error reappears. (DRC distance is set to 10 mill). If I make the distance between the two 5 mill then I get a DRC warning. I have looked in the source code and in my opinion the following code adjustment is also needed (in addition to your patch below): In the function IsLineInPolygon() -- if (!(lp = LinePoly (Line, Line-Thickness + Bloat ))) ++ if (!(lp = LinePoly (Line, Line-Thickness + (2 * Bloat) ))) Sorry for the clumsy way of showing this. The 2 * is needed because in LinePoly it will be divided by two. If I do this then it almost works ;-) If I move the two polygons 10.01 mill apart no DRC error appears and if I move the two polygons 10.00 mill apart a DRC error does appear (?). Looking at the log window I see Rules are minspace 10.01 But I have set it to 10.00 mill. Where does the 0.01 mill come from? I will keep looking at it but if I'm barking up the wrong tree please let me know. Regards, Robert On Sun, 2010-06-20 at 00:19 -0400, DJ Delorie wrote: Try this... diff --git a/src/find.c b/src/find.c index 6fb62b6..30a0bc5 100644 --- a/src/find.c +++ b/src/find.c @@ -2747,7 +2747,8 @@ IsPolygonInPolygon (PolygonTypePtr P1, PolygonTypePtr P2) line.Point1.X = v-point[0]; line.Point1.Y = v-point[1]; - line.Thickness = 2 * Bloat; + /* Bloat is added by IsLineInPolygon, don't add it here too. */ + line.Thickness = 0; line.Clearance = 0; line.Flags = NoFlags (); for (v = v-next; v != c-head; v = v-next) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
gEDA-user: Weird DRC error
Ladies and Gentlemen, I need some assistance with a DRC error. The file attached produces a DRC error (Copper areas too close). However if I disconnect the large polygon from D203 (hover over the polygon and press s) the DRC error disappears. But the weird thing is that if I do not disconnect the polygon from D203 but instead I make the large point in the polygon smaller/lower the DRC error also disappears. If I disconnect the polygon from D203 (no DRC error) and I connect the two by adding a track/line over the pad the DRC error reappears. The minimum copper spacing is set to 10.0 mill and the distance between the two polygons is 15 mill. I'm lost ;-( I think I'm missing something but I don't know what. Any help is appreciated. Thanks, Robert. Additional information: version 20091103 Compiled on May 3 2010 at 10:18:24 - Compile Time Options - GUI: gtk : Gtk - The Gimp Toolkit Exporters: ps : Postscript export. eps : Encapsulated Postscript gerber : RS-274X (Gerber) export. nelma : Numerical analysis package export. bom : Exports a Bill of Materials png : GIF/JPEG/PNG export. Printers: lpr : Postscript print. DRC_test.pcb Description: Binary data ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Weird DRC error
my...@iae.nl writes: The minimum copper spacing is set to 10.0 mill and the distance between the two polygons is 15 mill. I usually get a lot of DRC violations on planes with multiple polygons, although the polygon spacing is comfortably more than the DRC clearance setting. Moving the polygon edges further apart usually solves the problem, and until now I had no compelling reason to fight it. Those polygons are usullay quite complex and by no means convex. Just another data point ... pcb --version PCB version 20091103 -- Stephan ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Weird DRC error
On Sat, 2010-06-19 at 18:41 +0200, my...@iae.nl wrote: Ladies and Gentlemen, I need some assistance with a DRC error. Yes -- whenever the cathode pad of your diode element touches the large polygon then we get that error messages. Seems to be not a complicated error resulting from complicated polygon shape, but a simple, maybe intended one. Your board seems to have no netlist loaded -- I always use netlist from gsch2pcb, so I can not tell you if that behaviour is really intended. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Weird DRC error
On Sat, 2010-06-19 at 18:41 +0200, my...@iae.nl wrote: Ladies and Gentlemen, I need some assistance with a DRC error. Sorry, it seems to be indeed more complicated. I have tested with a fresh board, without netlist, a polygon and a 0805 element. All fine, pads are allowed to touch the polygon. And for your board, if I move the small polygon away that error disappears. Seems to be a case for the experts... ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Weird DRC error
Try this... diff --git a/src/find.c b/src/find.c index 6fb62b6..30a0bc5 100644 --- a/src/find.c +++ b/src/find.c @@ -2747,7 +2747,8 @@ IsPolygonInPolygon (PolygonTypePtr P1, PolygonTypePtr P2) line.Point1.X = v-point[0]; line.Point1.Y = v-point[1]; - line.Thickness = 2 * Bloat; + /* Bloat is added by IsLineInPolygon, don't add it here too. */ + line.Thickness = 0; line.Clearance = 0; line.Flags = NoFlags (); for (v = v-next; v != c-head; v = v-next) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user