The Variant-related commands allow you to configure and switch variants for the current project. The commands are available from the PCB and schematic editors in the Project | Project Actions grouping, as shown below from the PCB editor.

  • Current Variant - use the drop-down to switch between the base design ([No Variations]) and any defined variant.
  • Variants - click to open the Variant Management dialog, from where you can add and configure variants for the design.
The Variant Management dialog can also be accessed by right-clicking on a project in the Projects panel then selecting Variants. Also, from the schematic editor, right-click on a placed component then choose the Part Actions » Variants command from the context menu.

Design Variants

When a product needs to be designed and produced as a number of variations of that product, where each has different options or capabilities, the ability to implement Design Variants avoids the need to create a unique version of the design for each variation.

In practice, a Design Variant uses the same base design, but the PCB assembly is loaded with the set of components specified by the variation. A variation may then be nominated when generating the design’s manufacturing output (BOM, P&P, Assembly drawings, etc), which will, in turn, determine how the product is assembled.

The ability to create variations of the same base design adds significant flexibility to how design projects are created in CircuitMaker. Using variants, you can define any number of variations of the base design and configure each component to be fitted or not fitted.

Design Variants that use any of these types of variations are all referred to as Assembly Variants, as they only impact the assembly process - in this case, all variants share the same fabricated bare board. There is also support for variations to component overlay information on the PCB, for example, changing a components' comment. Such a variation requires the production of two overlay screens, which results in the manufacture of two different bare boards. This type of variant is referred to as a Fabrication Variant.

Understanding Logical and Physical Components

It is helpful to understand that there are essentially two types of components in CircuitMaker; logical components and physical components. The distinction is that components placed on the schematic sheet are logical components, where each is a conceptual entity that represents the physical component that is ultimately mounted on the assembled PCB.

While this one-to-one, logical-to-physical model works well for a simple design, it cannot support all of the design requirements needed by today's electronic product designer. CircuitMaker supports powerful concepts such as multi-channel design, where a section of circuitry is stamped out as many times as you require; and variants, where a single design can be implemented with different components fitted to each variant of the board. Features such as this require the ability for one logical component to represent multiple physical components.

CircuitMaker delivers this one-to-many capability through its compiler technology. When the logical design is compiled (an automated process), each physical component is instantiated in memory, ready for transfer to the board design space.

To cater for situations where access to the physical components is required at a schematic level, such as when defining design variations, the physical design is also made available in the schematic editor through tabs located at the bottom of the schematic sheet. Here, the left-most Editor tab selects the (normal) captured logical design, and the other 'compiled' tabs represent the equivalent physical design as it will be transferred to the PCB design space. Note that the schematic that is presented on the compiled tab cannot be graphically edited, for example, you cannot modify the wiring or move a component.

To examine design variations, the Project |  Project Actions | Current Variant field can be used to show the configuration of the physical components on that sheet for a chosen variant.

Types of Variations

Before you can create a variant, you first create the original design, which is referred to as the base design. Working from the base design, you then go through a process of configuring the components to be Fitted or Not Fitted.

  • Fitted - this is the default state of a component. If it is Fitted, then it is not varied. When you create a new variant, all components default to Fitted. A component with a state of Fitted is represented in the Variant Management dialog as an empty cell.
  • Not Fitted - if a component is set to Not Fitted, it still exists on the schematic and is transferred to the PCB, but it is removed from the appropriate output documentation, such as the BOM. You can configure how not fitted components are presented in the documentation, for example, they can be marked with a cross on the schematic and in PCB drawing outputs.  

Variant Management Dialog

The Variant Management dialog (Project | Project Actions | Variants) is 'command central' for defining variants of your design. The dialog has two main regions:

  • The upper Components for project region, which lists all of the components in the base design and, if applicable, columns for the defined Variants.
  • The lower Component Parameters region, which details all of the parameters of the component(s) currently selected in the upper region and, if applicable, columns for the defined Variants.

Double-click on a component in the Variant Management dialog to jump to that component on the schematic or choose Cross Probe from the right-click context menu.

The following additional controls are located at the bottom of the dialog, many of which are described later in this document:

  • Add Variant – click to open the Edit Project Variant dialog to create a new variant of the base design. Use the dialog to add, edit or remove a variant and specify any required variant-level parametric data. This button includes a drop-down that is used to access the Clone Selected Variant command. Cloning is particularly useful when you need to define a number of variants that are very similar.
  • Delete Variant – click to delete selected variant(s). A dialog opens for confirmation before deletion occurs.
  • Edit Variant – click to open Edit Project Variant dialog to edit a variant.
  • Detailed Report – click to open the Variant Report dialog to generate a detailed variant report in HTML format.
  • Drawing Style – click to open the Variant Options dialog in which you can define how non-fitted components and varied parameters will appear, both in the document view of the schematic and in schematic prints. You can also define the appearance of these components in PCB assembly drawings.
  • Fit to Width – enable to automatically adjust the width of the columns based on the content.

