PCB NC formats

Last updated

PCB NC drill files convey PCB drilling and routing information. The NC formats were originally designed by CNC drill and route machine vendors as proprietary input formats for their equipment, and are known under their company name: Excellon, Hitachi, Sieb & Meyer, Posalux, etc. These formats are similar as they are based on RS-274-C and related to G-code. In 1985 IPC published a generic standard NC format, IPC-NC-349. Later XNC was designed, a simple strict subset of IPC-NC-349, designed not for driving machines but for exchanging drill information between CAD and CAM. They are collectively referred to as (PCB) NC files. [1] [2]

Contents

The NC files are primarily used to drive CNC machines, and they are adequate for that task.

They are also used to exchange design information between CAD and CAM, for which they are not adequate: essential information such as plating and drill span is missing. Furthermore, the NC output in CAD systems is often poorly implemented, resulting in poor registration between drill holes and copper layers and other problems. To exchange data between CAD and CAM it is more preferred to use the Gerber format. The quality of the Gerber file output software is typically good, and Gerber supports attributes to transfer meta-information such as plating and span. [3] [4]

IPC-NC-349 format

The IPC-NC-349 format is the only IPC standard governing drill and routing formats. [5] XNC is a strict subset of IPC-NC-349, Excellon a big superset. Many indefinite NC files pick some elements of the IPC standard. [1]

A digital rights managed copy of the specification is available from the IPC website, for a fee. It is targeted at input for drill/rout machines, not CAD to CAM data exchange.

XNC format

The XNC format is strict subset of the IPC-NC-349 specification targeted at data exchange between CAD and CAM. The name XNC format stands for Exchange NC format. As a strict subset, it is highly compatible with existing software. Its purpose is to address the current chaos of different subsets and incomplete NC files, and define a simple common standard. The XNC subset was defined by a consortium formed by Graphicode, Ucamco, KiCad and Pentalogix.

The specification is freely available among others at the Ucamco download page. The specification is brief, detailed, easy to understand and unambiguous. It is targeted at CAD to CAM data exchange, not at input for drill/rout machines. [6] [7]

An example:

M48 Start of header METRIC              Metric units (mm) T01C0.6Tool 1 has diameter 0.6mm T02C1.0Tool 2 has diameter 1.0mm %                   End of header G05 Set drill mode T01Select tool 1 X8.5Y4.8Drill a hole of 0.6 mm at coordinates 8.5mm,4.8mm X8.55Y2.85Drill X6.54Y2.85Drill X6.45Y4.8Drill T02Select tool 2 G00X10.25Y3.825     Move to coordinates 10.25mm,3.825mm M15 Plunge rout tool down G01X6.50Y3.25       Rout to coordinates 6.5mm,3.25mm M16 Lift rout tool up M30 End of file 

Excellon format

The name Excellon format is derived from the company Excellon Automation (not to be confused with Excellon Software), which was the market leader in PCB drilling and routing machines during the 1980s, and whose proprietary format became widely used.

There are actually two Excellon formats, the older Excellon 1 and Excellon 2. Excellon 2 is a superset of IPC-NC-349. Commands from both are sometimes confusingly mixed in the same file.

Excellon Automation stopped publishing the specification of its format, without statement on the IP and usage rights of the format. An archived copy exists. [8] The specification is ambiguous, leading to different interpretations, especially in the area of coordinates and units. It is targeted at input for drill/rout machines, not CAD to CAM data exchange.

Indefinite NC files

CAD/CAM data exchange often uses NC files that do not conform to any specification. These files contain a few IPC-NC-349 commands, but follow neither the Excellon nor the IPC-NC-349 specification. Commands are not used properly, or are used in a syntactically incorrect way, and binary data objects may be included. Sometimes the historic EIA or EBCDIC character encoding is used. Usually the header is incomplete: 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. They are often called Excellon files although they are undefinite NC files. No specification exists.

An example:

% T01X006272Y001092X006354Y001093X006653Y001092 ... T02X008091Y001754X-002028M30

The tool diameters and how to interpret the coordinates is not specified. This file is 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, with unnecessary manual labor and risk of delays or errors. Astonishingly, such enigmatic files are still used. [1]

See also

Related Research Articles

A photoplotter is a specialized electro-opto-mechanical machine that exposes a latent image on a medium, usually high-contrast monochromatic (black-and-white) photographic film, using a light source under computer control. Once the film has been exposed, it must be processed before it is ready for use.

<span class="mw-page-title-main">Computer-aided manufacturing</span> Use of software to control industrial processes

Computer-aided manufacturing (CAM) also known as computer-aided modeling or computer-aided machining is the use of software to control machine tools in the manufacturing of work pieces. This is not the only definition for CAM, but it is the most common. It may also refer to the use of a computer to assist in all operations of a manufacturing plant, including planning, management, transportation and storage. Its primary purpose is to create a faster production process and components and tooling with more precise dimensions and material consistency, which in some cases, uses only the required amount of raw material, while simultaneously reducing energy consumption. CAM is now a system used in schools and lower educational purposes. CAM is a subsequent computer-aided process after computer-aided design (CAD) and sometimes computer-aided engineering (CAE), as the model generated in CAD and verified in CAE can be input into CAM software, which then controls the machine tool. CAM is used in many schools alongside computer-aided design (CAD) to create objects.

<span class="mw-page-title-main">Numerical control</span> Computer control of machine tools, lathes and milling machines, also used on 3D printers

Numerical control is the automated control of machining tools by means of a computer. A CNC machine processes a piece of material to meet specifications by following coded programmed instructions and without a manual operator directly controlling the machining operation.

