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 to 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, ensuring 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.
Including Design Detail
Many of the outputs that you generate will require additional details, for example the manufacturing drawing will need dimensions, the assembly drawing might need an enlarged view of a specific area of the board, referred to as a Design View, and the fabrication drawing will need a Layer Stack Table and a Drill Table (add these via the Place menu).
General Purpose Drawing Layers
Detail such as dimensions, and fabrication and assembly instructions, are added on mechanical layers. The software supports the addition of up to 32 general purpose mechanical layers, which are enabled in the View Configuration dialog. These layers can be named as required (click on the name and press F2), and included in printouts and layer-based fabrication outputs.
The PCB editor includes a range of dimensioning tools, available in the Place » Dimension sub-menu. To place a dimension you click on existing objects to attach it, the dimension will remain attached if that object is moved (press Shift+E to cycle through the object snap-to modes). Dimensions have a range of configuration options, offering a high-level of customization of the arrows and text.
In the adjacent image, a Baseline dimension is being placed. During placement, keep an eye on the Status bar, it displays instructions on what to do next. Also, if you press Tab and edit the dimension properties during placement, those settings will become the defaults for that dimension type.
The PCB Design View object allows you to place a graphic snapshot of any rectangular shaped region of the current board, or another board.
A Design View can:
- Capture any area of the workspace
- Be placed at any size, anywhere in the workspace
- Have the captured view scaled to any size
- Show only the required layers
Read about the Design View
To help with the process of defining a suitable drawing template, the PCB editor can display a white sheet. To use the sheet, you link it to a mechanical layer (or multiple mechanical layers), and then instruct the software to locate and size the sheet based on the contents of those layers. Enable the relevant Linked To checkboxes to link the required mechanical layers to the sheet in the View Configuration dialog, then enable the auto sheet sizing and sheet display options in the Board Options dialog.
In the adjacent image, a sheet template has been added to the board, along with a layer stack and drill table. The template has been constructed on mechanical layers, using track and string objects. The layers required in the actual printouts are configured as part of the print setup, which is discussed below. There are a number of example templates supplied with the software, located in the
Creating a Fabrication Panel
A printed circuit board is not fabricated as a single entity, typically a number of boards are fabricated on a panel. The panel can be defined by the fabricator, or alternatively, the board designer can create a panel in Altium Designer, using a feature referred to as an Embedded Board Array.
An Embedded Board Array is an object that you place into the PCB workspace, and link to an existing board file. The Embedded Board Array stamps out the linked board from 1 to n times, at the specified spacing. By placing multiple Embedded Board Arrays you can also create a fabrication panel of different boards, or the same board can be laid out in a step and turn pattern.
The adjacent image shows a board repeated 8 times, in a step and turn pattern (alternate boards flipped). This was created by placing 2 Embedded Board Arrays, one with the boards facing up, the other with the boards flipped. The layer stack, dimensioning, V-groove and rout information has been added in this file, rather than in the original source PCB.
Since the Embedded Board Array links to the source PCB, any design changes made in the source PCB are loaded into the Embedded Board Array the next time the array board file is opened, or after performing a View » Refresh.
Read about the Embedded Board Array
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, which 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 PCB.
ActiveBOM offers a more sophisticated approach to BOM management. ActiveBOM is designed to be used when the components have been placed from an Altium Vault. It is added as an additional project document (
.BomDoc) and acts as a mapping file, bringing Vault data into the design project, in a configurable, spreadsheet-like format. Its greatest strength is the way it brings live component costings right into the project, giving instant visibility to component availability and potential supply risks.
The approach to working with an ActiveBOM is to use its BOM Catalog tab to map real-world Vault components to the design components, and then configure how that content is to be presented in the BOM Components tab.
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.
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. A list of available fields is detailed below:
Fields provide project-level information. These are not usually attached to each item listed in the BOM, but are often used in the header of the document. Fields are used in the format:
An example would be Field=Currency
The available fields include:
||Title (title of BOM)
As well as the default Fields listed in the table above, schematic Document Parameters (both default and user-defined in the schematic Document Options dialog) and Project Parameters (Options for PCB Project dialog) can also be used as Fields.
These are entered as:
If the same parameter exists as both a document parameter and a project parameter, the project parameter takes precedence. If the same document parameter exists in multiple documents, the document parameter that is higher up in the hierarchy takes precedence.
Below are the default document parameters, also referred to as the System parameters.
Columns provide the information that is supplied on a per-component basis, and would usually appear on each line in the BOM. Columns are defined by entering the column heading, in the format:
An example would be Column=Description, or Column=LibRef
Column information can be taken from several sources, including:
- Default component parameters (such as Designator or Description),
- User-defined parameters added to components,
- PCB data,
- Supplier data.
These ColumnNames are available for all components:
Pick and Place type information can also be included from the PCB. In order to use these columns, the checkbox Include Parameters From PCB must be ticked in the Report Manager dialog.
It is possible to retrieve online data from suppliers, and feed that into the BOM. Note that these are updated live, and are retrieved when the BOM is generated. Multiple suppliers can be set up for each component. In the table below, these have been described as Supplier Info x - replace x with the appropriate number.
||Manufacturer Part Number x
|Supplier Currency x
||Supplier Order Qty x
||Supplier Part Number x
|Supplier Stock x
||Supplier Subtotal x
||Supplier Unit Price x
Because a variety of technologies and methods exist in PCB manufacture, the software has the ability to produce numerous output types for different purposes.
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 further down the page 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 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.
- 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.
- 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.
- 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.
- Bill of Materials - use the report generator to create a list of parts and quantities (BOM), in various formats, required to manufacture the board.
- Component Cross Reference Report - use the report generator to creates a list of components, based on the schematic sheet that they are on in the design.
- Report Project Hierarchy - creates a list of source documents used in the project. This output has no setup options, the ASCII report is written to the specified output folder.
- Report Single Pin Nets- creates a report listing any nets that only have one connection. This output has no setup options, the ASCII report is written to the specified output folder.
- Simple BOM - creates text and CSV (comma separated variables) files of the BOM. This output has no setup options, the ASCII report is written to the specified output folder.
- Electrical Rules Check - formatted report of the results of running an Electrical Rules Check. This output has no setup options, the ASCII report is written to the specified output folder.
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 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).
Introduced in Altium Designer 17.0, 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.
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 the one Output Container.
- To configure an Output Container, double-click on it, or click the Change link. A Settings dialog will open, there is link to each type of Settings dialog below.
- 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, which you do by: selecting the output; then the container; then clicking that output's Enable radio button. A green link will then be draw between that output and its container.
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. 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.
A red link indicates a mismatch between the page setup, and the page properties available in the chosen container.
High Quality Documentation Output with Draftsman
Draftsman is an alternate way to create the graphical documents for board design production. Based on a dedicated file format and set of drawing tools, the Draftsman drawing system provides an interactive approach to bringing together fabrication and assembly drawings with custom templates, annotations, dimensions, callouts, and notes.
Key Draftsman features include:
- Automated extraction of drawing data from the source PCB document.
- Creation of multi-page documents.
- Support for multiple drawing views (Assembly View, Fabrication View, Section View, or Drill Drawing View).
- Assembly Views that include graphics generated from 3D Models.
- Customizable Layer Stack Legend with the option to add detailed layer information.
- Customizable BOM table.
- Callouts to indicate BOM item positions or items from a Notes list.
- Support of assembly Variants.
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 Vault for storage of the released output. The source for a managed project is stored in a repository controlled by the Vault.
Where to Next?