Creating a New Variant

Click the Add Variant button to create a new variant of the base design. The Edit Project Variant dialog will open in which you can give the variant a meaningful name (in the Description field) and specify any required variant-level parametric data. An additional column will appear on the right side of the Variant Management dialog with the variant's name as the column title. All the cells will be empty; an empty cell indicates that this component is fitted and is unchanged from the base design. 

To make a variant the active selection, click its variant name in the column header, or click in any of that variant's cells.

The Variant Management dialog includes a number of interface features that assist the display of useful information. These are configured via the right-click context menu.

Useful commands include:

  • Set Selected As – submenu used to choose the type of variation (Fitted, Not Fitted). Can be used instead of clicking the  control in the component cell. Only available when you right-click on a Variant's component cell.
  • Only Show Varied Parameters – only display components that have some form of variation applied, in the Variant Management dialog.
  • Filter – submenu that gives control of which types of variations are displayed in the Variant Management dialog (Varied Parameters, Not Fitted). Works well in combination with the Only Show Varied Parameters command.
Varied parameters – a parameter that is varied from the base design is shown in bold in the Component Parameters area of the Variant Management dialog, making it easy to visually identify.

Defining Component Variations

To configure the state of each variant, click the Component Variation cell in the new variant column to reveal the  button. When the button is clicked, the Edit Component Variation dialog will open

Use the dialog to choose from the following.

  • Fitted – The original component as used in the base design is also fitted/used in this variant of that design. For a newly added variant, all components are fitted by default, and the cells for these fitted components are empty. Note that individual parameters can also be varied for a fitted component, by simply typing in a new parameter value in the dialog's Parameters region for that Variant.

  • Not Fitted – The original component as used in the base design is not fitted/used in this variant of that design. For a Not Fitted component status, the cell displays the text Not Fitted and the dialog's lower Parameters region will be blank.

Standard Windows multi-select techniques are supported. Use these to select and configure multiple components simultaneously.

Display of Variant Manager Data

The Variant Management dialog includes features to help control the amount of data displayed, which is particularly useful when working on a large design.

  • To remove columns that are not of interest, right-click in the upper part of the dialog and use the Columns option in the context menu to toggle the visibility of any column.
  • To display only those components being varied, right-click in the upper part of the dialog and select Only Show Varied Components option from the context menu.
  • When the Only Show Varied Components mode has been selected, right-click again and configure the Filter options.
  • To change the order of the listed Variants, select and drag a variant column heading to a new location. Use this in combination with the Fit to Width checkbox to position and size the variant of interest.

Resetting Variant Data

When you configure variations in the Variant Management dialog, the settings are saved in the project file. This includes the Not Fitted state and local parameter variations to a Fitted component. The Variant Management dialog includes commands for resetting parameters back to the standard values used in the base design.

Resetting a Varied Parameter

Parameters modified locally in the Variant Management dialog can be restored to their original value by right-clicking on the modified parameter in the Variant Parameter list then selecting Reset Selected from the menu as shown below. Note that you can multi-select and reset the value of multiple parameters in a single action or Reset All parameters for that component.

Change Multiple Parameters for Multiple Components

The Variant Management dialog supports multi-select, which means that any number of components can be selected simultaneously in the upper (Component) part of the dialog, and then updates performed on any number of parameters selected in the lower (Parameters) part of the dialog. The dialog also offers Filters (via the right-click context menu), to further refine the selection and the displayed data.

By way of example, to reset the manually-varied parameters for all components, in all variants:

  1. In the upper (Component) part of the dialog, use the Only Show Varied Components right-click menu option in combination with the right-click Filter options to only Show Fitted with Varied Parameters. The component list should now display only those components that have manually varied parameters.
  2. Right-click in the component list and choose Select All from the context menu. All components currently displayed in the upper part of the dialog will be selected.
  3. Then right-click in the lower (Parameters) part of the dialog and choose Select All from that context menu. All parameters for all components will now be selected. Note that the Select Column command could have been chosen instead, which would allow an action (such as Reset) to be applied to the components in a specific Variant (column).
  4. Right-click again in the parameters list and choose Reset Selected from the context menu.
