Preparing Fabrication Data in Altium Designer

Now reading version 24. For the latest, read: Preparing Fabrication Data in Altium Designer for version 25

A wide range of PCB design fabrication file formats is available for both individual and output job file generation, including:

  • Gerber RS-274X and Gerber X2

  • ODB++

  • IPC-2581

  • NC Drill

  • Board Stack Report

  • Printed-based outputs: Composite Drill Drawings, Drill Drawing/Guides, Final Artwork Prints, Power-Plane Prints, Solder/Paste Mask Prints.

  • Fabrication Testpoint Report

It is advisable to consult with your board fabricator to confirm their requirements before supplying the output files required to fabricate your design.

Fabrication outputs can be added to the active Output Job file from the menu of the [Add New Fabrication Output] control in the Fabrication Outputs region of the file or from the Edit » Add Fabrication Outputs sub-menus of the main menus.

While OutputJob files facilitate streamlined preparation of outputs for your designs and their subsequent generation using the high-integrity project release process, fabrication outputs for the active PCB design can also be generated directly from the PCB editor using commands from the File » Fabrication Outputs sub-menu.
For NC Drill, Gerber, Gerber X2, and ODB++ outputs, files for all top and all bottom counterholes are generated instead of separate files for each counterhole type.

Generating Gerber Fabrication Data

Each file of the Gerber RS274X format (also known as Extended Gerber, or GerberX) corresponds to one layer in the physical board – the component overlay, top signal layer, bottom signal layer, the solder masking layers, etc. This file format includes aperture definitions, XY coordinate locations for draw and flash commands, and other information needed for PCB fabrication.

Gerber X2 is a direct, and much advanced, evolution of the Gerber RS-274X standard and adds a large range of additional data for PCB fabrication and assembly. Compared to the RS-274X standard, the Gerber X2 format includes critical information, such as:

  • Layer stack definitions
  • Pad and via attributes
  • Impedance controlled tracks

A prime advantage of the Gerber X2 format is backward compatibility with the old Gerber RS-274X standard. Being a multi-file standard, a target fab/assembly house that has not moved to the new standard can extract the traditional Gerber file elements as needed. This may be a significant advantage for those unwilling to tackle a major shift in fabrication file formats, or for fabrication houses with inflexible equipment and software.

The overall benefit of adopting the Gerber X2 format for transferring board design data to fabrication and assembly houses is the rich set of manufacturing data included in the file set and the backward compatibility to the previous standard for a low-risk upgrade path. With a full implementation at both ends of the CAD-CAM chain, the risks associated with data misinterpretation, file errors and variable data interpretation can be largely eliminated. In short, the Gerber X2 and IPC-2581 formats represent a new generation of board design to manufacture data transfer.

Useful links:

If the board has holes, an NC Drill file also needs to be generated, using the same units, resolution, and position on film settings.

With a project PCB file as the active document, the Gerber file set can be generated by selecting File » Fabrication Outputs » Gerber Files or File » Fabrication Outputs » Gerber X2 Files from the main menus. This opens an appropriate Gerber Setup or Gerber X2 Setup dialog in which you can define the plot layers and general configuration applied during the export process. See the collapsible sections below for detailed information on options and controls provided by these dialogs.

This page looks at Gerber file preparation using the Gerber Setup and Gerber X2 Setup dialogs available when the UI.Unification.GerberDialog option is enabled in the Advanced Settings dialog.

When the UI.Unification.GerberDialog option is disabled, Gerber file generation is performed using the previous iterations of the Gerber Setup and Gerber X2 Setup dialogs.

Gerber Setup and Gerber X2 Setup  dialogs
Gerber Setup and Gerber X2 Setup dialogs

Output is generated in the location defined in the Output Path field on the Options tab of the Project Options dialog. Generated file names will include the name of the PCB document.

Generated files will be added to the project and appear in the Projects panel under Generated\CAMtastic! Documents and Generated\Text Documents folders.

The generated Gerber output is also opened as a composite CAM document that can be edited and/or saved into the current project and managed via the CAMtastic panel.

To specify if the generated CAM output is automatically opened in Altium Designer, enable the Open outputs after compile option on the Options tab of the Project Options dialog (Project » Project Options).

Generating ODB++ Fabrication Data

ODB++ is a CAD-to-CAM data exchange format used in the design and manufacture of printed circuit boards. The format was originally developed by Valor Computerized Systems, Ltd., as an open database that could provide a more information-rich data exchange between PCB design software and Valor CAD-CAM software used by PCB fabricators.

