More Eagle [design rules, cam, and script files]

I have started to work with Eagle again to create a few new prototype PCBs. Before getting started I have decided to delve a bit deeper into how Eagle works. More specifically, I wanted to understand the various different configuration, rule, cam, and script files that are used by Eagle. Here are my notes from this little bit of research.

Design Rules (.dru files)
Eagle enables you to define design rules that can used to check your design. Design rules help ensure that your creations meet the specifications associated to the prototyping or manufacturing process that you plan to use for your project. Once you got your design rules set up right, you can save them so that they can be applied to multiple different projects.

Here is a short list of the types of design rules supported by Eagle:
- information about the number and types of layers featured in your design
- clearance between different objects in the signal layer of your boards
- minimum distance from holes and the edges of your board
- width of the tracks that connect different components
- size vias that connect tracks on different layers of your board
- shapes of the pads, which are the exposed copper where your components are soldered

I personally have a two different design rules files that I use frequently. The first holds the design specifications for creating prototypes on a Rolland Modella CNC; The second holds the rules for manufacturing boards using Advanced Circuits. I did not create either of these files; the former was developed at the Center for Bits and Atoms at MIT, the latter was created by Sparkfun. Below is a screenshot of the design rule check (DRC) window.

Eagle: Design Check Window

CAM Jobs (.cam files)
In Eagle, CAM jobs refer to scripts that are used to generate Gerber [http://en.wikipedia.org/wiki/Gerber_file] or other types of files that can be used to control CNC machines. Do not confuse a CAM job file with a CAM file. The Gerber files that are generated by Eagle are CAM files, as well as a wide range of other file formats used to drive CNC machines.

More about CAM: CAM stands for Computer Aided Manufacturing. Wikipedia defines Computer-aided manufacturing (CAM) as “the use of computer software to control machine tools and related machinery in manufacturing”.

CAM is a process that is used to manufacture objects created with Computer Aided Design (CAD), or Engineering (CAE) tools such as Eagle. CAM files are used to drive computer numerically controlled (CNC) machines and tools, like the ones used by PCB manufacturers.

Script Files (.src files)
Every Eagle operation can be carried out using script commands written in the Eagle command language. These script commands can be input individually, in the command line at the top of the a project window, or joined together into a script file. These files can be created with a simple text editor, and they can also be generated and exported from Eagle based on work that you created in the any of the Eagle modules.

The configuration for any given installation of Eagle is saved in a script file called Eagle.src. Several sample Eagle scripts are provided in src folder as well. Scripting is a very powerful feature in Eagle. On a personal level, I have never created a script file; my use of Eagle scripts has been limited to single script commands used on the command line.

User Language Programs (.ulp files)
User Language Program enables the use of C-like programs to access the functionality available through Eagle command scripts, and to import and export data into Eagle. This is definitely way above my current level of expertise in Eagle.

The Eagle.def File
The Eagle.def file holds the specifications that Eagle uses to create output (including files) for various different devices. The devices and files that are specified here range from printers and plotters to computer aided manufacturing formats such as Gerber files.

Eagle: Eagle.def File

Adding and Removing Libraries to your Project
To remove libraries from a project you can do this using the context menu in the tree view window. Just right-click on the appropriate project folder and select “use none” from the context menu. Once that is done you can create a schematic file, then add the libraries you want for your project by clicking on the library icon, which looks like two books and is located next to the script (SCP) icon.

Eagle: Context Menu (Removing Libraries)

Here is a link to an older Eagle tutorial that I posted a few months back. This tutorial features links to a bunch of useful resources, ranging from Eagle libraries to in-depth how to guides from Sparkfun.

Leave a Reply