If you have been experimenting with the Filter options and have applied different filters, you may need to reset the filter before attempting another update. To do this, disable the Only Show Varied Components option to clear the filter system, then re-apply it and clear the Filter options as required.

Working with Variant Parameters

CircuitMaker supports parameters at various levels of the project. For example, you can add document-level parameters to each schematic sheet in the Document Options mode of the Inspector panel. You can also add project-level parameters to the project on the Parameters tab of the Project Options dialog. Parameters can also be added to a variant in the Edit Project Variant dialog.

Parameters have a hierarchy, which means you can create a parameter with the same name at different levels of the project, each having different values. CircuitMaker resolves this in the following way:

  1. Variant (highest priority)
  2. Schematic document
  3. Project

That means the parameter value defined in the schematic document overrides the value defined in the project options, and the value defined in the variant overrides the value defined in the schematic document.

Note that schematic-level parameters are not available on the PCB or in the Bill of Materials; for these types of outputs, use project or variant parameters.

Working with Variants in the Schematic Editor

CircuitMaker's schematic editor includes a range of features that provide full visibility of component variations during the schematic capture process, as described below.

Examine Varied Components

The actions to examine variant detail on the schematic are:

  • Select the required variant using the Project |  Project Actions | Current Variant field.
  • Select the named compiled tab located at the bottom of the schematic sheet.
  • Components varied on the sheet will then be displayed, in the style configured in the Variant Options dialog.

Selecting Variant Components from the Schematic

It is often easier to work directly from the component(s) placed on the schematic sheet rather than scrolling up and down through a list of components in a dialog. Select the component(s) on the sheet then right-click then select Part Actions » Variants from the menu

The Variant Management dialog will open and display only the selected components. Perform the required variations then click OK to apply them to the design.

You can use this technique when you are first setting up component variations or when you need to modify an existing component variation. In addition to only presenting the selected component(s) in the Variant Management dialog, if there is a variant currently selected in the Project | Project Actions | Current Variant drop-down, then only that variant will be presented regardless of how many variants might actually be defined for the project.

Variations of single component parameters can be performed through the Parameter mode of the Inspector panel (double-click on a component parameter to open the panel).

Graphically Editing Component Variations

Component variations can also be created and edited by working directly in the schematic at a symbol level. Note that the Schematic Editor must be in compiled variant view (as selected by the lower tab), and the required variant selected in the Project | Project Actions | Current Variant drop-down.

Right-click on a component on the schematic and use the Part Actions » Toggle Fitted / Not Fitted command from the context menu to quickly toggle the Fitted or Not Fitted state of that component for the variant design. The change will automatically be reflected back in the Variant Management dialog.

The component’s fitted state will be graphically indicated as defined in the Variant Options dialog.

Graphical Parameter Editing

Changes can be made directly to a displayed component variant parameter by selecting the parameter text then clicking the text a second time to enable editing mode. Any changes made will be adopted by that component’s entry in the Variant Management dialog.

A variant parameter may also be directly edited in the Parameter Variation dialog, which is opened by double-clicking on the parameter text. As usual, this function is only available when in the compiled schematic view, and any changes made will also register in the Variant Management dialog.

Working with Variants in the PCB Editor

In the PCB editor, all the component footprints for all variants are always shown. This is necessary because all footprints for all assembly variants must be fabricated as part of the bare board. It is the loading of components during the assembly process that then determines which variant is being built.

Because all footprints are always visible on the PCB, it can be difficult to know which components belong to which variant. The PCB editor provides the Project | Project Actions | Current Variant drop-down, which can be used to switch between variants. However, the only visible clue to tell if a particular component is fitted or not fitted in that variant is if the component includes a 3D body. That 3D body will appear/disappear to indicate when the component is fitted or not fitted. This fitted/not fitted behavior can be seen much more easily when the PCB is in 3D mode (View | View » Switch to 3D, keyboard shortcut: 3).

Viewing a Varied Component Comment

CircuitMaker allows fabrication outputs to be driven by variants. More specifically, this allows you to specify a change to a component's Comment parameter. That change will be passed to the fabrication output – the silkscreen layer of the generated Gerber or ODB++ output. The PCB editor supports the visual display of such a change; the Comment field will reflect the value assigned for the currently chosen variant directly in the design space.

To pass a changed Comment value for a variant through to the fabricated bare board, you need to enable the Allow variation of fabrication outputs option in the Edit Project Variant dialog. This allows that particular variant to drive fabrication outputs. However, to see the change in a Comment between variants visually (presented in the PCB editor) does not require this option to be enabled.

With the variants defined, locate a component of interest in the PCB design space whose Comment parameter is varied then switch the current variant from the Project | Project Actions | Current Variant drop-down field. The displayed value for the comment will change in accordance with what has been defined for that current variant.