The ODB++ Setup dialog provides controls to completely configure ODB++ file output options. The dialog is accessed in one of the following ways:

  • Using an ODB output generator in an OutputJob Configuration file (*.OutJob). The output is generated when the configured output generator is run.
  • In an active PCB document, click File » Fabrication Outputs » ODB++ Files. The output will be generated immediately upon clicking OK in the dialog.
The settings defined in the ODB++ Setup dialog when generating output directly from the PCB are distinct and separate from those defined for the same output type in an OutputJob Configuration file. In the case of the former, the settings are stored in the project file, whereas for the latter, they are stored in the OutputJob Configuration file.

This page looks at ODB++ output preparation using the ODB++ Setup dialog that supports ODB++ version 8.1 and legacy version 7.0. This dialog is in Open Beta and available when the ODB.Improvement option is enabled in the Advanced Settings dialog.

When the ODB.Improvement option is disabled in the Advanced Settings dialog, ODB++ output preparation is performed using the previous iteration of the ODB++ Setup dialog that supports ODB++ version 8.0.

 
 
 
 
 

Generating from an Embedded Board Array

When generating an ODB++ output from a PCB design that contains an embedded board array, the following statements apply:

  • The design is analyzed automatically for layer stack violations.
  • Embedded boards that are flipped will display their layer stacks as flipped.
  • Mid-signal layers and internal planes that are different can still appear on the same mid-layer panel.
  • Mid-signal layers and internal planes can be flipped against each other.

When generating ODB++ output from the PCB design, all objects on all layers enabled for plotting will be exported. If you only want to export design objects residing within the board outline, ensure that all additional layers containing objects outside of this boundary are disabled for plotting.

Location of Generated ODB++ Files

The output path for generated files depends on how the output was generated:

  • From an OutputJob file - the generated files are stored in a folder within the project folder. The naming and folder structure is defined in the Output Container that the ODB++ output is targeting.
  • Directly from the PCB - the output path is specified in the Project Options - Options dialog. By default, the output path is set to a sub-folder under the folder that contains the Project file and has the name Project Outputs for <ProjectName>. The output path can be changed as required. If the option to use a separate folder for each output type has been enabled in the Options tab, then the ODB++ files will be written to a further sub-folder named ODB++ Output.

Automatically Opening the Generated ODB++ Output

When generating ODB++ output, you can specify that the output is opened automatically in a new CAM document. The way in which this is accomplished depends on how you are generating the output:

  • From an OutputJob file - enable the ODB++ Output auto-load option in the Output Job Options dialog (Tools » Output Job Options from the OutputJob Editor).
  • Directly from the PCB - ensure that the Open outputs after compile option is enabled on the Options tab of the Project Options dialog (Project » Project Options).

Generating IPC-2581 Fabrication Data

Related to the existing ODB++ format, IPC-2581 is an open-source standard developed by the Institute for Printed Circuits IPC-2581 Consortium in 2004, but since refined to the most recent Revision A and B releases (IPC-2581A/B).

The standard has progressively gained wider acceptance as an alternative to the traditional fabrication output data composed of, typically, a collection of Gerber, Drill, BOM, and text files, etc. The previous need for a complex mix of fabrication files is due to the inherent limitations of the traditional RS-274x Gerber format, which lacks definitions for the layer stack, drill information, netlist data (electrical connectivity), and BOM information.

The IPC-2581 standard is officially titled ‘Generic Requirements for Printed Board Assembly Products Manufacturing Description Data and Transfer Methodology’ and offers an XML-based single file format that incorporates a rich range of board fabrication data - from layer stackup details though to full pad/routing/component information, and the Bill Of Materials (BOM).

A single IPC-2581 XML file can include:

  • Copper image information for etching PCB layers.
  • Board layer stack information (including rigid and flexible sections).
  • Netlist for bare board and in-circuit testing.
  • Components Bill-of-Materials for purchasing and assembly (pick-and-place).
  • Fabrication and Assembly notes and parameters.

The potential advantage of adopting the IPC-2581 format for transferring board design data to fabrication and assembly houses is centered on the highly-defined, detailed single file format that is fully understood at both ends of the chain. With a working system of CAD-CAM data exchange established, the risks associated with data misinterpretation, file errors, and variable Gerber interpretation, are largely eliminated. In short, both the IPC-2581 and Gerber X2 formats represent a new generation of board design to manufacture data transfer.

Useful links:

Functionality is provided courtesy of the IPC2581 extension (a Software Extension).

The IPC2581 extensionThe IPC2581 extension

The IPC-2581 functionality can only be accessed provided the IPC2581 extension is installed as part of your Altium Designer installation. This extension is installed by default when installing the software, but in case of inadvertent uninstall can be found on the Purchased tab of the Extensions & Updates page (click on the  control at the top right of the design space then choose Extensions and Updates from the menu). If reinstalling, remember to restart Altium Designer once the extension has been successfully downloaded and installed.

