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, one or more assembly variations of a board design can be defined using the assembly variants feature. An assembly variant is an alternately assembled 'version' of the original board design. It may vary from the original with respect to:
- the number of original design components it contains
- the specific part type/value of those components (e.g. a discrete component with a different value, or a faster logic component of the same or different technology family)
- varied component-level parameters (e.g. tolerance or voltage-rating of a capacitor, Manufacturer's Part Number, etc).
The true power of the assembly variants feature is that variations of a design can be created without having to create and maintain explicit PCB design projects for each variant. You are simply controlling the population of components on the base board - fabrication of the PCB remains the same irrespective of whether the original (full design) or a variant of it is being manufactured. The variation, in physical terms, comes into play during the board assembly phase - whether a component is fitted or not and whether the default component from the base design is used or whether an alternate part is specified.
When generating manufacturing output, the base design is always used to generate fabrication-related documents (e.g. Gerber, ODB++, NC Drill, etc), but when generating assembly-related documentation (e.g. Bill of Materials, Pick and Place, Assembly Drawings, etc), the source from which the output is generated will depend on the assembly variant you wish to manufacture.
Basic Variant Functions
Advanced Variant Functions
Generating Output and Saving Variant Definitions
Impact of Design updates on Assembly Variants
If the components in the base design are changed in any way - for example components are updated from a library or a linked external company database - the defined assembly variants themselves will not be modified. The affect of base design updates on assembly variants can be summarized as follows:
- Component inclusion states will remain unchanged. A part defined as Not Fitted before an update will remain as Not Fitted after an update.
- Component parameters that are defined to be Not Varied for an assembly variant will acquire any new value arising from the update. Put another way, if a parameter is not specifically varied in its value, an update of its value in the base design will flow through to the assembly variant as well.
- Component parameters that have been specifically varied for an assembly variant will remain untouched. The specified value for such a parameter before the update will remain at that value after the update.
With Altium Designer Summer09 the new Graphical Editing of Assembly Variants and Board-Level Annotations was added to the Schematic Part of Altium designer. For information about this very nice feature see the Related article: Graphical Editing of Assembly Variants and Board-Level Annotations