Makeshift pilot holes:
If you have to drill pads and vias without pilot holes, use a thumb-tack or other sharp tool to make an indentation as close to the center as you are able. (How I deal with poorly etched pilot holes!)
Alternative software:
FreePCB (Windows-only open source program) generates gerber files with pilot holes in the copper layers corresponding to the drill holes through vias and pads. The pilot holes are optional: you can enable them with a checkbox in the CAM file generation dialog.
In the same dialog, there is an input box where you can specify the pilot hole diameter. A separate command line utility called GerberRender, distributed with FreePCB, is used for generating raster images.
DIY Pilots via Image Manipulation
If I had to use PCB software that doesn't generate pilot holes, here is what I would do: I would set the through-hole size on all my parts to have the pilot hole diameter, about 10 to 15 mils. (Since I would be making the PCB myself, I wouldn't care that the holes are wrong; however, this would have to be fixed, obviously, if the PCB is later sent out to fab.) Then I would use the image generated from the drill file as a mask to create the pilot holes in the copper layer(s), using an image-processing program such as GIMP.
Suppose you have a pair of black and white images at identical pixel dimensions, one depicting a copper layer and the other drill holes, with the holes and copper being in black, over a white background. Here is how you can use GIMP to render the holes into the copper.
- Load the copper layer image and the drill file image as two layers by using GIMP's "Open as Layers" command in the File menu, which allows multiple images to be selected and loaded as the layers of a single GIMP image.
- Ensure that the drill layer is the top one of the two, moving it up using the green arrow buttons in the Layers dialog.
- Ensure you're switched to the drill layer by clicking on it in the Layers dialog.
- Invert the layer to create a negative. This is done in the Colors menu with the Invert command. Now the holes are white, on a black background.
In the Layer dialog, change the drill layer's Mode to "Lighten only".
At this point, you see both layers, with the white regions of the
drill layer creating white holes in the copper layer.
- Do a "Merge visible layers" in the layer dialog's context menu, or, equivalently, "Merge layer down" on the drill layer.
- Do an "Export to ..." to save the resulting image as your copper-with-pilots layer.
There is probably a way to script all this from the command line via the ImageMagick utility.
A more ambitious project would be to write an image processing tool or plugin which can scan through a regular drill layer image (with holes having various diameters), identify all the holes and generate a new image in which they are all replaced by holes having a fixed, smaller diameter. Such a filter would make it unnecessary to switch to custom footprints in the part library in order to get properly sized pilot holes.
In Eagle, the copper "polygons" are made up of many parallel overlapping traces. If the polygon's linewidth is set to something small, like 1 mil, it quickly consumes large amounts of data when converted to Gerber.
If you change the polygon's linewidth to something thicker, it will solve this problem. However, it also affects any thermals tied to the polygon, and can cause the polygon's borders to change.
If you need your current polygon settings, then I would suggest that you make a small-width, detailed polygon where it is important, and make a larger, coarse one over the rest of that layer.
Best Answer
The obvious answer is 'you can't'. Unless it's a very new gerber release (the X2) which is annotated with component infos. The only thing a gerber says is 'there is a pad here' and 'there is a track from there to that'. No pin number, no designators. In fact the text is drawn as lines.
If you had a D356 netlist it would be slightly better. With a lot of processing you could extract the pin 1 position and have an idea of the centroid (both are needed to program the PnP machine).
The alternative is using some CAM software to manually 'teach' the component position (usually you click between pads and the CAM latches on these), but a lot of hand fixing is needed anyway