Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Posted by
Jon Elson
on 2000-10-12 14:56:41 UTC
Alan Marconett KM6VV wrote:
no data in the
Gerber file to associate them, except the coordinates. So, you have to
build a table
of all primitives on the board, and then reorganize it as you figure out
that this trace
'connects' to that pad, etc. Only when you have all this mapped out,
and know that
there is a 'net' which contains these traces and those pads, can you go
on to the
next step. Here, you have to take the connected primitives, and
organize them
topologically, so that you know that this trace ends ON that pad, and so
on.
Keep in mind that traces can just end in space (rare, but can be correct
for a
guard or shield trace, or text); they can cross through a pad, not
necessarily through
the center; they can end somewhere within a pad; they can end on or near
another trace's endpoint, or just Tee into another trace. An arbitrary
number
of traces can connect to a single pad. Two traces can cross without
there being
an endpoint of either at the junction. Did I cover all possible cases?
I'll bet
I have missed one, here.
are a form
of RS-274D (alias G-code)) and generates photoplots on a raster
photoplotter.
Now, this is a hard exercise, but it doesn't have to "understand" what
is being
plotted, it just throws the requested pixels on the film, and the result
is correct.
The film assembles the info correctly, as it were. What I mean here is
that the
pads and traces connect just fine, and the drawing is correct and
usable.
This is despite the fact that the pads and traces are drawn in no
specific
order, and definitely do not need to be drawn so that one whole net is
drawn,
then some other whole net, etc.
Unfortunately, defining the toolpath to isolate the nets requires the
program to
understand a lot more about the PCB information that is represented in
the Gerber
file, but not explicitly defined there. The connectivity information is
not EXPLICITLY
in the data, but, of course, it is extractable from it. The toolpath to
isolate nets
is not there at all, and has to be induced from the available data.
Without strict design rules in the PCB CAD package to prevent it, there
is the
added problem of eliminating what would be called "gouges" in the
machining
world - ie. the isolating cut around one pad destroying some other pad
or trace.
If the tool is really small, ie. your design rules are something like 10
mil traces and
10 mil spaces (minimum), and the tool cuts a 10 mil wide groove, then
this may
not be a serious problem.
Anyway, as for Gerber file formats, they are standard RS-274D, but using
suppressed leading zeroes and no decimal points. (This is what the
ANCIENT
tape-NC systems used, and is ghastly to read, by today's standards.)
The original Gerber photoplotter used a commercial X-Y table, and a
'machining' head which consisted of a light source, shutter, and a wheel
with 'apertures' on it. The aperture wheel functions a bit like an
automatic
tool changer, in principle, and they use the Dxx command word to select
the aperture. When the shutter opens, the head projects an image of
that
aperture onto the film. When the machine moves, it 'draws', in light, a
moving spot of that size and shape on the film.
There are 3 special codes D01, D02 and D03, that tell the shutter what
to
do. D01 means "open the shutter while making the move in this block",
D02 means "DON'T open the shutter", and D03 means open the shutter
for just a moment, called 'flash', to draw a pad shape at the current
location.
The X and Y coordinates are pretty obvious. There are comments at
the beginning of the file that define the number of digits before and
after the decimal points, whether coordinates are absolute or relative,
etc. Some systems put comments in to double check the apertures.
Jon
> Hi Mike and the list,The tough part is that the traces and the pads are separate items, with
>
> Yes, I was just asking about cutting PCB's with CNC. Seems that if
> you
> could identify each "trace" as an object, you could develop contours
> "around" each trace, and then "cut" each contour, which would make
> each
> trace an island.
>
> So how do we get from Gerber files to CNC files? As you observe, the
> Gerber "plots" each trace, what we want is contours AROUND the traces!
>
> I examined an HPGL PCB plot file (see View Companion), and studied how
>
> multiple pen lines were combined to draw a trace. If the pen lines
> could be combined and handled like little objects... If they could be
>
> import into Vector... I could generate offsets around them. Humm
> (brain
> working)...
no data in the
Gerber file to associate them, except the coordinates. So, you have to
build a table
of all primitives on the board, and then reorganize it as you figure out
that this trace
'connects' to that pad, etc. Only when you have all this mapped out,
and know that
there is a 'net' which contains these traces and those pads, can you go
on to the
next step. Here, you have to take the connected primitives, and
organize them
topologically, so that you know that this trace ends ON that pad, and so
on.
Keep in mind that traces can just end in space (rare, but can be correct
for a
guard or shield trace, or text); they can cross through a pad, not
necessarily through
the center; they can end somewhere within a pad; they can end on or near
another trace's endpoint, or just Tee into another trace. An arbitrary
number
of traces can connect to a single pad. Two traces can cross without
there being
an endpoint of either at the junction. Did I cover all possible cases?
I'll bet
I have missed one, here.
> Any thoughts? Jon, can you shed more light on the Gerber files andI have written a program that reads in Gerber files (which, by the way,
> how
> they do the traces?
are a form
of RS-274D (alias G-code)) and generates photoplots on a raster
photoplotter.
Now, this is a hard exercise, but it doesn't have to "understand" what
is being
plotted, it just throws the requested pixels on the film, and the result
is correct.
The film assembles the info correctly, as it were. What I mean here is
that the
pads and traces connect just fine, and the drawing is correct and
usable.
This is despite the fact that the pads and traces are drawn in no
specific
order, and definitely do not need to be drawn so that one whole net is
drawn,
then some other whole net, etc.
Unfortunately, defining the toolpath to isolate the nets requires the
program to
understand a lot more about the PCB information that is represented in
the Gerber
file, but not explicitly defined there. The connectivity information is
not EXPLICITLY
in the data, but, of course, it is extractable from it. The toolpath to
isolate nets
is not there at all, and has to be induced from the available data.
Without strict design rules in the PCB CAD package to prevent it, there
is the
added problem of eliminating what would be called "gouges" in the
machining
world - ie. the isolating cut around one pad destroying some other pad
or trace.
If the tool is really small, ie. your design rules are something like 10
mil traces and
10 mil spaces (minimum), and the tool cuts a 10 mil wide groove, then
this may
not be a serious problem.
Anyway, as for Gerber file formats, they are standard RS-274D, but using
suppressed leading zeroes and no decimal points. (This is what the
ANCIENT
tape-NC systems used, and is ghastly to read, by today's standards.)
The original Gerber photoplotter used a commercial X-Y table, and a
'machining' head which consisted of a light source, shutter, and a wheel
with 'apertures' on it. The aperture wheel functions a bit like an
automatic
tool changer, in principle, and they use the Dxx command word to select
the aperture. When the shutter opens, the head projects an image of
that
aperture onto the film. When the machine moves, it 'draws', in light, a
moving spot of that size and shape on the film.
There are 3 special codes D01, D02 and D03, that tell the shutter what
to
do. D01 means "open the shutter while making the move in this block",
D02 means "DON'T open the shutter", and D03 means open the shutter
for just a moment, called 'flash', to draw a pad shape at the current
location.
The X and Y coordinates are pretty obvious. There are comments at
the beginning of the file that define the number of digits before and
after the decimal points, whether coordinates are absolute or relative,
etc. Some systems put comments in to double check the apertures.
Jon
Discussion Thread
Tony Jeffree
2000-10-11 10:01:17 UTC
CNC Pro?
Carey L. Culpepper
2000-10-11 10:44:22 UTC
Re: [CAD_CAM_EDM_DRO] CNC Pro?
cnc002@a...
2000-10-11 11:36:50 UTC
Re: [CAD_CAM_EDM_DRO] CNC Pro?
Hugh Mahlendorf
2000-10-11 17:52:55 UTC
Sanyo "Step-Syn" Stepper Motors
Alan Marconett KM6VV
2000-10-11 18:19:16 UTC
Re: [CAD_CAM_EDM_DRO] Sanyo "Step-Syn" Stepper Motors
Doug Fortune
2000-10-11 18:42:43 UTC
Re: [CAD_CAM_EDM_DRO] Sanyo "Step-Syn" Stepper Motors
ballendo@y...
2000-10-12 00:06:12 UTC
re:Sanyo "Step-Syn" Stepper Motors
ballendo@y...
2000-10-12 00:18:04 UTC
Re: Sanyo "Step-Syn" Stepper Motors
cnc4me@u...
2000-10-12 00:25:04 UTC
Re: re:Sanyo "Step-Syn" Stepper Motors
ballendo@y...
2000-10-12 01:46:07 UTC
Re: re:Sanyo "Step-Syn" Stepper Motors
Mariss Freimanis
2000-10-12 10:13:13 UTC
Re: re:Sanyo "Step-Syn" Stepper Motors
Mike
2000-10-12 10:43:15 UTC
Help: PCB Trace Milling Software
Alan Marconett KM6VV
2000-10-12 13:09:47 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
ballendo@y...
2000-10-12 14:29:14 UTC
Re: re:Sanyo "Step-Syn" Stepper Motors
Jon Elson
2000-10-12 14:56:41 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
ballendo@y...
2000-10-12 15:13:12 UTC
Help: PCB Trace Milling Software
Mariss Freimanis
2000-10-12 15:16:38 UTC
Re: re:Sanyo "Step-Syn" Stepper Motors
Alan Marconett KM6VV
2000-10-12 15:34:55 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Alan Marconett KM6VV
2000-10-12 15:42:17 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Tom Caudle
2000-10-12 16:00:07 UTC
Re: Help: PCB Trace Milling Software
Tim Goldstein
2000-10-12 16:04:29 UTC
RE: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Mike
2000-10-12 16:23:17 UTC
Re: Help: PCB Trace Milling Software
ballendo@y...
2000-10-12 16:30:29 UTC
Re: Help: PCB Trace Milling Software
Anne Ogborn
2000-10-12 16:31:21 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Alan Marconett KM6VV
2000-10-12 17:39:45 UTC
Re: Help: PCB Trace Milling Software
Edward Rupp
2000-10-12 17:54:52 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Tom Caudle
2000-10-12 19:27:33 UTC
Re: Help: PCB Trace Milling Software
cnc4me@u...
2000-10-12 19:27:52 UTC
Re: Help: PCB Trace Milling Software
Dan Mauch
2000-10-12 19:42:46 UTC
Re: [CAD_CAM_EDM_DRO] Re: Help: PCB Trace Milling Software
Tom Caudle
2000-10-12 19:55:28 UTC
Re: Help: PCB Trace Milling Software
ballendo@y...
2000-10-12 19:59:32 UTC
Re: Help: PCB Trace Milling Software
Dan Mauch
2000-10-12 20:02:26 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Ron Hanson
2000-10-12 21:33:00 UTC
RE: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Alan Marconett KM6VV
2000-10-12 22:37:03 UTC
Re: Help: PCB Trace Milling Software
Hugh Mahlendorf
2000-10-12 23:31:51 UTC
Re: [CAD_CAM_EDM_DRO] re:Sanyo "Step-Syn" Stepper Motors
Tony Jeffree
2000-10-12 23:43:46 UTC
Re: Help: PCB Trace Milling Software
Ian Wright
2000-10-13 01:17:56 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
bfp
2000-10-13 03:04:50 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
cnc4me@u...
2000-10-13 08:36:52 UTC
Re: Help: PCB Trace Milling Software
Alan Marconett KM6VV
2000-10-13 09:19:54 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Ron Hanson
2000-10-13 09:37:50 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Tim Goldstein
2000-10-13 09:41:15 UTC
RE: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Tony Jeffree
2000-10-13 10:52:15 UTC
Re: Help: PCB Trace Milling Software
Hugh Prescott
2000-10-13 11:14:23 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Alan Marconett KM6VV
2000-10-13 11:45:09 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
ballendo@y...
2000-10-13 12:20:13 UTC
Re: re:Sanyo "Step-Syn" Stepper Motors
cnc4me@u...
2000-10-13 12:23:24 UTC
Re: Help: PCB Trace Milling Software
Henrik Olsson
2000-10-13 12:46:47 UTC
RE: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Jon Elson
2000-10-13 15:19:38 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Jon Elson
2000-10-13 15:47:36 UTC
Re: [CAD_CAM_EDM_DRO] Re: Help: PCB Trace Milling Software
Edward Rupp
2000-10-13 16:51:23 UTC
Re: [CAD_CAM_EDM_DRO] Re: Help: PCB Trace Milling Software
Hugh Mahlendorf
2000-10-13 19:19:21 UTC
Re: [CAD_CAM_EDM_DRO] Re: re:Sanyo "Step-Syn" Stepper Motors
Alan Marconett KM6VV
2000-10-13 22:19:16 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Jon Elson
2000-10-13 23:27:26 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Jon Elson
2000-10-16 09:20:06 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Dennis Bohlke
2000-10-16 10:37:04 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Alan Marconett KM6VV
2000-10-16 12:34:46 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
Alan Marconett KM6VV
2000-10-16 13:04:53 UTC
Re: [CAD_CAM_EDM_DRO] Help: PCB Trace Milling Software
John Mesh
2007-01-08 23:44:13 UTC
CNC Pro?
Bob Muse
2007-01-09 03:14:39 UTC
Re: [CAD_CAM_EDM_DRO] CNC Pro?
Amine BELHOUT
2007-01-09 10:50:17 UTC
RE : Re: [CAD_CAM_EDM_DRO] CNC Pro?
Seiman H
2007-01-09 11:20:23 UTC
Re: RE : Re: [CAD_CAM_EDM_DRO] CNC Pro?
Mike Phillips
2007-01-10 14:22:54 UTC
Re: CNC Pro?
Vince Endter
2007-01-10 16:03:36 UTC
Re: CNC Pro?
Stephen Wille Padnos
2007-01-10 16:47:48 UTC
Re: [CAD_CAM_EDM_DRO] Re: CNC Pro?
John Dammeyer
2007-01-10 17:53:40 UTC
ELS and the Omikron
Jon Elson
2007-01-10 19:36:45 UTC
Re: [CAD_CAM_EDM_DRO] Re: CNC Pro?
Ron Kline
2007-01-10 19:52:36 UTC
Re: [CAD_CAM_EDM_DRO] Re: CNC Pro?
Mike Phillips
2007-01-10 22:19:15 UTC
Re: CNC Pro?
Lester Caine
2007-01-11 00:42:54 UTC
Re: [CAD_CAM_EDM_DRO] Re: CNC Pro?
Mike Phillips
2007-01-11 05:44:31 UTC
Re: CNC Pro?
Lester Caine
2007-01-11 07:07:39 UTC
Re: [CAD_CAM_EDM_DRO] Re: CNC Pro?
Mike Phillips
2007-01-11 11:01:32 UTC
Re: CNC Pro?
Marv Frankel
2007-01-12 03:39:22 UTC
Re: CNC Pro?
Mike Phillips
2007-01-12 23:50:02 UTC
Re: CNC Pro?
Mike Phillips
2007-01-12 23:52:23 UTC
Re: CNC Pro?
art
2007-01-16 07:09:34 UTC
Re: [CAD_CAM_EDM_DRO] Re: CNC Pro?
Mike Phillips
2007-01-16 22:14:02 UTC
Re: CNC Pro?