A ULP (User Language Program) is a feature designed into EAGLE to allow users to generate their own processes to automate tasks that would otherwise be tedious and time consuming. While most users know that this functionality exists, very few want to write their own script. A casual user would have to dump far more time learning the system and designing/testing their code than just completing the task at hand.
Many EAGLE users don’t know that there are many ULPs that have been written by the pros at CadSoft waiting to be discovered. These are tried and true ways to get things done quickly without having to bother writing the ULP from scratch. So give the intern an interesting project to take on and start using tools! Note that this article is written based on EAGLE v7.1.
Mountsmd.ulp: Create a Component Placement List (CPL) for pick-and-place programming.
A heavily-used ULP, this takes what would be a very tedious task and automates it reliably. Any contract manufacturer will need to know where each component needs to be mounted and its rotation so they can program their pick-and-place machine. This ULP outputs 2 files: one describing top side SMD parts, and the other describing bottom side SMD parts. Note it doesn’t call out through-hole parts (but Mount.ulp does). You will also want to import the data into a spreadsheet and label each column. It is best to generate this anytime gerbers are generated to be sure it is accurate.
How to Use:
In the layout editor, click the ‘ULP’ button and select Mountsmd.ulp. Enter a path and filename, and a semicolon-separated-values document is created.
For More Details: EAGLE ULPs Every User Should Know