With a project PCB file loaded as the active document, an IPC-2581 file can be generated by selecting File » Fabrication Outputs » IPC-2581 from the main menu. This opens an initial IPC-2581 Configuration dialog in which you can specify the revision of the IPC-2581 standard to be used (A or B), as well as the measurement units and floating point number precision applied during the export process.

Define export settings in the IPC-2581 Configuration dialog.
Define export settings in the IPC-2581 Configuration dialog.

The precision setting determines the positional and sizing accuracy of the data within the generated IPC-2581 compliant file as illustrated in the image below.

The same section of an IPC-2581 file with the precision set to 2 (left) and 6 (right).
The same section of an IPC-2581 file with the precision set to 2 (left) and 6 (right).

The XML-based IPC-2581 file will be exported to the location defined in the Output Path field on the Options tab of the Project Options dialog. It will be named using the format <PCBDocumentName>.cvg.

The generated file will be added to the project and appear in the Projects panel under the Generated\Text Documents folder.

Generating NC Drill Fabrication Data

Drill files are used during the board fabrication process to drill holes through the PCB. NC Drill file output options are configured using the NC Drill Setup dialog.

The NC Drill Setup  dialog
The NC Drill Setup dialog

The NC Drill Setup dialog is accessed in one of the following ways:

  • Using an NC Drill output generator in an OutputJob Configuration file (*.OutJob). The output is generated when the configured output generator is run.
  • In an active PCB document, click File » Fabrication Outputs » NC Drill Files. The output will be generated immediately upon clicking OK in the dialog.
The settings defined in the NC Drill Setup dialog when generating output directly from the PCB are distinct and separate from those defined for the same output type in an OutputJob Configuration file. In the case of the former, the settings are stored in the project file, whereas for the latter, they are stored in the OutputJob Configuration file.

The NC Drill files should be created in the same format as the Gerber files. Otherwise, the drill locations might not match the pad/via locations. For example, if the Gerber files have been configured to use the 4:3 format, then the corresponding NC Drill files should use the same format. If Gerber files have been generated with the coordinate position on the film set to use either the absolute or relative origin, the NC Drill files should ideally be generated using the same origin reference.

Generated NC Drill Files

Filename Description
FileName.DRL Binary format drill file. For a multi-layer PCB that incorporates blind and/or buried vias, a separate drill file for each layer pair is created with a unique file extension.
FileName.DRR Drill report – detailing the tool assignments, hole sizes, hole count and tool travel.
FileName.TXT ASCII format drill file. For a multi-layer PCB that incorporates blind and/or buried vias, a separate drill file for each layer pair is created with a unique file extension.
FileName-Plated.TXT ASCII format drill file. Specifically for plated holes in a PCB design. A separate file will be created for each hole type – slotted, square or round.
FileName-NonPlated.TXT ASCII format drill file. Specifically for non-plated holes in a PCB design. A separate file will be created for each hole type – slotted, square or round.
FileName-BoardEdgeRout.TXT ASCII format rout file. Specifically for board outline including board cutouts.
FileName.LDP ASCII format drill pair report. Used by the CAM Editor to detect blind and buried vias.

Once generated, the output will be added to the project and appear in the Projects panel under the Generated folder in an appropriately-named sub-folder. If you have used a separate folder for each output type, then corresponding (separate) Generated folders will be added to the Projects panel (e.g., Generated (NC Drill Output)).

Location of Generated NC Drill Files

The output path for generated files depends on how the output was generated:

  • From an OutputJob file – the generated files are stored in a folder within the project folder. The naming and folder structure is defined in the Output Container that the NC Drill File output is targeting.
  • Directly from the PCB – the output path is specified in the Project Options – Options dialog. By default, the output path is set to a sub-folder under the folder that contains the Project file and has the name Project Outputs for <ProjectName>. The output path can be changed as required. If the option to use a separate folder for each output type has been enabled in the Options tab, the NC Drill files will be written to a further sub-folder named NC Drill Output.

Automatically Opening the Generated NC Drill Output

When generating NC Drill outputs, you can specify that the output is opened automatically in a new CAM document. The way in which this is accomplished depends on how you are generating the output:

  • From an OutputJob file – enable the NC Drill Output auto-load option in the Output Job Options dialog (Tools » Output Job Options from the OutputJob Editor).
  • Directly from the PCB – ensure that the Open outputs after compile option is enabled on the Options tab of the Project Options dialog (Project » Project Options).

Generating Board Stack Report

