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: Parser for RS-274X header.

From: Alan Marconett KM6VV <KM6VV@...>
Date: 2002-04-25

Hi John,

I sent a copy to Dave, and I've been to his site per a previous
reference you made to him (His Mill Clone).

I have ran the Gcode script with Eagle, "isolation" or "outlines" I
think it's called. Yes, that provides a drop-in solution. My intent
was my own edification, and also to be able to take a Gerber file from
any PCB package (I had a friend with similar requirements say they tried
it, and ended up buying another product). The DXF output would also be
a place to start. I wasn't able to get Vector CAD/CAM to do offsets to
ALL my traces and pads automatically (from a DXF I imported to Vector),
so didn't go that way.

I played with TCi last night, WOW! What fun! I laid down 6 pads and a
few traces, stored the Gerber file, and ran it through my code. Instant
success! So there is a possible "quick and dirty" way to generate
simple board part programs. While this is too simple a board (not
representative), it does demonstrate (prove) the concept.

The "body" of the Gerber file generated was 6 blocks for my 6 pads
(D03), and 24 blocks for my 12 traces (D02). I generated a 54 line
Gcode program (using Vector CAD/CAM), which included 14 blocks for the
"rapids" needed. The program also included 8 blocks were arc's. 32 of
the blocks were G01 cuts. Again, this is too simple a design to
determine much, but it's not bad!

TSP? Too simple to tell, but I think Vector CAD/CAM helped on that. I
do COMPLETE isolations of each net (pads and traces connected together),
and don't attempt to minimize cuts by "sharing" between adjacent
traces. That's an interesting idea, however, and I have gathered from
your tit-for-tat board that adjacent traces an pads SHOULD share the
same isolation (although I'll continue to cut them twice).

Speaking of your posted board, what's on it? I see a DB25, a pair of
14-pin packages (open collector buffers, I suspect), pads for output,
and pads which I'd assume are for pull-up resistors and bypass caps. I
didn't find the board on your web site, do you still offer it? I'd be
curious to see the corresponding schematic. I doubt if I'll be building
it, but it would be a nice small test. I'm thinking of "laying it out"
with TCi, and maybe Eagle also, to see how it plots out!

Your isolation cuts for small pad's measure .1" I believe, and the
larger ones are .15". What dia's are you calling out for them? Also
the trace cuts are .05", what is their width? What tool dia do you use?

How are you optimizing your rapids (TSP)? I suppose I could add code to
my controller software to report the total length of rapids and cuts
(arc's?), and that would give me an idea. Also, I believe Vector
CAD/CAM can report the "time" for a part file. That might result in
some useful data.

Are you doing a drill file, like Epsilon? What format? I'd like to
take a look at it.

Alan KM6VV


crankorgan wrote:
>
> Alan,
> Two things! Run this past Dave Kush at:
>
> http://www.calweb.com/users/d/dnjinca/
>
> Also, have you played with the SCRIPTS that are in
> Eagle. There is one there to turn a PCB drawing into a DXF. In
> the Cad_Cam conference there used to be a script that made
> a PCB drawing into GCode. I only played with the DXF one. I
> abandoned Eagle because of the Traveling Salseman Syndrome.
> Someone showed me how to use ACE to fix my drawing. I think
> you use Vector.
>
> John
>
> --- In Homebrew_PCBs@y..., Alan Marconett KM6VV <KM6VV@a...> wrote:
> > Hi to the Lists,
> >
> > I generated this demo RS-274X (Gerber) file header from Tci, a
> French
> > PCB program (pardon my french). I've had some of the parms
> explained
> > before, and I have the Gerber spec, so I have some Idea of their
> use.
> > What's not obvious to me is how they expect one to go about parsing
> it.
> > I know it's in MM. The '∗' are always end-of-block, which is
> fine. I
> > see '%' characters bracketing SOME of the blocks, but some at start
> and
> > some at end (suggests several blocks are "together"?). And This
> header
> > seems to use G04 (delay) as a comment?
> >
> > I have a parser for Gcode, but this header stuff doesn't fit too
> good
> > (parser wise)!
> >
> > It looks like "ADD 10 C 0.318" (spaces added) sets aperture #10 to a
> > circular pad, and "ADD 11 C 1.588 X 0.2" is for the traces. I can
> work
> > through it from the CAD PCB layout to get the numbers right, But
> this
> > all seems rather haphazard, IMO.
> >
> > Any comments?
> >
> > G04 format : xxx.xxx unité : millimètre ∗
> > %FSLAX33Y33∗
> > MOMM∗
> > OFA0B0∗
> > SFA1B1∗
> > IPPOS∗%
> > G04 définition des ouvertures pour les pistes ∗
> > %ADD10C,0.318∗%
> > G04 définition des ouvertures pour les pastilles rondes ∗
> > %ADD11C,1.588X0.2∗%
> > G04 tracé du CI ∗
> >
> > Alan KM6VV