Re: gEDA-user: Weird DRC error

2010-06-20 Thread myken
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

2010-06-19 Thread myken
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

2010-06-19 Thread Stephan Boettcher

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

2010-06-19 Thread Stefan Salewski
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

2010-06-19 Thread Stefan Salewski
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

2010-06-19 Thread DJ Delorie

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