Yahoo Groups archive

Homebrew_PCBs

Index last updated: 2026-04-02 23:14 UTC

Thread

HPGL output (was PCB design software)

HPGL output (was PCB design software)

2003-05-12 by Brian Schmalz

I use Eagle for my boards. I have written/modified a User Program (sort of
an interpreted C language built into Eagle) that outputs HPGL plot files
specifically for my use. I don't use a mill, I use an HP plotter with a
scratching tip instead of a pen. I put paint on my copper boards, then run
them through the plotter. The plotter 'scratches' away all of the paint
where I want the etchant to etch.

I have a program that I wrote (in Liberty Basic) that takes the HPGL output
from Eagle, and the NC Drill file from Eagle, and puts filled in circles
inside each drill hole. Then when I scratch the board on the plotter, each
drill hole has a copper-free circle in the middle of it.

None of the stuff I've done is ready for any type of wide-spread use yet.
I'm still working out lots of bugs. But I'm writing this to you-all so that
you know it can be done, and it isn't all that hard to do. My Liberty Basic
program parses the HPGL file from Eagle (which contains many concentric
'rings' of scratch lines since each scratch line is only about 2-4 mil wide)
so that areas can be 'filled-in' with scratch lines) and then parses the
drill file and combines them, does rotates, scaling, and translation, and
then writes out a new HPGL file that I can directly use on my plotter.

*Brian

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

2003-05-12 by Stefan Trethan

first sorry for hijacking the post but it showed up some additional software packages also i think.


nice to see there has one done the "scratch 'n etch" tool i asked a few days ago.
my programming isn't too good (i would rather center punch all the holes per hand).

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 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.

how is the match on the edges of tracks? i know one in australia who has written a similar tool but for
the "positive" plot with resist ink attempt i want to use. the problem with this tool is when the tracks
have angled edges and it can't do the holes open. but it uses gerber as input not hpgl.

regards
stefan


12.05.2003 21:39:08, Brian Schmalz <brian.s@...> wrote:

Show quoted textHide quoted text
>I use Eagle for my boards. I have written/modified a User Program (sort of
>an interpreted C language built into Eagle) that outputs HPGL plot files
>specifically for my use. I don't use a mill, I use an HP plotter with a
>scratching tip instead of a pen. I put paint on my copper boards, then run
>them through the plotter. The plotter 'scratches' away all of the paint
>where I want the etchant to etch.
>
>I have a program that I wrote (in Liberty Basic) that takes the HPGL output
>from Eagle, and the NC Drill file from Eagle, and puts filled in circles
>inside each drill hole. Then when I scratch the board on the plotter, each
>drill hole has a copper-free circle in the middle of it.
>
>None of the stuff I've done is ready for any type of wide-spread use yet.
>I'm still working out lots of bugs. But I'm writing this to you-all so that
>you know it can be done, and it isn't all that hard to do. My Liberty Basic
>program parses the HPGL file from Eagle (which contains many concentric
>'rings' of scratch lines since each scratch line is only about 2-4 mil wide)
>so that areas can be 'filled-in' with scratch lines) and then parses the
>drill file and combines them, does rotates, scaling, and translation, and
>then writes out a new HPGL file that I can directly use on my plotter.
>
>*Brian
>
>
>Be sure to visit the group home and check for new Bookmarks and files:
>http://groups.yahoo.com/group/Homebrew_PCBs
>
>To unsubscribe from this group, send an email to:
>Homebrew_PCBs-unsubscribe@yahoogroups.com
>
>
>
>Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>

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

2003-05-12 by Brian Schmalz

> 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

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

2003-05-13 by Stefan Trethan

ah i see, i see.

if you have this very handy function in eagle this makes the thing a lot easier.

i think this may also be there for making copper plains, determining design rule violations, etc.
this would simplify the overall thing.
my thought was the whole time how the hell can i tell that 2 arcs, different sizes are from one pad and
not 2 differtent pads. also when calculating the coordinates this would not be too easy to tell.


which shape has the tip of your scretching tool?

