Streamlining Generation of Manufacturing Data with Output Jobs

Nexus message

This documentation page references Altium NEXUS/NEXUS Client (part of the deployed NEXUS solution), which has been discontinued. All your PCB design, data management and collaboration needs can now be delivered by Altium Designer and a connected Altium 365 Workspace. Check out the FAQs page for more information.

 

A large variety of outputs can be generated for and from a PCB design and each output type has its own settings. The best way to manage this multitude of outputs is to use an Output Job file, or 'OutJob' as it is more commonly known.

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.

Backing the software is a comprehensive set of online documentation. Wherever you are in the environment, over a menu command, a dialog, a panel, or a design object, press F1 to display comprehensive information about whatever was under the cursor.

Adding and Defining an Outjob

OutJobs are managed using the OutputJob Editor. Create a new Output Job file by:

  • Using the File » New » Output Job File command.
  • Right-clicking on the project name in the Projects panel and choosing Add New to Project » Output Job File from the pop-up menu that appears.

Output Job files, when added to a project, appear in the Projects panel under the Settings\Output Job Files sub-folder. There are three steps to configuring an OutJob:

Constituent elements of the OutJob, all defined and managed within the OutputJob Editor.
Constituent elements of the OutJob, all defined and managed within the OutputJob Editor.

  1. Add and configure the required outputs – outputs are gathered into functional categories, such as Assembly Outputs, Fabrication Outputs, and Report Outputs. Strictly speaking, outputs are obtained by running an associated Output Generator, configured appropriately and using a specified document within the project (or the project itself) as its data source.
  2. Add and configure the required output formats – generation of any given output type requires that output to be mapped to a corresponding (and applicable) output format. This takes the form of either one of the supported Output Containers (PDF, Folder Structure, Video) or Hard Copy (print-based output). Multiple outputs can be mapped to the same container or hard copy, and the user has control over where the output is generated and how (any media-related options associated with the container/hard copy).
  3. Set the variant choice – Altium NEXUS allows the outputs of a PCB project to be driven using the base (non-varied) design or by nominating the use of a defined variant of that design. Either choose a variant per applicable output or a single variant to apply to all applicable outputs in the file.

Adding Outputs to 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 then choosing the required output type from the pop-up menu. Alternatively, choose the relevant command entry from the main Edit menu.

Add each output that is required by selecting the appropriate Data Source.   
Add each output that is required by selecting the appropriate Data Source.

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 you can specify the Data Source, i.e. 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 [Project] entry.

The Data Source can be changed at any stage after adding an output. Click on the current Data Source and a drop-down arrow will appear; choose an alternate source from the list.

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 multi-channel capabilities and a simple, flat annotation scheme is preferred.

The term "Project Physical Documents" refers to the physical or compiled view of the schematics. 
When setting the Data Source for the Schematic Prints output, All SCH Documents relates to the printing of the set of all logical schematics in the project (the raw, uncompiled "Editor" view of each schematic). To print the set of all physical schematics in the project (the compiled document view(s) of each schematic), be sure to set the Data Source to [Project Physical Documents].

Configuring Outputs

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:

  • Double-click directly within the row for the required output.
  • Right-click on the required output then choose Configure from the context menu.
  • Select the required output then use the keyboard shortcut Alt+Enter.
  • Select the required output then choose the Edit » Configure command.

If multiple outputs are selected, the configuration dialog associated with the last selected (currently focused) output will appear.

Different Output Generators have unique dialogs to configure precisely what gets generated.
Different Output Generators have unique dialogs to configure precisely what gets generated.

For outputs that can be used to generate hard copy (i.e. printed output sent to a printing device), access can also be made to a dialog for defining page properties. Either right-click on the output then choose Page Setup from the context menu or select the output then use the File » Page Setup command.

Export Outputs in an OutJob

When configuring export output from the Outputs region, you can also specify which type of export is desired directly from the Outputs region. Right-click on [Add New Export Output] in the Export Outputs region to open a menu of available options. Once the new type of export is selected, click the available selection (e.g., [PCB Document], [Project], etc.,) from the resulting drop-down. Configure the output by right-clicking on the new export then clicking Configure to open the Export dialog associated with that particular export type.

Defining Output Format

Adding and configuring the outputs for an OutJob defines what is to be generated and how. The definition of where the generated output is to be written to is required, i.e. in which format the output is to be generated. Depending on the type of outputs being generated, this is handled using a combination of Output Containers and Hard Copy.

Output Containers

Outputs can be written (where applicable) to three types of Output Containers – 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 PDF, Folder Structure, and Video. Any number of additional containers of these types can be added by clicking [Add New Output Container], and names can be edited for easy identification.

Output Containers 'receive' generated output.
Output Containers 'receive' generated output.

For more information about the output container settings, see the PDF Settings, Folder Structure Settings and Video Settings dialog pages.

