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

Re: gEDA-user: PCB Bug: poly clearance around rotated pads.



Is this the same issue that I was trying to fix with this patch?
http://archives.seul.org/geda/dev/May-2008/msg00085.html

Robert


On Thu, Sep 04, 2008 at 12:33:21PM +0400, Ineiev wrote:
> Hello, Dave;
> On 9/2/08, Dave N6NZ <n6nz@xxxxxxxx> wrote:
> > Clearance on rounded pads is much prettier, isn't it?  I should probably
> >  switch my library over.  The reason I'm using square pads is because of
> >  the lame path I am using to turn postscript check plots into dxf files
> >  for my home-made laser cut paste stencils.  ps2edit can't handle the
> >  rounded pads.
> 
> Index: src/polygon.c
> ===================================================================
> RCS file: /cvsroot/pcb/pcb/src/polygon.c,v
> retrieving revision 1.59
> diff -U3 -r1.59 polygon.c
> --- src/polygon.c	2 Dec 2007 09:35:40 -0000	1.59
> +++ src/polygon.c	4 Sep 2008 08:20:49 -0000
> @@ -581,23 +581,10 @@
>  {
>    POLYAREA *np = NULL;
> 
> -  if (TEST_FLAG (SQUAREFLAG, pad))
> -    {
> -      BDimension t = pad->Thickness / 2;
> -      LocationType x1, x2, y1, y2;
> -      x1 = MIN (pad->Point1.X, pad->Point2.X) - t;
> -      x2 = MAX (pad->Point1.X, pad->Point2.X) + t;
> -      y1 = MIN (pad->Point1.Y, pad->Point2.Y) - t;
> -      y2 = MAX (pad->Point1.Y, pad->Point2.Y) + t;
> -      if (!(np = RoundRect (x1, x2, y1, y2, pad->Clearance / 2)))
> -        return -1;
> -    }
> -  else
> -    {
> -      if (!
> -          (np = LinePoly ((LineType *) pad, pad->Thickness + pad->Clearance)))
> -        return -1;
> -    }
> +
> +  if (!
> +      (np = LinePoly ((LineType *) pad, pad->Thickness + pad->Clearance)))
> +    return -1;
>    return Subtract (np, p, True);
>  }
> 
> @@ -853,7 +840,7 @@
>    x2 = MAX (pad->Point1.X, pad->Point2.X) + t;
>    y1 = MIN (pad->Point1.Y, pad->Point2.Y) - t;
>    y2 = MAX (pad->Point1.Y, pad->Point2.Y) + t;
> -  if (!(np = RectPoly (x1, x2, y1, y2)))
> +  if (!(np = LinePoly ((LineType *) pad, pad->Thickness + pad->Clearance)))
>      return 0;
>    if (!Unsubtract (np, p))
>      return 0;
> 
> Or you would like to have rounded clearances?
> 
> Best wishes,
> Ineiev
> 
> 
> _______________________________________________
> geda-user mailing list
> geda-user@xxxxxxxxxxxxxx
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user