The final phase of the board design cycle is to generate the output files needed to fabricate, assemble and test the printed circuit board. To do this, you need to generate a variety of output files in a variety of formats.
The ultimate objective is to fabricate and assemble the board.
As the designer, you have the choice of individually configuring and generating the outputs via the schematic and PCB editor's File and Reports menus, or alternatively, you can add all of the required outputs into an OutputJob and generate them from there.
This article summarizes the key elements of generating output from Altium Designer.
An OutputJob, or OutJob for short, is essentially a container for individually configured outputs. The settings for these outputs are stored in the OutJob file, which is an ASCII file that becomes part of the project.
Using an OutputJob has a number of advantages:
- All outputs are configured in, and generated from a single location.
- Multiple outputs can be streamed into a single output file if required - for example, schematic prints and PCB layout prints can be output into the same PDF.
- OutputJobs are used in a managed project, allowing for controlled release of the design.
- OutputJob files can be copied from one project to another, insuring that your company's preferred output settings are always used.
A new OutputJob can be added to the project via the File » New sub-menu, or by right-clicking on the project in the Projects panel.
► Read about Preparing Multiple Outputs in an OutputJob
The Bill of Materials
Another key output document is the Bill of Materials. Rather than having a specific BOM generator, the software includes a powerful report generator. As well as being used to generate a BOM, it can also be configured to generate other component-type outputs, such as a component cross reference or a pick and place file.
Altium Designer includes a highly configurable report generator that is used to generate a detailed Bill of Materials. Referred to as the Report Manager, the dialog is used to:
- Configure which design properties are to be included in the BOM.
- Arrange the content in the order needed in the BOM.
- Apply custom column-level, spreadsheet-like filters if required.
- Enable different component source options.
- Enable supplier options.
- Configure the export file format.
- Select an Excel BOM template, if the export format is XLS or PDF.
To use the BOM Report feature, add a Bill of Materials to the OutputJob and set the Data Source to
[Project], which means the schematic project. For a pick and place file, the Data Source would be set to the
► Read about the Report Manager
ActiveBOM offers a more sophisticated approach to BOM management, allowing a customizable BOM to be developed during the design process. It is added as an additional project document (
.BomDoc) and as well as the placed parts, it supports manually added components and BOM-specific data, for example; yet-to-be-detailed parts, fasteners, the blank board, or the mounting glue. Custom columns can also be added, including a specific Line number column, which offers both auto and manual numbering, with full copy/paste support.
Its greatest strength is that it is tightly coupled to the Altium Cloud Services, bringing live component costings right into the project, providing the designer with instant visibility to component availability and potential supply chain risks.
As with a standard BOM report, the actual ActiveBOM output is generated by adding a Bill of Materials in an OutputJob. Rather than selecting the
[Project] as the Data Source in the OutputJob, instead you select
[ActiveBOM Document] (or the ActiveBOM by name), as the Data Source.
► Read about BOM management with ActiveBOM
Mapping Design Data into the BOM
Design data can be passed from Altium Designer into an Excel-format Bill Of Materials by including special statements in the Excel template that is used during BOM creation.
When creating the Bill of Materials template in Excel, a combination of Field and Column declarations can be used to specify the design properties that you want included in the BOM. Several example templates are provided with Altium Designer in the
\Templates folder of the installation user-files.
► Read about Mapping Design Data into the BOM
Because a variety of technologies and methods exist in PCB manufacture, the software has the ability to produce numerous output types for different purposes.
An OutJob is a pre-configured set of outputs. Each output is configured with its own settings and its own output format, for example, output to a file or to a printer. OutJobs are very flexible – they can include as many or as few outputs as required and any number of OutJobs can be included in a project. The best approach is to use one OutJob to configure all outputs required for each specific type of output being generated from the project. For example, all outputs required to fabricate the bare board go in one OutJob, all outputs required to assemble the board go into a second OutJob, and so on.
OutJobs also can hold validation-type checks, such as ERC and DRC reports. These reports are useful for a final thumbs up check just before generating the outputs and can then be held as a record that the design was ready for release.
Portable in nature, OutJobs can also be re-used between designs by copying the Output Job file from one project to the next one then resetting the Data Source as required.
Output files are written to the following locations, for:
- Individually generated outputs - to the location specified in the Output Path field in the Options tab of the Options for Project dialog.
- OutputJob container - to the location specified in the Settings dialog. Use the links below to access the various container Settings dialogs.
Below is a summary of the available output types. Each output includes a link to the relevant setup/settings dialog:
- Assembly Drawings - component positions and orientations for each side of the board.
- Pick and Place Files - used by robotic component placement machinery to place components onto the board. Note that the Report Generator can also be used to generate a Pick and Place file, and is highly configurable.
- Test Point Report - as ASCII file, available in 3 formats, that details the location of each pad/via that has been nominated as a testpoint.
Refer to the Preparing Assembly Data page to learn more.
- PCB Prints - configure any number or printouts (pages), with any arrangement of layers and display of primitives, use this to create printed outputs such as assembly drawings.
- PCB 3D Prints - views of the board from a three-dimensional view perspective.
- PCB 3D Video - output a simple video of the board, based on a sequence of 3D key-frames defined in the PCB editor's PCB 3D Movie Editor panel.
- PDF 3D - generate a 3D PDF view of the board, with full support to zoom, pan and rotate in Adobe Acrobat®. The PDF includes a model tree, giving control over the display of nets, components and the silkscreen.
- Schematic Prints - schematic drawings used in the design.
The related indexed commands can be accessed from the Output Job Editor from the Edit » Add Documentation Outputs sub-menus or from the menus associated with the [Add New Documentation Output] control, at the bottom of the Documentation Outputs region, in the main job configuration window.
- Report Board Stack - produces a board stack report summarizing the defined layer stacks and the layers used in the stackup.
- Composite Drill Drawings - drill positions and sizes (using symbols) for the board in one drawing.
- Drill Drawing/Guides - drill positions and sizes (using symbols) for the board in separate drawings.
- Final Artwork Prints - combines various fabrication outputs together as a single printable output.
- Gerber Files - creates manufacturing information in Gerber format.
- Gerber X2 Files - a new standard that encapsulates a high-level of design information, with backward compatibility to the original Gerber format.
- IPC-2581 File - a new standard that encapsulates a high-level of design information within a single XML file.
- NC Drill Files - creates manufacturing information for use by numerically controlled drilling machines.
- ODB++ - creates manufacturing information in ODB++ database format.
- Power-Plane Prints - creates internal and split plane drawings.
- Solder/Paste Mask Prints - creates solder mask and paste mask drawings.
- Testpoint Report - creates test point output for the design in a variety of formats.
Refer to the Preparing Fabrication Data page to learn more.
Netlists describe the logical connectivity between components in the design and are useful for transferring the design to other design platforms. A large variety of netlist formats are available. A small number are installed by default, the others require the installation of the Netlisters platform extension.
A number of reports such as BOM, project hierarchy report, and project comment PDF, can be prepared for the project or one of its documents. Refer to the Preparing Reports page to learn more.
The software includes a number of validation checks, which can be included as an output, during output generation. Each produces an HTML report file.
Note that the setup for these validation reports is held in the OutputJob. When you configure a validation check elsewhere in the software the settings are held with that file - for example the settings for project error checking are stored in the project file, PCB DRC settings are stored in the PCB file.
The SPICE netlist is a textual representation of the circuit. To add a netlist output to the active OutputJob file, select a command from the Edit » Add Simulator Outputs sub-menus or the menus associated with the [Add New Simulator Output] control, at the bottom of the Simulator Outputs region, in the main job configuration window.
The software is able to export data into a large number of formats. The options available in this section of the OutputJob will depend on which exporters are currently installed in Altium Designer. Exporters are installed in the Extensions and Updates view, they are provided either as platform extensions (supplied with the software, as a pre- or post-installation option), or as software extensions (extensions that are installed and managed separately from the core software).
This output type allows non-native Altium Designer file types to be included as part of the output. It copies the targeted files from within the project directory structure, to the folder specified in the configured Folder Structure output container. Files to be copied are configured in the Copy Files List Setup dialog - right-click on the Copy Files Job (added under the PostProcess Outputs heading) and select Configure, to open the dialog.
The related indexed commands can be accessed from the Output Job Editor from the Edit » Add Post Process Outputs sub-menus or from the menus associated with the [Add New PostProcess Output] control, at the bottom of the PostProcess Outputs region, in the main job configuration window. Once a new PostProcess Output has been added, right-click its entry in the main job configuration window then click Configure to access the Copy Files List Setup dialog. Use this dialog to add multiple files or groups of files to an OutJob.
The Copy Files List Setup dialog
- Files and folders - displays the files and folders to be copied.
- Include subfolders - enable to include subfolders of the listed file or folder. This option is available only after a file or folder has been added using the Add button.
- Preserve folder structure - enable to ensure that the file source folder structure is retained when the Output generator is run. This option is available only after a file or folder has been added using the Add button.
- Add - click to open the Build Macro Path dialog to search for and add the path for the desired file(s)/folder(s) using an assembled macro string.
- Edit - click to open the Build Macro Path dialog in which you can edit the path of the selected file(s)/folder(s) using an assembled macro string..
- Remove - click to remove the selected file(s).
Output Formats and Output Containers
If you are generating output via the schematic or PCB editor menus, then the outputs are generated directly when you click OK in the relevant dialog. Use the links in the previous section to access the setup dialog for a specific output type.
If you are generating outputs via an OutputJob, the process is slightly different. In an OutputJob, each output you add and configure must then be mapped to an Output Container. The Output Container holds the setup for one of types of output formats, each of which is discussed below. When both the output and the container are configured, click the Generate content link in the Output Container to create that output.
- Any number of new Output Containers can be added - click the Add New link at the bottom of each list.
- Multiple outputs of the same output type can be mapped to one Output Container.
- To configure an Output Container, double-click on it, or click the Change link. A Settings dialog will open.
- The Output Container can be renamed - click once to select the output container, pause, then click a second time to edit the name.
- Unless you are using the managed project feature, you should change the Output Management mode to
[Manually Managed] in the appropriate Settings dialog.
The software includes a powerful PDF generator, which can be configured to create navigation bookmarks in the PDF file for the component designators and the nets.
PDF's can also include bookmarks to the components and nets.
Schematic component parameters can also be included in the PDF, click on the component symbol in the PDF to display them. HelpURL and ComponentLinks can become links in the PDF, if they are defined in the Device Independent Path format, as described below.
Files into a Folder Structure
Many of the output types generate their output in a specific, industry-standard format, such as ODB++, IPC-2581, or Gerber. The OutputJob Output Container for these output types is used to configure the naming and structure of the folders that are to be used for these output files. The Setup dialog also includes options to auto-open the output in Altium Designer's CAM editor.
This Output Container type is used for PCB 3D Video outputs. The Media Settings, including the video type and format, are configured in the Output Container.
Printed output is not actually an Output Container, as the output is generated directly by the targeted printer. Double-click on the printer icon to configure the printer.
Why is my Output to Container Link Red
Each output setting must be mapped to a suitable container or hard copy output device, which you do by: selecting the output; then the container (or device); then clicking that output's Enable radio button. A green link will then be draw between that output and its container/device.
Sometimes when you create the link, it is shown in red instead of green. This indicates that there is a mismatch between the current page settings of the output, and the page settings available in the mapped container/device. To resolve this, right-click on the output and select Page Setup, then in the Properties dialog, ensure that the paper/page is set to a size that is also available in the container/device.
A red link indicates a mismatch between the page setup, and the page properties available in the chosen container.
Outputs and Managed Projects
For many designers, generating the output files from an OutputJob is the final stage of their work in Altium Designer.
However, there are also many designers that need to have tighter control over the design-to-release process, a requirement that can be met by creating the project as a managed project, and then releasing it using Altium Designer's formal managed board design release process. In this situation, the OutputJob acts as a output setup document, defining validation and output generation tasks that must be successfully performed for outputs to be generated.
Managed projects and the managed board design release process use the Altium Server for storage of the released output. The source for a managed project is stored in a repository controlled by the Server.
► Read about Management of Projects
► Read about Board Design Release
Where to Next
► Preparing Multiple Outputs in an OutputJob
► Configuring PCB Printouts
► BOM Management with ActiveBOM
► BOM Generation with the Report Manager
► Design Documentation Generation with Draftsman
► PDF3D Exporter
► 3D PCB Video
► Board Design Release