Configuring a Container

Click on a container to access additional controls including the ability to configure the container. After clicking on the required container, click the Change link to access the Settings dialog associated with that particular type of container.

Access to the Settings dialog can also be made by either double-clicking the container entry or selecting it, right-clicking then choosing the Properties command.

The Settings dialog initially opens in Basic mode for configuration of the output location, i.e. 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.

Access the Settings dialog for the container to configure it as required. In Basic mode, use the dialog to define the output location for the container.
Access the Settings dialog for the container to configure it as required. In Basic mode, use the dialog to define the output location for the container.

More detailed options are available with the dialog in Advanced mode.
More detailed options are available with the dialog in Advanced mode.

Output Location

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.

  • Base Path – this stage is used to define the 'root' path of the output container.

Options for defining the base path of the output location.
Options for defining the base path of the output location.

By default, this is set to [Release Managed], which means that the Board Design Release process, which is performed in the Project Releaser, 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).

  • Container Type Folder – this stage is used to define a sub-folder based on the type of media container being generated. It is completely optional as to whether this extra 'umbrella' folder is used or not. If used, it can either be named by the system (using the container name or type) or you can give it a custom name if required.

Options to define a container sub-folder for the output location.
Options to define a container sub-folder for the output location.

  • Output Folder / Output Filename – the function of this stage depends on the output container type for which the output location is being specified. For PDF or Video container types, this stage requires entry of the desired filename. By default, multiple outputs generated into the container will be collated into a single file, but you have the option to generate a separate file for each output if required.
If generating a separate file per output, the additional option to place each file in its own sub-folder becomes available. If enabled, the folder can be named automatically based on the output name or type or can be customized with a specific prefix.

Options to define filename and optional sub-folder.
Options to define filename and optional sub-folder.

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 you to quickly zero-in on a preferred output folder structure. For each defined container, the paths – both server-based (Release Managed) and local (Manually Managed) – are displayed for quick reference in the main Output Containers region of the OutJob.

Hard Copy - Print Jobs

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 target the default printer associated with the computer upon which the instance of Altium NEXUS 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).

Print jobs handle print-based output or 'Hard Copy.'
Print jobs handle print-based output or "Hard Copy."

Configuring a Print Job

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 then choosing the Properties command.

Access the Printer Configuration dialog to configure the Print Job as required.
Access the Printer Configuration dialog to configure the Print Job as required.

In the Printer Configuration dialog, click the Properties button to access the standard Properties dialog for the target printer. In this dialog, define the paper source and layout and gain access to advanced property settings for the printer.

Linking Outputs to Output Containers and Print Jobs

With the outputs of the OutJob added and configured, and the required Output Containers and Print Jobs defined, they now need to be mapped, i.e. specify 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.

The Enabled field is only available provided the output is supported for generation into the selected container or for printing to the selected printing device.

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 an immediate hard copy.

Select the container or print job, then enable the outputs that are to be generated using that container or print job.
Select the container or print job, then enable the outputs that are to be generated using that container or print job.

In the image above, three outputs have been enabled for generation using the PDF-based Output Container named PDF. Notice how Test Point 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 change the required number or re-select each output in order.

Variant Choice

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 NEXUS 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 NEXUS also enables variants to drive certain fabrication outputs, allowing a comment for a component to be varied in a design and that change can be fed through to outputs such as Gerbers, ODB++ files, Composite Drill Drawings, Drill Drawing/Guides, and Final Artwork Prints.

Although it is fabrication outputs that can be driven, it is only changing such output based on the component-level variations for the target board assembly – in this case, the component's Comment parameter. No other aspect of the fabricated board (the physicalities of the PCB) can be changed, such as the routing, the layout of the components, or the layer stack.

From within an OutJob, you have 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.

Variant Choice options determine at which level variants are used when driving the configured outputs of an Output Job file.
Variant Choice options determine at which level variants are used when driving the configured outputs of an Output Job file.

  • Choose a single variant for the whole outputjob file – with this option enabled, choose a single variant to drive all applicable outputs in the Output Job file. Specify the variant in the drop-down field to the right. The drop-down lists all defined variants for the active project as well as the entry [No Variations].
  • Choose a different variant for each output – with this option enabled, a Variant column will be added to the Outputs region of the OutJob. Use this field to indicate which variant to use on an individual output basis. Again, the drop-down lists all defined variants for the active project, as well as the entry [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. In other words, the base (non-varied) design will be used as the source of the output instead.

Output Generation

The configured outputs in an OutJob can be generated either:

From Output Containers

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.

Generate content for the selected Output Container.
Generate content for the selected Output Container.

Click this control to 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:

  • Press the F9 key.
  • Right-click then choose the Generate command from the context menu (Run command for a Folder Structure container).
  • Use the Tools » Generate command (PDF and Video container types) or the Tools » Run command (Folder Structure container type).

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.

When generating Gerber, ODB++, NC Drill, or IPC-356-D outputs into a Folder Structure Output Container, they can be imported automatically into a new CAM Editor document (*.cam). Options to do this can be found in the Files Settings dialog associated with the container type.

Publishing Generated Content

A second control – Generate and publish – enables you 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 today's 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 then 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 can be modified.

Publishing Destinations are specified as part of the Data Management preferences.
Publishing Destinations are specified as part of the Data Management preferences.

For released data generated from a board design project, a server supports the ability to publish those released documents i.e. 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 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 a server. 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).

