Exporting EAGLE PCB to OCB++ format for paste plotters and Pick'n'place machines

We have struggled to get our EAGLE based designs produced by EMS services using "newer" machines than usual and found that traditional gerbers just doesn't cut it when you need to feed information effectively into a solder paste plotter and / or a pick'n'place machine. Apparently you need ODB++ files, something EAGLE cannot export. 

Eventually we found a method that proved successful. It involves exporting your EAGLE project to a file type which DesignSpark can read and then in turn output the project from Design Spark to ODB++ files.

Below you'll find a series of images that guides you through this process. It's a mix of Mac and PC - and yes, it's really that annoying for me to have to use two operating system to complete this process, but if you are on a PC with both applications it should be easy. Lets go...

Open an EAGLE project or .brd file. At least, go to the Board Editor in EAGLE. Click the "ULP" icon in the top tool bar.
Choose the ULP file "PCBtoIntermediate.ulp" which is distributed along with DesignSpark (Seach in the DesignSpark installation for a folder called "EAGLEUlp")
Save the .eip file (which DesignSpark will open). As you do it will probably take a good time to complete. Have patience.
Change from EAGLE to DesignSpark now and choose Open
Open the just saved .eip file in DesignSpark
Select "Technology file" to None
... it's processing...
... and done, the project is opened in DesignSpark
Now, select "Output > ODB++" in the menu
I just used the standard options...
Processing again...
Done, you now have a .tgz file with your ODB++ data for the project. Almost too easy to make a tutorial for. Hope it was useful for someone...