Altium Designer supports producing a Board Stack Report in Excel format (<PCBDocumentName>.xls), summarizing the defined layer stacks and the layers used in the stackup (in terms of layer name, material, thickness, and dielectric constant). The height of each stack is also summarized. Board Stack Report output options are configured using the Layer Stack Report Setup dialog from which you can specify the unit of measure and the columns you want to display in the report.

The Layer Stack Report Setup dialog
The Layer Stack Report Setup dialog

The Layer Stack Report Setup dialog described above is in Open Beta and available when the PCB.ModernBoardStackGenerator option is enabled in the Advanced Settings dialog. When this option is disabled, the Layer Stack Report Setup dialog from which you can only specify the unit of measure in the report is available – .

Generating Print-based Fabrication Data

The following outputs are print-based outputs with predefined settings for pages and layers thereon:

  • Composite Drill Guide - produces a predefined composite drill drawing for the source PCB document.
  • Drill Drawings - produces a predefined set of drill drawings and guides for the source PCB document.
  • Final - produces a complete, predefined final artwork print-set for the source PCB document.
  • Mask Set - produces predefined solder/paste mask drawings for the source PCB document.
  • Power-Plane Set - produces predefined power-plane drawings for the source PCB document.

Access the Print dialog to examine and adjust the configuration of the output.

Refer to the Configuring PCB Printouts page to learn more.

Generating Fabrication Testpoint Report

The fabrication testpoint report generator produces a report (in txt and/or csv and/or IPC-D-356A formats) of all pads and vias that are setup for use as fabrication testpoints.

Refer to the Assigning Testpoints on the Board page to learn more about assigning testpoints in a PCB design.

The testpoint report supports embedded board arrays. Multiple IPC-D-356A netlist files are produced when exported from a PCB document that contains multiple embedded board arrays.

Fabrication Testpoint Report output options are configured using the Fabrication Testpoint Setup dialog.

The Fabrication Testpoint Setup dialog
The Fabrication Testpoint Setup dialog

A fabrication testpoint report will only use pad and via Fabrication testpoint settings, while an assembly testpoint report will use only Assembly testpoint settings. Note that the Assembly Testpoint Setup dialog used to configure an Assembly Fabrication Report has the same set of options as the Fabrication Report Setup dialog.

Generated Fabrication Report Files

All generated testpoint files are named first by type (Fabrication or Assembly), then by filename. For example: Fabrication Testpoint Report for BoardFileName. The following file extensions are used, depending on which of the Report Formats is enabled: .txt, .CSV, .IPC (note that this is an ASCII file).

Location of Generated Fabrication Report Files

The output path for generated files depends on how the output was generated:

  • From an OutputJob file - the generated files are stored in a folder within the project folder. The naming and folder structure is defined in the Output Container that the Testpoint output is targeting.
  • Directly from the PCB - the output path is specified in the Project Options - Options dialog. By default, the output path is set to a sub-folder under the folder that contains the Project file and has the name: Project Outputs for ProjectName. The output path can be changed as required. If the option to use a separate folder for each output type has been enabled in the Options tab, then the Testpoint files will be written to a further sub-folder named Testpoint Output.

Automatically Opening the Generated Fabrication Report Output

When generating Testpoint output, you can specify that the output be opened automatically in a new CAM document. The way in which this is accomplished depends on how you are generating the output:

  • From an OutputJob file - enable the IPC-D-356A Output auto-load option in the Output Job Options dialog (Tools » Output Job Options from the OutputJob Editor).
  • Directly from the PCB - ensure that the Open outputs after compile option is enabled on the Options tab of the Project Options dialog (Project » Project Options).

Fabrication File Output through an Output Job File

To include fabrication file output in a project's Output Job Configuration file, click on [Add New Fabrication Output] under the Fabrication Outputs section then select an output type from the menu and the desired data source from the associated sub-menu.


Configure fabrication outputs as part of an Output Job file's Fabrication Outputs. Shown here is an example for Gerber X2 files.

When the OutJob is run – either manually, or as part of the project release process – the fabrication outputs will be generated in accordance with settings defined for the applicable Output Container.

Prepping fabrication outputs as part of a configured OutJob.
Prepping fabrication outputs as part of a configured OutJob.

The settings defined in related dialogs when generating fabrication outputs directly from the PCB are distinct and separate from those defined for the same output type in an OutputJob Configuration file. In the case of the former, the settings are stored in the project file, whereas for the latter, they are stored in the OutputJob Configuration file.
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Note

The features available depend on your Altium product access level. Compare features included in the various levels of Altium Designer Software Subscription and functionality delivered through applications provided by the Altium 365 platform.

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Content