Automate Output Job File Processing with PCB Release View
Altium Designer users can use Altium Vault to produce automated, high-integrity design release systems that automate output job file processing.
Using Output Job files to define and store the necessary documentation needs for any Altium Designerproject is an extremely eﬃcient and powerful feature. As more output types are supported by Output Job files (e.g., footprint comparison report, STEP file export, 3D Movie creation), 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.
Several years ago, Altium introduced a new design data management process for releasing designs to manufacturing so that you can adhere to production schedules. The aim of this process is to make use of the Altium Vault technology to provide an automated, high-integrity PCB release management system. However, customers not using Vault can still make use of some of the automation provided. This automation can be used to batch fileprocess one or more Output Job files and is outlined below.
Figure 1 - Modifying Output Containers
Figure 2 - Modifying Output Containers
The first step in this process is to edit and Automate Output Job file processing output containers so that therelease 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.
Figure 3 - Modifying Output Containers
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.
Figure 4 - Modifying Output Containers
Repeat this process for each of the containers. If there are multiple Output Jobfiles, edit those as well.
The next step is to use 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 oﬃcial release process, a configuration is a way to set up how a project is to be output to map it to a particular Item to be manufactured. More on this concept can be found in this Altium Tech Doc.
For automating the Output Job execution, the only thing that needs to be done is to edit the existing default Configuration, as shown in Figure 5.
Figure 5 - Setting up the PCB Project 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 Figure 6. 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 shown in Figure 6.
Figure 6 - Final PCB Project Configuration
If desired, multiple configurations can be created to accommodate diﬀerent 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 shown in Figure 7.
Figure 7 - PCB Project Configuration with Multiple Output Job Files
Click OK to dismiss the Configuration Manager. The information created here is stored in the .PrjPCB file, so save the project at this point.
The last step is to create the outputs. The PCB Release View is 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 the user to choose which one to run.
Figure 8 - Selecting the Configuration to run
In the oﬃcial release process (targeting a Vault item), the user has 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.
Figure 9 - The release process without VCS or Vaults
Validate Design would be available if any of the Validation Outputs were added to the Output Job file. They include Design Rules Check, Diﬀerences Report, Electrical Rules Check, and Footprint Comparison Report. Three of these checks are present in the Validation.OutJob file used here.
Figure 10 - Validation outputs
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 be updated in the list as shown in Figure 11.
Figure 11 - Release status when running validation outputs
It is important to note that because this is meant to support an oﬃcial 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 in Figure 12.
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 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 Configuration Manager. Set the Configuration name as the name of the main output folder name desired. Enable the necessary Output Job batch files.
- Go to View/PCB Release View, and click Generate Outputs to run the validation checks and generate the outputs.
Complete documentation is critical to conveying your design intent to manufacturing. Adding these simple steps to your output process will not only save you some time, but it will also ensure that ALL of your outputs are created EVERY time.