have you any results ready to meke a picture?
i would be very interested in it.

regards
stefan

12.05.2003 22:25:44, Brian Schmalz <brian.s@...> wrote:

Show quoted textHide quoted text
>> 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
>
>
>
>Be sure to visit the group home and check for new Bookmarks and files:
>http://groups.yahoo.com/group/Homebrew_PCBs
>
>To unsubscribe from this group, send an email to:
>Homebrew_PCBs-unsubscribe@yahoogroups.com
>
>
>
>Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>

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

2003-05-14 by Brian Schmalz

I've just uploaded a picture of a very early board I did with this
'scratching' process. I've called it the Eagle Scratch process, and made a
new photo album in the Yahoo Groups Photo section with this picture in it.

Some things to look at: the connectors on the side of the board are standard
.100 double row connectors. That gives you an idea of size. You'll note that
the board was over-etched. Also, the copper board I used for this test run
was very scratched. The big problem with my process so far is that the
scratch tip is not perfectly moved by the plotter head, so that when it
starts making concentric polygons around the nets in opposite directions, it
will leave little bits of copper on the board. These do not affect the
electrical properties of the board, but are really ugly. I am currently
working on better software to compensate for this and make much cleaner
scratches.

The etch tip is round.

Let me know if you have any questions. I can also upload HPGL plot files if
your interested.

*Brian

Show quoted textHide quoted text
> -----Original Message-----
> From: Stefan Trethan [mailto:stefan_trethan@...]
> Sent: Tuesday, May 13, 2003 2:02 AM
> To: Homebrew_PCBs@yahoogroups.com
> Subject: Re: RE: [Homebrew_PCBs] HPGL output (was PCB design software)
>
>
> ah i see, i see.
>
> if you have this very handy function in eagle this makes the
> thing a lot easier.
>
> i think this may also be there for making copper plains,
> determining design rule violations, etc.
> this would simplify the overall thing.
> my thought was the whole time how the hell can i tell that 2
> arcs, different sizes are from one pad and
> not 2 differtent pads. also when calculating the coordinates
> this would not be too easy to tell.
>
>
> which shape has the tip of your scretching tool?
>
> have you any results ready to meke a picture?
> i would be very interested in it.
>
> regards
> stefan
>
> 12.05.2003 22:25:44, Brian Schmalz <brian.s@...> wrote:
>
> >> 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
> >
> >
> >
> >Be sure to visit the group home and check for new Bookmarks
> and files:
> >http://groups.yahoo.com/group/Homebrew_PCBs
> >
> >To unsubscribe from this group, send an email to:
> >Homebrew_PCBs-unsubscribe@yahoogroups.com
> >
> >
> >
> >Your use of Yahoo! Groups is subject to
> http://docs.yahoo.com/info/terms/
> >
> >
> >
>
>
>
>
> ------------------------ Yahoo! Groups Sponsor
> ---------------------~-->
> Rent DVDs from home.
> Over 14,500 titles. Free Shipping
> & No Late Fees. Try Netflix for FREE!
> http://us.click.yahoo.com/BVVfoB/hP.FAA/uetFAA/bGYolB/TM
> --------------------------------------------------------------
> -------~->
>
> Be sure to visit the group home and check for new Bookmarks and files:
> http://groups.yahoo.com/group/Homebrew_PCBs
>
> To unsubscribe from this group, send an email to:
> Homebrew_PCBs-unsubscribe@yahoogroups.com
>
>
>
> Your use of Yahoo! Groups is subject to
> http://docs.yahoo.com/info/terms/
>
>

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

2003-05-15 by Pancary

hi , i made a prg work with plt files, download at www.geocities.com\pancary

----- Original Message -----
Show quoted textHide quoted text
From: Stefan Trethan <stefan_trethan@...>
To: <Homebrew_PCBs@yahoogroups.com>
Sent: Tuesday, May 13, 2003 4:02 AM
Subject: Re: RE: [Homebrew_PCBs] HPGL output (was PCB design software)


