Eagle 6 -> SVG -> OpenSCAD
Using Eagle version 6 you can design PCB boards and export them into a SVG using an ULP using eagle2svg-1.1.ulp (Author: nils.springob (at) nicai-systems.de). Then take the generated SVG file and run it through the SVGProcessor2 to generate OpenSCAD code.
So far, SVGProcessor2 is only intended to support Eagle6 generated SVG output and not arbitrary SVG files. There are some issues with curves (e.g. character S won't be in the generated result). It it not yet available precomplied, so run the Maven project in your favourite IDE. The main class to execute is "Appv2". Filename need to be entered directly into the main class at the moment.
No actual printing tests have been performed from the output, the SVGProcessor2 is work in progress.
Quality of conversion
From visual inspection, the generated OpenSCAD file has enough quality for 0805 (imperial code) SMD resistors and SOT23 transistors. The holes in the pads are not in the OpenSCAD version (they seem to be dropped by the SVG export tool) and the text (font is slightly too small).
If you have not done that yet, install both Eagle6 and OpenSCAD on your system. Then copy the "eagle2svg-1.1.ulp" into the "ulp" subfolder of your Eagle6 installation. Usually that is "C:\Program Files\EAGLE-6.2.0\ulp".
In order to run "SVGProcessor2" you will also need a Java IDE with Maven support and the JDK (Java Development Kit) to run it. Future versions of the tool will only require JRE (Java Runtime Environment)
Step 1: Design PCB and export as SVG
When done with the PCB design, make sure that you have the right layers shown that you want to export. In the example the PCB was designed on the top layer, so layer 1 (top) and layer 17 (pads) had to be selected. Make sure not so select anything that draws boxes or shaded areas around your PCB components as these will otherwise be contains in the print (which most likely messes up the resulting PCB!).
Now export the PCB as SVG using the "eagle2svg-1.1.ulp" File. In order to do that, click the small icon in the tool bar that is labeled "ULP". Select the "eagle2svg-1.1.ulp" that have put into that folder during setup.
When you have done that, click "OK" in the next dialog (the ULP script won't export the SVG to a file other than the one already entered in the GUI. The Eagle6 main dialog will now state that running the ULP script finished (this is a very fast process, should finish within a fraction of a second).
Step 2: converted exported SVG to OpenSCAD
Next step is to convert the generated SVG graphics into something OpenSCAD can read. Use SVGProcessor2 to do that. .
As OpenSCAD compiliation time seems to be faster if no overlapping geometries can be found, the tool will combine overlapping SVG elements (such as pads and tracks/GND area) into a single polygons.
The conversion might take a few seconds (currently no progress indicator in the tool)
Step 3: Open in OpenSCAD
Open the generated OpenSCAD file and generate STL for printing. As the resulting OpenSCAD files can become quite large even for even simple PCB boards, compiling might take some time.