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

Re: gEDA-user: pcb insulator layer



I'm starting on making a way to output no vias when drawing a layer for insulator purpose.
I think using pads might work for connecting low resistance ink jumpers that go along with
using insulator layer, but to simplify at first, I will just use zero length lines
with a width defined so you get a circle as connector pads for conductive jumpers.
Then all that needs to happen in pcb is to not export a via circle everywhere a via is, when
on the insulator layer.

I've done a quick look at the pcb draw.c code and see no mention of exporting,
so have questions.

In this routine:

=================
/* ---------------------------------------------------------------------------
  * draw a via without dealing with polygon clearance
  */
static void
DrawPlainVia (PinTypePtr Via, Boolean holeToo)
{
   if (!Gathering)
     SetPVColor (Via, VIA_TYPE);
   DrawPinOrViaLowLevel (Via, holeToo);
   if (!TEST_FLAG (HOLEFLAG, Via) && TEST_FLAG (DISPLAYNAMEFLAG, Via))
     DrawPinOrViaNameLowLevel (Via);
}
=========================

PinTypePtr seems to be used for either a pin or a via.
In this routine, the name of
SetPVColor but no mention of layer suggests there's
a current layer state before coming to this routine.

LayerTypePtr Layer   shows up in  DrawLine, DrawPlainPolygon, DrawRegularText,


Then there's DrawObject with a long switch  (type) { }  block that calls
specific routines like DrawLine,.  LayerTypePtr has to
be defined before arriving here.


I'm unclear about this:
  * draws one non-copper layer
  */
void
DrawLayer (LayerTypePtr Layer, BoxType * screen)

Does this mean "always call DrawLayerGroup" for copper layers?


I found export mentioned in main.c  if (gui->exporter)  then gui->do_export (0);

do_export seems to be in another file...

I see screen as the parameter coming form somewhere else in DrawTop.

I haven't found where yet.  Is DrawTop a good template for a routine that would be called when exporting
a layer with a name match like insul*?   Outline is handled in DrawLayerGroup with a name compare
that changes rv and returns it, so that isn't where the action is either.

Lost, need hints.

John Griessen

-- 
Ecosensory   Austin TX


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