From Print Jobs

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.

Preview and Print controls for the selected Print Job.
Preview and Print controls for the selected Print Job.

Print Preview

Click Preview to load the assigned outputs for the Print Job into the print preview. Alternatively, with the job selected, use one of the following methods to access the print preview:

  • Right-click then choose Print Preview from the context menu.
  • Use the Tools » Print Preview command.
  • Click the Preview button in the Page Setup dialog (File » Page Setup) for the selected (focused) output. Note that this will load only the pages for that particular output and not all pages for all assigned outputs to the Print Job.

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 Report Preview and on its right-click menu for manipulating the view, accessing printer setup dialogs, printing, copying a page to the Windows clipboard, and exporting the active page as a Windows Metafile.

Printing

Click Print to send the output(s) directly to the nominated printing device. Alternatively, assigned output(s) can be printed using one of the following methods:

  • Press the F9 key.
  • Right-click then choose the Print command from the context menu.
  • Use the Tools » Print command.
  • Click the Print button in the Page Setup dialog for the selected (focused) output. Note that this will print only the pages for that particular output and not all pages for all assigned outputs to the Print Job.
  • Clicking the Print button in the Print Preview dialog.

The Print control and the first three methods listed above offer direct printing. The last two methods above are indirect printing via the Printer Configuration dialog.

There is no multiple Print Job batch print process; only those outputs assigned to the currently selected Print Job will be previewed/printed. To print all outputs, select and print for each defined print job separately.

From the Project Releaser

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 as part of the high integrity release process with the release data stored in a new, planned revision of a target Item in a server. The Project Releaser is the interface used for this to happen.

The Project Releaser can be accessed in the following ways:

  • Choose the Project » Project Releaser command from the main menus (with a source document for the required project open as the active document).
  • Right-click on the entry for the required project in the Projects panel then choose the Project Releaser command from the context menu.

If Outputs have not been defined before running the Project Releaser, this can be done as part of the release process instead.

For the Fabrication and Assembly data items to be included in a release, at least one OutputJob file is required to be assigned to them. If you have Output Job files with names that start with the sub-strings 'fab' and 'ass', those OutJobs will be assigned automatically to the Fabrication Data and Assembly Data sections, respectively, when the Release view is first accessed. If not, you will need to assign the applicable OutJobs in each case manually.

Example list of outputs to be generated for a chosen configuration.
Example list of outputs to be generated for a chosen configuration.

From the Project Releaser, click the Options button (lower left-hand corner) to open the Project Release Options dialog. This dialog is used to assign the applicable OutJobs and define how the target data items in a server (whose revisions receive the generated data) are named when releasing a project. The Release Options tab includes several options under the Output Jobs region for enabling desired output data.

The Release Options tab of the Project Release Options dialog.

If your project currently has no Output Job file(s) associated with it, the Project Releaser will detect this and you will be asked if you want to add default ones. If you opt to do so, the following will be created:

  • Fabrication.OutJob - with the following outputs defined:
    • Documentation Outputs: PCB Prints
    • Fabrication Outputs: Gerber, NC Drill, and IPC-2581
    • Validation Outputs: Design Rules Check, Footprint Comparison Report
    • Export Outputs: Save As/Export PCB (in ASCII format)
  • Assembly.OutJob - with the following outputs defined:
    • Documentation Outputs: PCB 3D Print, Schematic Prints, Composite Drawing
    • Assembly Outputs: Pick and Place Report, Assembly Drawings, Test Point Report
    • Report Outputs: Bill of Materials, Component Cross Reference, GOST BOM
The GOST BOM output is available provided the GOST extension is installed. To install the extension, go to the Purchased tab on the Extensions & Updates page. Find the GOST extension icon shown below.

Hover the cursor over the icon then click the download button to install. You will be prompted to restart Altium NEXUS to complete the installation. If desired, the GOST extension can be uninstalled. To uninstall, go to the Installed tab on the Extensions & Updates page and find the GOST icon, then hover the cursor over the icon then click  to uninstall.
  • Export Outputs: Export STEP
If you have at least one OutJob file defined for the project, this auto-creation will not be offered.

For more information about the release process, visit the Board Design Release page.

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Content