<span class="mw-page-title-main">Gerber format</span> Standard file format used for designing printed circuit boards

The Gerber format is an open, ASCII, vector format for printed circuit board (PCB) designs. It is the de facto standard used by PCB industry software to describe the printed circuit board images: copper layers, solder mask, legend, drill data, etc.

<span class="mw-page-title-main">IGES</span> Initial Graphics Exchange Specification

The Initial Graphics Exchange Specification (IGES) is a vendor-neutral file format that allows the digital exchange of information among computer-aided design (CAD) systems. It's an ASCII-based textual format.

<span class="mw-page-title-main">EAGLE (program)</span> Scriptable electronic design automation application

EAGLE is a scriptable electronic design automation (EDA) application with schematic capture, printed circuit board (PCB) layout, auto-router and computer-aided manufacturing (CAM) features. EAGLE stands for Easily Applicable Graphical Layout Editor and is developed by CadSoft Computer GmbH. The company was acquired by Autodesk Inc. in 2016.

<span class="mw-page-title-main">STL (file format)</span> File format

STL is a file format native to the stereolithography CAD software created by 3D Systems. STL has several backronyms such as "Standard Triangle Language" and "Standard TessellationLanguage". This file format is supported by many other software packages; it is widely used for rapid prototyping, 3D printing and computer-aided manufacturing. STL files describe only the surface geometry of a three-dimensional object without any representation of color, texture or other common CAD model attributes. The STL format specifies both ASCII and binary representations. Binary files are more common, since they are more compact.

CAD data exchange is a method of drawing data exchange used to translate between different computer-aided design (CAD) authoring systems or between CAD and other downstream CAx systems.

<span class="mw-page-title-main">STEP-NC</span> Machine tool control language

STEP-NC is a machine tool control language that extends the ISO 10303 STEP standards with the machining model in ISO 14649, adding geometric dimension and tolerance data for inspection, and the STEP PDM model for integration into the wider enterprise. The combined result has been standardized as ISO 10303-238.

<span class="mw-page-title-main">CNC router</span> Computer-controlled cutting machine

A computer numerical control (CNC) router is a computer-controlled cutting machine which typically mounts a hand-held router as a spindle which is used for cutting various materials, such as wood, composites, metals, plastics, glass, and foams. CNC routers can perform the tasks of many carpentry shop machines such as the panel saw, the spindle moulder, and the boring machine. They can also cut joinery such as mortises and tenons.

<span class="mw-page-title-main">WorkNC</span>

WorkNC is a Computer aided manufacturing (CAM) software developed by Sescoi for multi-axis machining.

<span class="mw-page-title-main">PCB (software)</span>

PCB is a free and open-source software suite for electronic design automation (EDA) - for printed circuit boards (PCB) layout. It uses GTK+ for its GUI widgets.

<span class="mw-page-title-main">DesignSpark PCB</span>

DesignSpark PCB is a free electronic design automation software package for printed circuit boards. Although there is no charge for the software, the user must register with DesignSpark.com to unlock the program and it displays advertisements which must be acknowledged before the user can begin working.

<span class="mw-page-title-main">DipTrace</span>

DipTrace is a software suite for electronic design automation (EDA) to create schematic diagrams and printed circuit board layouts. DipTrace has four modules: schematic capture editor, PCB layout editor with built-in shape-based autorouter and 3D preview, component editor, and pattern editor.

<span class="mw-page-title-main">ODB++</span> Proprietary CAD-to-CAM data exchange format

ODB++ is a proprietary CAD-to-CAM data exchange format used in the design and manufacture of electronic devices. Its purpose is to exchange printed circuit board design information between design and manufacturing and between design tools from different EDA/ECAD vendors. It was originally developed by Valor Computerized Systems, Ltd. as the job description format for their CAM system.

Schindler&Schill GmbH is a German software company, founded 2008 in Regensburg by two experts on Windows based software. The company also trades under EasyLogix.

Tool management is needed in metalworking so that the information regarding the tools on hand can be uniformly organized and integrated. The information is stored in a database and is registered and applied using tool management. Tool data management consists of specific data fields, graphics and parameters that are essential in production, as opposed to managing general production equipment.

<span class="mw-page-title-main">Autotrax</span>

Autotrax was a free software application that ran on DOS on an IBM or compatible PC. It was designed by Protel Systems, and was one of the first professional printed circuit board CAD applications available for personal computers. It is a freeware download and also available in a stripped-down version marketed as Easytrax.

<span class="mw-page-title-main">PCB reverse engineering</span>

Reverse engineering of Printed circuit boards is the process of generating fabrication and design data for an existing circuit board, either closely or exactly replicating its functionality.

References

  1. 1 2 3 Charras, Jean-Pierre. "XNC Format: Gerber Takes Data Into the Future" (PDF). Retrieved 7 April 2019.
  2. "PCB Layout Data". Eurocircuits. Archived from the original on 6 December 2011. Retrieved 26 November 2011.
  3. ""Gerber Format Specification"" (PDF). Ucamco.
  4. Tavernier, Karel. "PCB Fabrication Data - A Guide - section on drill files" (PDF). Retrieved 16 January 2015.
  5. IPC-NC-349 Computer Numerical Control Formatting for Drillers and Routers, published in 1985
  6. "CAD software firms develops XNC format for PCB drill date". pcdandf. Retrieved 26 February 2019.
  7. "XNC file format specification". Ucamco. Retrieved 26 February 2019.
  8. "Former Excellon format description". Archived from the original on 2007-10-30. Retrieved 2007-10-30.