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.
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:
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
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, and the fabrication drawing will need a Layer Stack Table and a Drill Table. These types of detail can be added in the PCB editor, in the PCBLIB Editor via footprint, or in Draftsman.
General Purpose Drawing Layers
In the PCB editor, detail such as dimensions, and fabrication and assembly instructions are added on mechanical layers. The software supports an unlimited amount of general purpose mechanical layers, which are enabled in the View Configuration panel. These layers can be named as required (right-click on the name then select Edit Layer), 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. As you place a dimension, click on an existing object to attach the reference point to that object (press Shift+E to cycle through the object snap-to modes). The dimension will remain attached if that object is moved. Dimensions have a range of configuration options, offering a high-level of customization of the arrows and text.
During dimension placement, press the Spacebar to change the orientation of the dimension, and keep an eye on the Status bar for instructions on what to do next. Also, if you press Tab and edit the properties during placement, those settings will become the defaults for that dimension type.
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 the PCB editor, 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 also can 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 eight times in a step and turn pattern (alternate boards flipped). This was created by placing two Embedded Board Arrays; one with the boards facing up and the other with the boards flipped. The layer stack, dimensioning, V-groove, and route 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.
► Read about the Embedded Board Array
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:
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 Including Design Data in the Excel 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:
Below is a summary of the available output types. Each output includes a link to the relevant setup/settings dialog:
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).
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.
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.
[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.
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.
► Read about PDF Settings
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.
► Read about Folder Structure Settings
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.
► Read about Video Settings
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.
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.
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:
► Read about Draftsman
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 Managed Projects and Releasing a Design
► Read about Board Design Release