Archive of the former Yahoo!Groups mailing list: Homebrew PCBs

previous by date index next by date
previous in topic topic list next in topic

Subject: RE: [Homebrew_PCBs] HPGL output (was PCB design software)

From: Brian Schmalz <brian.s@...>
Date: 2003-05-12

> nice to see there has one done the "scratch 'n etch" tool i
> asked a few days ago.

Yes, it does work OK - and for me I only need OK, not great. Super
easy/cheap way to try out a board to get all the bugs out.

> how do you detect when a line is on the outside of a
> trace/pad and when a line/arc is the outermost?
> so you can tell what actually is the outline?

I had to use some really crazy tricks of the ULP (User Language Program) in
Eagle. What the program does is use a command in Eagle that will draw lines
around all of the existing traces. You pass this command a 'distance', and
it computes the correct lines based upon that distance from the nets. So my
ULP calls itself repeatedly (recursion) with increasing values of the
'distance'. So if I want at least 50mils of space around each net, and my
scratch tip is 5mil wide, the program will call itself 9 times, starting
with a distance of 2.5 mil, and advancing up to 47.5 mil for the distance,
generating a whole series of lines each run. I just execute for 'x' number
of times, and that gives the proper number of concentric lines.

> i first thought of plotting the layer with the drill drawing
> on it to get the holes "punched".
> i'm really wondering how you can tell when a line is only a
> fill line and when it is a outline.

To me there's no difference. I never 'plot' the real artwork in any way -
the ULP just goes through the Eagle database of nets and draws lines around
each net. The nets are never drawn into the HGPL file, so there's never a
need to know the difference. I understand your question, I think, and if I
was starting with just plain artwork (like what a printer would print from
what's on the screen of a board file) then you're right, I'd have a big
problem.

> how is the match on the edges of tracks? i know one in
> australia who has written a similar tool but for

Ahh. Now there's the rub. ;-) The match is terrible because the scratching
tip is drawn along by the plotter, and so is always 'following' the desired
point of contact. So what I do is I draw each 'line' twice, without lifting
the pen from the board between lines. (Each 'line' is actually a long series
of lines that forms a closed polygon that totally rings each net.)

∗Brian