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 design tip, FAE Dave Cousineau describes a re-usable, highly effective way of managing output jobs using the PCB release capability of Altium Designer.

Using Output Job files to define and store the necessary documentation needs for any Altium Designer 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 Output Job file editor itself for generating the content for more than one Output Container at a time. Therefore, it may take many mouse clicks to generate your entire documentation package.

AD10 introduced a new Design Data Management process for releasing designs to production. The aim of this process is to make use of Altium’s revision control integration and the new Vault technology to provide an automated, high-integrity 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 this 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.

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. The reason that this is important is that this name is going to 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 each for two board manufacturers) plus a validation Output Job file that needs to be run regardless of which documentation Output Job file is used, then two Configurations can be created 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 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 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 get logged to 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 to run Generate Outputs. 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:

Checklist

Once you have a good understanding of the process outlined above, it might be helpful to have a short checklist of the steps necessary to automate the Output Job 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.

About the Author

Dave has been an Applications Engineer for 20 years in the EDA industry. He started in 1995 at a mid-Atlantic reseller that represented PADS Software, ViewLogic, and a host of other EDA tools. He moved on to work directly for PADS Software, and stayed on as they were acquired by Innoveda and then by Mentor Graphics. He and a business partner formed a VAR of their own in 2003 (Atlantic EDA Solutions) to represent Mentor's PADS channel, and later on Cadence's OrCAD and Allegro products. Since 2008, Dave has been working directly for Altium and is based at his home office in New Jersey.