An OutJob is simply 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 an Altium Designer 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 can also hold validation-type checks, such as ERC and DRC reports. Useful for a final thumbs up check just before generating the outputs, such reports 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 -- simply copy the Output Job file from one project to the next one, and reset the Data Source as required.
This article summarizes the key elements of generating output from Altium Designer.
OutJobs are managed using the OutputJob Editor. Create a new Output Job file by:
Output Job files, when added to a project, appear in the Projects panel under the
Settings\Output Job Files sub-folder. There are essentially 3 steps to configuring an OutJob:
Add a new output of the required type by clicking on the appropriate Add New [type] Output text at the bottom of a category and choosing the required output type from the pop-up menu. Alternatively, choose the relevant command entry from the main Edit menu.
Output types for which the appropriate source data is available in the project, will be listed as available, with all other output types listed as unavailable (grayed-out).
A second menu is provided from which to specify the Data Source – which source document(s) to be used when the output is generated. Only applicable data sources are available for each output, leaving less room for error.
The Data Source depends on the particular output. PCB-related outputs, such as PCB Prints, Gerber Files and Testpoint Reports, will use the PCB design document as the Data Source. The Data Source for a BOM could be a single specific source schematic document, the PCB design document, or all source schematic documents. The latter is represented by the
For certain outputs, the Data Source list will include
[Project Physical Documents]. Use this option if the physical design (the design as it will be implemented on the board) must be annotated differently from the logical design (the original schematics). This will be necessary if the design includes Device Sheets, or if it uses Altium Designer’s multi-channel capabilities and a simple, flat annotation scheme is preferred.
Depending on the specific output type, options may be available to configure the associated output generator, providing more control over the generated output. Where configuration options are available, they can be accessed in one of the following ways:
If multiple outputs are selected, the configuration dialog associated with the last selected (currently focused) output will appear.
Adding and configuring the outputs for an OutJob defines what is to be generated and how. Definition of where generated output is to be written to is now required, in other words, what format the output is to be generated in. Depending on the type of outputs being generated, this is handled using a combination of Output Containers and Hard Copy.
Outputs can be written (where applicable) to three types of Output Container – a PDF, a specific-format of output file (such as a Gerber file), or a video.
A new OutJob will default to include one of each of these types of containers, named
Folder Structure, and
Video. Any number of additional containers of these types can be added – by clicking the [Add New Output Container] text, and their names can be edited for easy identification.
Clicking on a container provides access to additional controls, including the ability to configure the container. To do so, click the Change link to access the Settings dialog associated with that particular type of container.
The Settings dialog initially opens in Basic mode, for configuration of the output location – where the container will be created. To access further, more advanced options related to the generation of output into the container, click the Advanced button at the bottom of the dialog.
The output location – where the container will be created – is specified in the Output Management region of the container's settings dialog. The location consists of various stages, with each stage defined using a corresponding pop-up, accessed by clicking on that stage.
By default, this is set to [Release Managed], which means that the Design Data Management system will handle the base path automatically.
A local output path can be defined by switching this stage to
[Manually Managed] and specifying the path accordingly (which can be made relative to the design project).
For the Folder Structure container type, this stage is used to specify a folder for each generated output type. Again, the folder can be named automatically based on the output name or type, or can be customized with a specific prefix. As changes are made to any of the stages in the output location, the preview window of the dialog will dynamically update, allowing the designer to quickly zero-in on a preferred output folder structure. For each defined container, the paths – both vault-based (Release Managed) and local (Manually Managed) – are displayed for quick reference in the main Output Containers region of the OutJob.
Certain outputs, including Schematic Prints, Assembly Drawings and BOM, can also be sent directly to a printing device, as Hard Copy. To determine how such hard copy is handled, a Print Job is added and configured.
A new OutJob will default to include a single Print Job, named
Print Job. and targeting the default printer associated with the computer upon which the instance of Altium Designer is running. Any number of additional Print Jobs can be added - by clicking the [Add New Print Job] text, and their names can be edited for easy identification (e.g. the name of the printing device to which the job is associated).
Clicking on a Print Job provides access to additional controls, including the ability to configure the job. To do so, click the Change link to access the Printer Configuration dialog associated with that particular job. Access to the Printer Configuration dialog can also be made by either double-clicking the Print Job entry, or selecting it, right-clicking and choosing the Properties command.
From the Printer Configuration dialog, click the Properties button to access the standard Properties dialog for the target printer. From this dialog define the paper source, layout and gain access to advanced property settings for the printer.
With the outputs added and configured on the left of the OutJob, and the required Output Containers and Print Jobs defined on the right, the two now need to be mapped – specifying which outputs are to be generated using which container and/or print job.
Each output has an associated Enabled field. This field provides control over whether or not a particular output is included (option enabled) or excluded (option disabled) from a selected Output Container or Print Job.
Once enabled, a green line will connect an output to the selected container/print job. The same output can be included in many output media, for example a BOM can be generated and output as a PDF, as a distinct file, or sent to a printer for immediate hard copy.
In the image above, three outputs have been enabled for generation using the PDF-based Output Container named PDFs. Notice how Testpoint Report, Pick and Place, and Gerber Files outputs do not have an Enabled field, since those output types cannot be written to a PDF file.
As outputs are enabled, they are numbered consecutively. This ordering is used to define the sequence in which the outputs are generated. If creating a single PDF including multiple different outputs, this order determines the sequential content of those outputs with that PDF.
If an output is removed from a container or print job the numbers are re-ordered accordingly. To change the order of enabled outputs, either double-click on the number in the Enabled field of an output and use the available control to 'dial-up' the required number or, alternatively, re-select each output in order.
Product requirements may warrant the need to produce a variety of similar Printed Circuit Boards that all differ slightly from an underlying base design. For example, standard and deluxe versions of a commercial electronic product may differ in the functionality they offer, with the standard version incorporating a subset of the components used in the deluxe version.
At the design level, Altium Designer enables one or more variations of a board design to be defined using its Variants feature. A variant is simply an alternately assembled 'version' of the original board design.
Variants typically drive applicable assembly-based outputs – the very essence of an Assembly Variant, varying only the assembled board (e.g. which components are fitted or not). However Altium Designer also enables variants to drive certain fabrication outputs, allowing a comment for a component to be varied in a design, and that change fed through to outputs such as Gerbers, ODB++ files, Composite Drill Drawings, Drill Drawing/Guides and Final Artwork Prints.
From within an OutJob, the designer has full control over what is used to drive the defined outputs – either the base (non-varied) design, or a nominated defined variant of that design.
If the outputs are to be generated for a specific variant, then that variant must be specified as part of the configuration of the OutJob. Either choose a variant per applicable output, or choose a single variant to apply to all applicable outputs in the file. This 'variant scope' is determined using the Variant Choice options at the top of an Output Job file.
[No Variations]. Using this scope setting it is possible to assign different variants to drive different outputs.
To drive the outputs using the base (non-varied) design, use the
[No Variations] entry.
When defining variant usage at the individual output level, if the chosen variant does not allow the variation of fabrication outputs, and the variant is specified for use with a fabrication-based output, the variant entry in the OutJob will be red, and a hover-tip used to flag the situation. Generation of output using the chosen variant will proceed as though the setting
[No Variations] had been chosen. That is, the base (non-varied) design will be used as the source of the output instead.
The variant choice options discussed previously apply only when generating output directly from within the OutJob. They do not apply when using Altium's high-integrity board design release management process, to release a configuration of a PCB project. In this case applicable outputs will be driven, at release time, by the variant specified for a PCB Configuration that uses the Output Job file to generate its outputs – that is, has the Output Job file assigned to it.
The configured outputs in an OutJob can be generated either:
All outputs can be generated directly from within the active OutJob.
From the PCB Release view, only those outputs assigned to Output Containers may be generated. The PCB Release view (and therefore board design release process) cannot handle outputs that are assigned for generation of Hard Copy (through applicable defined Print Jobs).
Selecting an Output Container provides access to the Generate content control. This control is enabled after at least one output is assigned to that container.
Clicking this control will generate each output enabled for generation into the container, in sequence. Alternatively, with the container selected, use one of the following methods to generate content:
Progress can be viewed from the Status Bar. Generated output will be opened if the option to do so has been enabled as part of the advanced options for the container.
There is no multiple Output Container batch generation process, only those outputs assigned to the currently selected Output Container will be generated. To generate all outputs, select and generate content for each defined Output Container, separately.
A second control available – Generate and publish – enables the designer to generate the outputs assigned to the selected Output Container, and also publish that output to a defined Publishing Destination.
Publishing Destinations offer the ability to publish data to a storage space, such as Box.net, Amazon S3, an FTP server, or a folder location on a shared network. In terms of distribution and collaboration, this provides an unparalleled advantage in a world where the collective members of the overall 'product team' – the design team, the manufacturing team and all others involved in the process of getting a product from thought to reality – are often dispersed around the globe. All parties have shared (and controlled) access to view, discuss and utilize the data.
To publish, click the command and select from a list of currently defined destinations in the pop-up menu that appears. The output will be generated first to the local path destination, then published. As part of publishing, a prompt will appear asking for a folder (within the target Publishing Destination) in which to store the output. Either browse to an existing folder, specify a new folder, or accept the default folder – named using the type of content for the container, along with a date-time stamp (e.g.,
PDFs - 10-24-2011 11-32-33 AM).
Use the Manage Publishing command on the menu to access the Data Management – Publishing Destinations page of the Preferences dialog. From here, new destinations can be defined, or the connections to existing destinations modified.
For released data generated from a board design project, an Altium Vault supports the ability to publish those released documents – generated output from Output Job files assigned to the released project configuration – for any Item Revision, to a defined Publishing Destination.
Publishing data directly from an OutJob simply places a copy of the generated files in a specified sub-folder of the target destination. For high integrity and to facilitate a solid audit trail, generated data should be published after release into a revision of a target Item in an Altium Vault. Such output is tagged (in the filename) with the Item and Revision, enabling all involved to see instantly which output is associated with which revision of the Item to be built (bare board or assembled board).
Selecting a Print Job will provide access to Preview and Print controls. These controls will be enabled provided at least one output is assigned to that job.
Use the Preview control to load the assigned outputs for the Print Job into the Print Previewer. Alternatively, with the job selected, use one of the following methods to access the Print Previewer:
Source documents will be loaded in sequence, and in accordance with options defined in the associated Page Setup dialog.
Controls are provided at the bottom of the Previewer and on its right-click menu, for manipulating the view, accessing printer setup dialogs, printing, copying a page to the Windows clipboard, or exporting the active page as a Windows Metafile.
Click the Print control to send the output(s) directly to the nominated printing device. Alternatively, assigned output(s) can be printed using one of the following methods:
The Print control and first three methods above offer direct printing. The last two methods above are indirect printing via the Printer Configuration dialog.
Outputs defined in one or more Output Job files assigned to a configuration of a PCB project are generated when that configuration is released. This generation happens automatically as part of the high integrity release process, with the release data stored in a new, planned revision of a target Item in an Altium Vault.
The interface to the release process – the PCB Release view (DXP » Design Releases or View » PCB Release View) – is set to Release Mode for this to happen. However, generation of outputs can also be performed from this view when it is set in Design Mode. In this mode, the designer can run validations and generate outputs as needed, and in any order, 'testing the waters' as it were to ensure all is as it should be, prior to initiating the actual release of the intended configuration.
All enabled outputs associated with defined Output Containers in OutJobs assigned to the active configuration are listed in the lower region – provided those containers are set to be
In the Process Flow above the listing of outputs, only two stages are enabled – Validate Design and Generate Outputs. Click to use these as follows:
The Validate Design stage is optional in the release process – it is included only if there are defined validation outputs as part of an Output Job file assigned to the active configuration.
As a stage is run, the text on the button will change to reflect which output is currently being generated, and how many outputs have been generated so far out of the total to be run. The state in each output's Status field will reflect when that output is running and then the result once generation is complete.
Since the PCB Release view presents all outputs to be generated – across all defined Output Containers and across all assigned OutJobs – it offers a nice way to batch generate all outputs with a 'single click'.
Offering further flexibility, Design Mode enables generation of outputs on an individual basis. Simply select the particular output to generate and click the Generate button at the bottom left of the file listing. Once generated, view that document (click Open or double-click the entry) and subsequently delete it (click Delete) as required.