I have done noting about optimization, except manualy choosing the feeder location of the most common part or two.
I do have a program that takes Protel 99SE pick and place files and converts them to the placement file. I haven't done a program for the feeder file, I just use the machine to set that up, although I can see the reasons for having a program that does it RIGHT the first time!
I have put my c program online at http://pico-systems.com/codes/cvtmount.c It is very basic, but you give it a file with a list of component types and their feeder locations and pick-up angles in the feeder tape, and the Protel P&P file, and it produces two files for top and bottom side mounting. These have only the M lines for the mount file, I just use a text editor to edit in the standard location of the board origin, and hand edit the board fiducial coordinates. it automatically flips the coordinate system for the bottom side. I use the main stop and front rail as the origin for bottom side, and calculate the offset from that for the lower left corner for front side.
Of course, if you don't use Protel, your P&P input file format will be different, so you will have to adjust the code for that.
Jon
reply »