> ah i see, i see.
>
> if you have this very handy function in eagle this makes the thing a lot
easier.
>
> i think this may also be there for making copper plains, determining
design rule violations, etc.
> this would simplify the overall thing.
> my thought was the whole time how the hell can i tell that 2 arcs,
different sizes are from one pad and
> not 2 differtent pads. also when calculating the coordinates this would
not be too easy to tell.
>
>
> which shape has the tip of your scretching tool?
>
> have you any results ready to meke a picture?
> i would be very interested in it.
>
> regards
> stefan
>
> 12.05.2003 22:25:44, Brian Schmalz <brian.s@...> wrote:
>
> >> 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
> >
> >
> >
> >Be sure to visit the group home and check for new Bookmarks and files:
> >http://groups.yahoo.com/group/Homebrew_PCBs
> >
> >To unsubscribe from this group, send an email to:
> >Homebrew_PCBs-unsubscribe@yahoogroups.com
> >
> >
> >
> >Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
> >
> >
> >
>
>
>
>
>
> Be sure to visit the group home and check for new Bookmarks and files:
> http://groups.yahoo.com/group/Homebrew_PCBs
>
> To unsubscribe from this group, send an email to:
> Homebrew_PCBs-unsubscribe@yahoogroups.com
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>

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

2003-05-15 by Stefan Trethan

hi

thanks for the info.
i already knew your page but my ? spanish ? is very close to zero.

i am downloading the plotter.zip at the moment.
also the dll.

ok..

i startet the program..

does it only open plt files?

i already have some plt viewers. i would need something to convert image format or printer format to
plt.

you program is very nice. it shows up a bit "quick" on terminating on my xp but it works fine.

ok, i think this is not exactly what i need but it would serve as a plt viewer very fine.

thank you..

regards
stefan




15.05.2003 12:35:41, "Pancary" <pancary@...> wrote:

Show quoted textHide quoted text
>hi , i made a prg work with plt files, download at www.geocities.com\pancary
>
>----- Original Message -----
>From: Stefan Trethan <stefan_trethan@...>
>To: <Homebrew_PCBs@yahoogroups.com>
>Sent: Tuesday, May 13, 2003 4:02 AM
>Subject: Re: RE: [Homebrew_PCBs] HPGL output (was PCB design software)
>
>
>> ah i see, i see.
>>
>> if you have this very handy function in eagle this makes the thing a lot
>easier.
>>
>> i think this may also be there for making copper plains, determining
>design rule violations, etc.
>> this would simplify the overall thing.
>> my thought was the whole time how the hell can i tell that 2 arcs,
>different sizes are from one pad and
>> not 2 differtent pads. also when calculating the coordinates this would
>not be too easy to tell.
>>
>>
>> which shape has the tip of your scretching tool?
>>
>> have you any results ready to meke a picture?
>> i would be very interested in it.
>>
>> regards
>> stefan
>>
>> 12.05.2003 22:25:44, Brian Schmalz <brian.s@...> wrote:
>>
>> >> 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
>> >
>> >
>> >
>> >Be sure to visit the group home and check for new Bookmarks and files:
>> >http://groups.yahoo.com/group/Homebrew_PCBs
>> >
>> >To unsubscribe from this group, send an email to:
>> >Homebrew_PCBs-unsubscribe@yahoogroups.com
>> >
>> >
>> >
>> >Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>> >
>> >
>> >
>>
>>
>>
>>
>>
>> Be sure to visit the group home and check for new Bookmarks and files:
>> http://groups.yahoo.com/group/Homebrew_PCBs
>>
>> To unsubscribe from this group, send an email to:
>> Homebrew_PCBs-unsubscribe@yahoogroups.com
>>
>>
>>
>> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>>
>>
>
>
>
>Be sure to visit the group home and check for new Bookmarks and files:
>http://groups.yahoo.com/group/Homebrew_PCBs
>
>To unsubscribe from this group, send an email to:
>Homebrew_PCBs-unsubscribe@yahoogroups.com
>
>
>
>Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>