The Excellon format [1] is a format used to drive CNC drilling and routing machines in electronics manufacturing of printed circuit boards (PCBs). It is a variant of the EIA RS-274-C standard.
It is an ASCII format consisting of commands to drill holes of specific diameters at specific locations on a PCB. A sample file:
M48 METRIC,TZ FMAT,2 ICI,OFF T02C0.8000 T01C0.9000 T03C1.9500 T04C3.2000 % M71 G90 G93X0Y0 T02 X125730Y16193 Y16828 Y17463 ... M30
The name Excellon format is derived from the Excellon Automation Company, which was market leader in PCB drilling and routing machines during the 1980s, and whose NC format became widely used.
The IPC organization defined a standard for NC files, the IPC-NC-349 format,[2] which is similar to the Excellon format.
Contents |
The Excellon format is used to exchange drill and rout data between CAD/CAM systems as well as to drive CNC machines. The Excellon format was designed for and is suited for driving a NC drilling machine. (There as some issues about specifying the coordinate format though.) It is not ideal for exchanging data between CAD/CAM systems: essential information such as plating and drill span is missing.
For data exchange between CAD/CAM systems it is more practical to describe the drill data in Gerber RS-274X format.[3] This is also a simple format, and quality of the RS-274X software is usually better than that of the Excellon output processors.
The name Excellon format or Excellon file is also commonly used for files that only vaguely follow any specification. These files contain a few Excellon commands, but follow neither the Excellon nor the IPC-NC-349 specification. It would be more appropriate to call them Excellon like or generic NC files. Commands are not used properly, or used in a syntactically incorrect way, or even binary data objects are included. Sometimes the historic EIA or EBCDIC character encoding is used instead of ASCII as required by the standards. Usually the header is incomplete: essential information such as the scale or the tool diameters is missing. Sometimes there is no header at all, and the file only contains tool numbers, with an unspecified diameter, and X,Y coordinates, in an unspecified unit. An example:
% T01 X006272Y001092 X006354Y001093 X006653Y001092 ... T02 X008091Y001754 X-002028 M30
These files are meaningless without additional information, typically put in a free format human readable tool file. This information must be re-entered manually by the CAD/CAM operator. When critical information is missing (e.g. ommiting leading or trailing zeroes without properly documenting if and which zeroes are omitted) the file is ambiguous. The user may substitute his own judgement or stop the job pending clarification.
These inadequate Excellon-like files are often used. They result in unnecessary manual labor and possibility of delays or errors. These so-called Excellon files give the format a worse reputation than it deserves.