  How to generate drill files from Eagle that gerbv likes 
                    By Daniel Dorau

--
$Id$
--
Gerbv is basically able to read the Excellon files generated by Eagle,
you have to make a few changes to them however. Gerbv expects the
Excellon files to begin with a header defining the drill sizes used
which Eagle's Excellon files are lacking.

How does Eagle generate Excellon files?

With Eagle's CAM processor you have the possibility to generate Excellon
files of your board. For this you have to supply a file defining the
drills available to the CAM processor. This file usually has the suffix
.drl and is called Drill Rack in Eagle terms.  It contains the drill 
sizes in the form

T01  0.018in
T02  0.036in

and so on. 

Drill sizes may also be given in mil and mm while in seems to
be the default. This drill rack file may be given by your board house
or have been auto-generated by Eagle with drillcfg.ulp in which case simply
all drill sizes used in your layout are written into a drill rack file.
Now when you create an Excellon file with the given drill rack file,
the CAM processor chooses which drill fits best for each hole using the given
tolerance values. The CAM processor then outputs an Excellon file
(default suffix .drd) and an information file (default suffix .dri).
Within the Excellon file generated by Eagle there's no definition of
the drill sizes used, it just takes the drills given in the drill rack
file. However you can see in the .dri file which drills Eagle has chosen.

So what you need to do to load your Excellon file into gerbv is just
adding a proper header in front of your Excellon file defining the drills
used by Eagle. You simply have to convert Eagle's drill rack file to
a valid Excellon header and put it in front of the Excellon file generated by Eagle, 
then gerbv will know about the drill sizes.
I hacked a small perl script which just does this and is called
this way:

./excellon.pl <Eagle drill rack file> <Eagle Excellon file> <new Excellon file>

The new Excellon file contains the needed drill definition and can be loaded
into gerbv. That's all.

