Automate Output Job File Processing with PCB Release View in Altium Deisgner
There are many ways to peel an orange - so to speak - and some are better than others. And when it comes to generating fabrication and assembly outputs from your designs this adage holds true. In this PCB design tip, FAE Dave Cousineau describes a re-usable, highly effective way of managing output jobs using the PCB design release capability of Altium Designer®.
Using Output Job files to define and store the necessary documentation needs for any Altium project is an extremely efficient and powerful feature. As more output types are supported by Output Job files (footprint comparison report, STEP file export, and 3D Movie creation have been added for AD10), or your company’s documentation requirements increase, the number of Output Containers needed can get quite large. There is currently no method within the Altium Output Job file editor itself for generating the content for more than one Output Container at a time for a batch job. Therefore, it may take many mouse clicks to generate your entire documentation package.
AD10 introduced a new Design Data Management process with standard output for releasing designs to production. The aim of this process is to make use of Altium’s revision control integration and the new technology to provide an automated, high-integrity job output design release system. However, customers not using revision control or Vaults can still make use of some of the automation provided. This automation can be used to batch-process one or more Output Job files and is outlined below.
Editing the Output Job files
The first step in output file process is to set the Output Containers so that the Release Process will detect that Container. This is done by first clicking the Change link in a Container’s setup:
If the Base Path is not set to [Release Managed], click the name of the current base output folder.
This will drop down a small window showing [Release Managed] and [Manually Managed] choices. Select the [Release Managed] option. Now, instead of the outputs being written to the location specified by the [Manually Managed] folder name, the main output location will be determined by the Release Process.
If the Base Path is currently set to [Release Managed], then it can be left as-is. The sub-folder names can be edited, if desired.
Repeat this process for each of the Containers. If there are multiple Output Job files, edit those as well.
Creating a Configuration
The next step is to use a new area in AD10 called the Configuration Manager. This is accessed by right-clicking the .PrjPCB file name in the Projects panel, and selecting “Configuration Manager.” Additionally, if any file in the Project is currently opened, the Configuration Manager can be accessed via the Project menu.
As part of the official release process, a Configuration is a way to set up how a project is to be output in order to map it to a particular Item to be manufactured. More on this concept can be found here:
For the purposes of automating the Output Job execution, the only thing that needs to be done is to edit the existing default Configuration:
The name of the default Configuration should be changed as this name will be used as the Base folder name when the outputs are generated. This folder will be created in the Project folder. For this example, the Configuration will be named “Outputs.”
The next step is to enable which Output Job file(s) are going to be run. Notice the names of two Output Job files from the Project are shown in the image below. Both will be run in this example.
Since no Vault is being used, the Target Vault can be left at [None] and the Target Item can be left empty. The resulting Configuration is as shown here:
If desired, multiple Configurations can be created to accommodate different combinations of *.Outjob files. For instance, if there are two documentation Output Job files (one for each of two board manufacturers) and need to run a validation Output Job file, create the two Configurations as below:
Click OK to dismiss the Configuration Manager. The information created here is stored in the .PrjPCB file, so save the Project at this point.
Releasing the Design
The last step is to create the outputs. Another new view for AD10 is the PCB Design Release View, accessed via the View menu. This view loads the Configuration(s) created in the Configuration Manager and allows the user to run all of the Altium Output Job files in the Configuration at once. Notice that the name of the Configuration is shown. If multiple Configurations existed, they would be shown here in a tabbed view, allowing you to choose which one to run.
In the official release process (targeting a Vault item), you have the option of working in Design Mode or Release Mode. Release mode is only available when the design is checked in and current with revision control, and when a Release Vault is set up. Since neither of those is true here, only Design Mode will be available.
In Design Mode, only two steps of the release process are available – Validate Design and Generate Outputs.
Validate Design will be available if any of the Validation Outputs were added to the Output Job file. They include Design Rules Check, Differences Report, Electrical Rules Check, and Footprint Comparison Report. Three of these checks are present in the Validation.OutJob file used here.
Clicking the Validate Design button will run just those checks at this point. Any Errors or Warnings will show in the Messages panel. Once the Validate Design step has been completed, the status of those checks will updated in the list as shown in the image below:
It is important to note that because this is meant to support an official release flow, any validation checks that fail will cause the output generation process to stop. The failures must be addressed before continuing.
When all validation checks have been marked as "Passed," the rest of the outputs can now be generated by clicking Generate Outputs. Keep in mind that it is not necessary to first run the Validate step prior to running the Generate Outputs command. If any of the validation checks are not in the Passed state (i.e., Missing, Out Of Date, Failed), running Generate Outputs will automatically run Validate Design first. If all validation checks pass, the rest of the outputs will be generated and sent to the folder defined by the Configuration name. The full path to the folder is listed at the bottom of the Release View as shown below:
Once you have a good understanding of the job output process outlined above, it might be helpful to have a short checklist of the steps necessary to automate the output file process. There are really just three main steps:
- Edit the Containers in the Output Job files to be [Release Managed] instead of [Manually Managed].
- Right-click the Project name to access the Configuration Manager. Set the Configuration name as the name of the main output folder name desired. Enable the necessary Output Job files.
- Go to View/PCB Release View, and click Generate Outputs to run the validation checks and generate the outputs.