A bash shell script that generates CAM files from Eagle-Designs. The script takes as arguments the board file and the number of signal layers. It generates two kinds of CAD/CAM data sets: One for the designer and another for the manufacturing and assembly folks. Remember: Never give design files away to the fab ! The fab gets plot and drill data, BOM, ... the CAM files.
These are general steps. They are mostly independent of the CAE system. The order in which they are executed may differ. However, all steps should be taken. Some steps might be required to be repeated once a design error or other mistake has been detected.
-
global attributes in sch/brd
-
update schematic and layout from all libraries (optional)
-
check net class settings
-
renumber sheets
-
check assembly variants (if any)
-
run statistics-schematic ulp to check for proper net names, prefixes, ...
-
run ERC
-
identify parts to be mounted or not to be mounted (attribute "BOM")
-
mind accessories (cables, wires, screws, clamps, washers, ...)
-
check orientation of connectors (pin 1, cable insertion, ...)
-
check board contours, size and position of mounting holes
-
check polygons (width, isolation, rank, bottlenecks, orphans, ...)
-
check plated millings in inner layers (if any)
-
ratsnet supply signals or ratsnet whole board (output should read "nothingn to do")
-
check stop mask of areas exposed due to fiducials or other objects (tracks might be exposed)
-
check stop mask between pads of fine pitch components
-
run DRC on signal layers exclusively
-
run DRC on keepout
-
inspect layer brd_placement notes (optional)
-
check silk screen (text size, font, ratio)
-
Make sure interactive parts (switches, connectors, LEDs, ...) have a text in silk screen that tells the purpose.
-
avoid silk screen on vias
-
value placement in brd (text size, font, ratio)
-
export netlist/partlist (pick & place) (optional, mkcam cares for that)
-
check layer markers in ALL layers (TOP, BOT, L2, L15, ...)
-
check fiducials (even positions)
-
check t/bCopper layer objects (layers 53/54)
-
draw measures
-
delete uselsess layers
-
update drill symbols (optional)
-
display all layers except tVal and bValue -> run DRC (mind assembly variants, if any)
-
export BOM from inside the schematic editor (in csv format, separator semicolon), send it to Stock Manager and copy the result in directory "bom" (see below)
-
make cam data with mkcam (see below)
-
review CAM files
-
ask for quoation at pcb-house (findings ?)
-
release
By default the "installer" just copies the script "mkcam" to $HOME/bin. This way the user is free to modifiy "mkcam" as she whishes. The bin directory must be created manually if not existing already. Make sure the $PATH environment variable is set properly.
sh install.sh
A target directory may be specified by the user like:
sh install.sh /home/ecad/bin
In order to have mkcam available for all users run the following command. This requires root privileges of course:
sh install.sh /usr/local/bin
Mkcam expects in the EAGLE project directory a subdirectory named "bom". A BOM file generated by Stock_Mangager should live there (see https://github.com/Blunk-electronic/stock_manager).
Change into the EAGLE project:
cd eagle/projects/my_project
The board file should be there:
ls my_project.brd
If your board file contains four signal layers, launch mkcam this way:
mkcam my_project.brd 4
The outcome will be a subdirectory named CAD_CAM where the archives can be found.