The changed comment for a particular variant can be viewed on the PCB regardless of viewing in 2D or 3D.
If you change the comment for a component while viewing a particular variant (not the base design), you will be alerted to the fact that doing so will change its variant value. By clicking Yes, not only will the displayed comment change in the workspace, but the new value will be committed for that component in the current variant. This can be verified by looking at the Comment entry for that variant in the Variant Management dialog.

Variant Errors

Variant settings are stored in the project file (*.PrjPcb). When the Variant Management dialog is opened, this data is read and analyzed then loaded into the Variant Management dialog. If there are issues detected during loading data, such as mismatches between component designators or component UIDs, an Information dialog will open and display the problem. Component UID mismatches are automatically resolved by closing the dialog and saving the project to retain the corrections. Duplicate designators must be resolved at the schematic level.

Edit Project Variant Dialog

This dialog provides controls required when initially adding a new variant for the design, or editing/cloning an existing one. It allows the variant to be given a meaningful name, as well as the ability to specify variant-level parametric data.

The dialog is accessed from the Variant Management dialog in the following ways:

  • Click the Add Variant button.
  • With an existing variant active, click the Edit Variant button.
  • With the required variant to be cloned made active, click the drop-down arrow associated with the Add Variant button then choose the Clone Selected Variant command from the menu.
To make a variant active, either click on the variant's name in the column header or click in any of the variant's cells.

The dialog's key commands are described below.

  • Allow variation of fabrication outputs - enable this option to allow the variant to drive fabrication outputs for your design. Essentially, this feature allows you to vary the comment for a component in your design, and feed this change to the following fabricated outputs:
    • Gerber files
    • ODB++ files
    • Composite Drill Drawings
    • Drill Drawing/Guides
    • Final Artwork Prints
Although it is fabrication output that is being changed, it is only changing the silkscreen output based on a variation in the component's Comment parameter. You cannot change any other aspect of the fabricated board, such as the routing, the layout of the components, or the layer stack.
  • Parameters - this region lists all of the parameters currently defined for the variant in terms of:
Standard multi-selection techniques are supported (Ctrl+click, Shift+click, click&drag).
Sorting by either column can be performed by clicking on that column's header - once to sort ascending, and again to sort descending.
  • Add - click to add a new parameter to the list. The Parameter Properties dialog will open in which you can define the parameter.

  • Edit - click this button to open the Parameter Properties dialog to modify the currently selected parameter.
A parameter can be edited directly in the grid; click once on a field to focus it then enter the new name/value as required.
The grid's right-click context menu provides Add, Remove and Edit commands, as well as commands for copying and pasting parameter entries.

Variant Options Dialog

The Variant Options dialog includes options to configure the way in which varied components are presented on the schematic sheets (which then flows to printed or PDF outputs) and in PCB drawing type outputs, such as assembly drawings.

Configure how the not fitted components for defined variants are presented on the schematic and in PCB drawing outputs.Configure how the not fitted components for defined variants are presented on the schematic and in PCB drawing outputs.

The dialog is accessed by clicking the Drawing Style button at the bottom of the Variant Management dialog.

Variant Report Dialog

The Variant Report dialog provides controls to configure and generate a detailed HTML-formatted report of the defined project variants.

The dialog is accessed by clicking the Detailed Report button at the bottom of the Variant Management dialog.

  • Report Only Varied Components - use to determine the exact information featured in the report:
    • Full Non-Varied Information (option disabled) - all components are listed, showing their inclusion state in each enabled variant. For each component, all parameters and their values are listed.
    • Full Varied Information (option enabled) - only those components that vary in some way between enabled variants are listed, showing their inclusion state in each variant. For each component, only those parameters that vary in some way between variants are listed, along with their values.
  • Project Variants - lists the original base design (<Original Base>) and all defined variants. The generated report could compare one specific variant against the base design, compare one variant against another, or compare all variants against the base design. By default, all defined variants, as well as the original base design, will be enabled for inclusion into the report. Use the associated checkbox(es) to include/exclude entities as required.
  • Run - click to generate the Variant Report. The report will be created and opened as the active document in the main design space.

Output Documents Affected by Variants

Assembly variants affect all output documentation that includes details about the purchase or loading of components. This includes:

  • Bill Of Materials
  • Schematic Prints
  • PCB Prints
  • PCB 3D Prints
  • Assembly Drawings
  • Pick and Place files

Fabrication variants also affect the following outputs:

  • Gerber overlay layers
  • ODB++ overlay layers
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.