On Thu, 21 Nov 2002, Dwight K. Elvey wrote:
From:
"Peter C. Wallace" <pcw(a)mesanet.com>
On Thu, 21 Nov 2002, Jim Kearney wrote:
From:
"Dwight K. Elvey" <dwightk.elvey(a)amd.com>
Gerber format is not all that complicated. It seems that someone
No, it's not. It doesn't seem like there's an off-the-shelf way to go from
raster (PDF or TIFF) to vector (Gerber), though, or at least nothing jumps
out from Google. In principle it would be easy to load a raster and write
it out as a set of lines in Gerber format.
Actually I have a vague recollection that one of the board houses charged
extra for "very large Gerber files caused by rasterized plots".
Plus its pretty hard to extract the drill info from a 'vectorized' raster
plot...
Peter Wallace
Hi
That is why I didn't say that one should write a program
that reads scanned files, I said that one should have a tool
that worked from a mouse ( with human attached ). Most tools
that would look at scanned data would tend to make a lot
of small rectangles instead of correctly grouping the information
as a single large rectangle. We are talking about something that
a human can easily do but a program has issues because it
requires judgement.
The fact is that Gerber files are quite simple. They are
about as simple as one can get. Although I don't recall the
exact syntax, it is thing like goto to x,y; with aperture
wheel position 2 draw relative xx,yy; goto to u,v; with
aperture wheel postion 3 flash; and so on and so on.
I don't think one could describe a PC board any simpler than
that. I never said that an automatic tool should be easy to
write. I said that one could make a useful tool that would use
a mouse to locate and draw( snap would be nice ). One would
simply trace the pdf or what ever with the mouse.
Dwight
Gerber files are very simple vector commands (the earliest plotters had very
little brains - all hardwired logic...)
D14* C{ Chose aperture 14 }
X10038Y9785D02* { moveto x=10038,y=9785 }
X10063Y9810D01* { drawto x=10063,y=9810 }
Y9860* { drawto x=10063 y=9860 }
X10263* { drawto x=10263 y=9860 }
Y9810*
X10238*
X10213Y9785*
X10038*
X10043Y9790D02* { moveto x=10043 y=9790 }
D51* { Chose aperture 51 }
X8913Y10341D03* { flash pad at x=8913 y=10341}
Y6160D03*
X11113Y9860D03*
Y6160D03*
...
Peter Wallace