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

gEDA-user: Outline patch for Sierra (protoexpress.com)



I'm trying DJ's patch to export gerbers that Sierra will like
(below).  I take it from reading the code that I am required to create
a separate layer called "outline" which contains my board outline?
And then this will automatically end up on one or both soldermask
layers?

This seems to be a bit of a problem, as I have pcb set so that the
available board area *is* my outline, and therefore it won't let me
draw a line with its center at the very edge of the board.  If I
increase the board size, I'm going to have to move everything that's
there now and be very careful about lining up the outline.  Perhaps I
should just create the outline with ye olde text editor?


On Fri, Aug 31, 2007 at 02:35:19PM -0400, DJ Delorie wrote:
> 
> The first two chunks have to do with when pins are drawn; we don't
> want them on outline layers for example.  The last chunk is the one
> that adds the outline to the mask.  I'm not sure what to do with it,
> as I don't think it should be the default.
> 
> Index: draw.c
> ===================================================================
> RCS file: /cvsroot/pcb/pcb/src/draw.c,v
> retrieving revision 1.79
> diff -p -U3 -b -w -r1.79 draw.c
> --- draw.c	6 Aug 2007 02:18:30 -0000	1.79
> +++ draw.c	31 Aug 2007 18:34:07 -0000
> @@ -458,7 +458,6 @@ DrawEverything (BoxTypePtr drawn_area)
>  			    pad_callback, NULL);
>  		}
>  	      SWAP_IDENT = save_swap;
> -	    }
>  
>  	  if (!gui->gui)
>  	    {
> @@ -471,6 +470,7 @@ DrawEverything (BoxTypePtr drawn_area)
>  	    }
>  	}
>      }
> +    }
>    if (TEST_FLAG (CHECKPLANESFLAG, PCB) && gui->gui)
>      return;
>  
> @@ -749,6 +749,7 @@ DrawMask (BoxType * screen)
>  {
>    struct pin_info info;
>    int thin = TEST_FLAG(THINDRAWFLAG, PCB) || TEST_FLAG(THINDRAWPOLYFLAG, PCB);
> +  int i;
>  
>    OutputType *out = &Output;
>  
> @@ -783,6 +784,16 @@ DrawMask (BoxType * screen)
>  	}
>        gui->use_mask (HID_MASK_OFF);
>      }
> +
> +  if (!gui->gui)
> +    {
> +      for (i=PCB->Data->LayerN; i>=0; i--)
> +	{
> +	  LayerTypePtr Layer = PCB->Data->Layer + i;
> +	  if (strcmp (Layer->Name, "outline") ==0)
> +	    DrawLayer (Layer, screen);
> +	}
> +    }
>  }
>  
>  static int
> 
> 
> _______________________________________________
> 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