Working with Vault Components_AD

This document is no longer available beyond version 17.1. Information can now be found here: Creating a New Component for version 22

Applies to Altium Designer version: 17.1
 

One of the fundamental principles to Altium's way of approaching the design of electronics, is just how important it is to model the objects used in the design process. Not just model them, but model them to a very high level of quality. This applies to all objects used in the design process, from simple off the shelf components like resistors, through to complete PCB assemblies, enclosures and even the final product.

Altium Designer, with its unified design approach, has traditionally used a component model that extends across all aspects of the electronics design process. However, to seamlessly fit the process of electronics design into the encapsulating product development process as a whole, this model needs to evolve - extending to cover other aspects including other design processes (in particular MCAD and Industrial Design), as well as business processes (such as procurement and manufacturing) that intersect with the product development process.

This evolved object model is known as the Unified Component Model.

This component model effectively maps the concept of a design component - in the traditional electronics design arena - to the component as seen by the rest of the organization in the bigger 'product arena'. A truly 'Unified Component' model that not only represents the component in the different design domains (Schematic Capture, 2D/3D PCB Layout, Simulation) but also facilitates choices of the desired physical components - real-world manufactured parts - at design-time, offering a significant improvement in terms of procurement cost and time, when manufacturing the assembled product.

Under this modeling paradigm, the design component, as seen by the designer, is separated from the Manufacturer and/or Vendor parts. This information is not defined as part of the component. Instead, a separate vault Item - a Part Choice List Item - is used to map the design component to one or more Manufacturer Parts, listed in a Part Catalog, which in turn can be mapped to one or more Vendor parts, allowing the designer to state up-front, what real parts can be used for any given design component used in a design.

These components, along with their part choices, are stored in a target Altium Vault. A component is stored as a series of revisions of a uniquely-identifiable Component Item. Each revision is lifecycle-managed, providing collections of certified components, authorized to be re-instantiated into new design projects, manufactured into prototypes, or used for production runs. In short, a catalog of components implemented through vault-based 'libraries'.


The term 'Unified Component' depicts the extension of a design component into the bigger product arena through dedicated part choices, that map that design component
to the real-world manufactured parts that have to be sourced by the procurement team. This gives the procurement team a beneficial and timely 'heads-up' on what those
parts should be.

Domain Models - an Important Prerequisite

Main page: Vault-based Domain Models

Before you can delve into the process of defining design components and releasing them to a vault, you must first ensure that all the models themselves - representing those components across the various required design domains - have been created and released. For board-level components this will generally be a case of schematic symbol and PCB footprint models (with reference to 3D models where applicable), but could include other domain models as well, such as simulation models.

Creating a Vault Component

Main page: Managed Components in an Altium Vault

Each design component released to a vault is specified using a source Component Definition. A component definition is simply just that - a definition of a particular design component. A definition that ties together the required models and parameters for that component in a clean and ordered fashion. The component definition maps to an Item - a Component Item - in the target vault. To put this another way, you are defining the source definition that will, when released, provide a managed vault component which you can re-use again and again in your designs.

The Altium Vault is used as both source and target for design data, allowing you to access and edit the secure (and latest!) source, without the headache of managing two sets of data. This is supported through the notion of editing a Component Item directly from the vault - a concept known as Direct Editing. The component definition itself is defined in a temporary instance of the related editor (the CmpLib Editor). So instead of being the definitive source for each component, which must be stored carefully on a hard drive, or backed-up under version control, the editor becomes a streamlined tool with which to make changes to components, and re-release to new revisions of those components, without a physical file in sight. And this goes for inital component creation too - simply define the component using the temporary editor and release, with the temporary editor being closed afterwards. With the component data released and stored securely in the vault, the need for a physical file becomes redundant.

A Component Item can be edited in this way directly from the Vaults panel. Access is provided through the Edit command on the right-click menu. For more information on this concept of Direct Editing, see Creating and Editing Items Directly through an Altium Vault.


Definition of a component. All data required for a component is specified within a Component Library file, including links to the lower-level released domain models and parametric
information. Direct editing from the vault means that the file is created through a temporary editor and released - without a physical file in sight.

Helping to streamline the creation of your Vault Components, Altium Designer, in conjunction with the Altium Vault, supports creating and defining Component Templates. Just as a schematic template can be used to predefine information on schematic sheets that reference it, a component template is referenced by a component library (CmpLib), and provides predefined settings for use by component definitions defined therein.

Part Choices - Accessing the Supply Chain

Main page: Adding Supply Chain Information to a Vault Component

Releasing a component definition results in creation of a Component Item in the target vault, or Vault Component. But at this stage, it is still simply the design (or engineering) view of the component. It means the world to the designer using it in a board design, but is not meaningful outside of the design arena. To become a truly Unified Component, that unites the design and supply chain camps, the Component Item must be mapped to physical, real-world manufactured parts. This mapping is defined through a Part Choices List.

The unified nature of a vault component, through the chosen part choices made for it, ultimately creates a link from that component, all the way through chosen Manufacturer Part(s), and on to the Vendor (Supplier) Parts that each itself references. From the designer's perspective, the component is hooked directly into the supply chain. This allows real-time data to be made available - fed back from the Supplier's web services - to let the designer know the current costing and availability of the chosen parts, and from all Vendors that sell those chosen parts.

In the Vaults panel, access to supply chain information for a Component Item is available from the Supply Chain aspect view for that Item. From the Solutions region of the view you can gain access to the Part Choices dialog - your interface to the Part Choices List. Simply search for a required Manufacturer Part and add it to the list. Remove existing parts from the list if no longer a viable option in accordance with changes to design requirements - the choice of parts is down to you! When you save your choices a new Part Choices List will be created and linked to that Component Item or, if the Part Choices List exists already, it will be saved.


Search for and choose the real-world manufactured parts that can be used to implement a Component Item during assembly. For all Vendors linked to the chosen Manufacturer
Parts, real-time pricing and availability information is fed back, directly from those Vendors.

Re-use in a Design

Once released and available in the vault, components can be re-used in any new design project. In addition, the concept of component certification is made possible as the components are formally revised and lifecycle-managed. This allows the organization to specify the state of its components and what they can be used for (design, prototype, production, etc). From a design perspective, this results in the creation of vault-based libraries, containing a formal collection of components that have been company-approved for use in each new design project embarked upon within that company.

The beauty of using certified components in your designs is that when it becomes time to change the lifecycle state of your board design, the integrity of the design becomes greater still, since a design can only be released to "Prototype" or "Production" provided the components it uses are also in a corresponding state. Put another way, you wouldn't start to produce that assembled board if the components are only at a "Design" stage!

And, if we take this to the finest level of granularity in the component management arena itself, the system will not allow you to promote the lifecycle state of a component in the vault until all of its referenced domain models are in a corresponding correct state to be able to do so. In other words, a parent component cannot be further in its lifecycle than its child models.

Design using components that have been certified for use.
Design using components that have been certified for use.

Placement of vault components can be performed either from the Vaults panel, or from the Libraries panel - the latter giving a sense of familiarity to those designers having used non-vault component management methodologies.

A vault component can be placed onto a schematic sheet, or a PCB document. The applicable model for the chosen domain will appear floating on the cursor accordingly.

Prior to Placement

Placing a vault-based component truly is simplicity itself. But before you do anything, first ensure that the schematic sheet (or PCB document) that is to receive the component is open in Altium Designer and is the active document. If documents are open across multiple windows, ensure also that the window containing that active schematic document has focus.

When working with Altium Designer across multiple windows, if the Vaults panel, or Libraries panel, is docked in any mode to a window without the target schematic in it, the Place command will remain grayed-out. This is because clicking within a docked panel focuses the window to which that panel is attached. With the panel floating however, the required Altium window can be focused (the one with the active target schematic), and that window will keep focus when working inside the panel.

Placement from the Vaults Panel

To place from the Vaults panel:

  1. Browse or search for the Component Item you wish to place.
  2. Right-click on the specific revision of the component required (typically the latest, in which case just right-click directly on the top-level Item entry).
  3. Choose the Place command.

The component will float attached to the cursor - just pick a ball-park spot on the active schematic sheet (or PCB document) and click to effect placement. You can fine tune and nudge it into its final location at a later stage.

Place a vault-based component from the Vaults panel, using the dedicated Place command.
Place a vault-based component from the Vaults panel, using the dedicated Place command.

Drag and Drop from the Vaults Panel

For more express placement of your components from the Vaults panel, Altium Designer provides the ability to drag & drop revisions of Component Items directly onto the active schematic document (or PCB document). This provides similar and familiar functionality, long enjoyed by the Libraries panel when using non-vault component management methodologies.

Simply browse a connected vault for the required Component Item to be placed. Placement involves a specific revision of that Item, so be sure to expand the main Item entry to list all of its available revisions. Then simply click on the required revision and drag an instance of it onto the schematic sheet (or PCB document).

Drag and drop the top-level entry for a Component Item itself, to place an instance of the latest revision of that Item.
Drag & Drop places a single instance of the Component Item Revision. If you need to place multiple instances, right-click on the required Item Revision (or top-level Item entry for the latest revision) and use the Place command.

Drag the required revision of a Component Item from the Vaults panel...and drop it onto the active schematic document.
Drag the required revision of a Component Item from the Vaults panel...and drop it onto the active schematic document.

Placement from the Libraries Panel

Altium Designer supports access to, and placement of vault components from, the Libraries panel. This gives a reassuring sense of familiarity for those designers who have regularly used the Libraries panel to search for, browse, and place components from any other library format - such as model libraries, integrated libraries, and database libraries. With this support, not only can you access the components in any vault folder, you can also bundle any number of vault folders to present as a single 'library' within the Libraries panel.

Making Your Vault Components Accessible

The make folders of vault components available for use through the Libraries panel, perform the following:

  1. Access the Available Libraries dialog (either by clicking the Libraries button at the top-left of the Libraries panel, or by running the Design » Add/Remove Library command.
  2. Ensure the Installed tab of the dialog is the active tab.
  3. Click the Install button and select Install from Vault - the Vault Library dialog will appear. This dialog is used to map nominated vault folders to the library name you want displayed in the Libraries panel.


Vault folders can be installed like all other Altium Designer libraries, in the Available Libraries dialog. Use the Vault Library dialog to map
vault folders to the library name you want displayed in the Libraries panel.

Choose the source Altium Vault, from where to source the vault components. Simply click on the current vault name at the top-left of the dialog to access a drop-down listing of all connected vaults.

Define a name for the 'vault library' - this is a name that you are giving to a specific set of vault folders, so make it meaningful to you. Enter the name into the Library name field at the top of the dialog. This name only exists in the Libraries panel, you are not modifying the vault contents in any way.

Define the path to each vault folder you want included in this 'library' - click the Add button to browse the folders of the nominated source vault, and add the folder you want included in your 'library'. Multiple folders can be added, and if you select a parent folder, the components in all child sub-folders will be included too.

  1. Once you have defined a name and added the required folders, click OK to return to the Available Libraries dialog. The entry for the named 'library' will be added to the list of installed libraries. Note that the Path region of the dialog includes a line for each folder you included in your 'vault library'.

A vault library, listed alongside other installed libraries.
A vault library, listed alongside other installed libraries.

Browsing and Placing Vault Components

Once the required vault folders have been mapped to a user-defined library name and installed in the Available Libraries dialog, those folders - and the components they contain - can be browsed from the Libraries panel. Simply select the required library name from the listing of available libraries. By default, the latest revision of each Component Item is presented. Click on an Item Revision to display its referenced domain models, and supply chain information.

You can now place components from those vault folders. Vault components are placed from the panel in the same way as any other library component:

  • Select a component and use the Place button at the top-right of the panel (or the Place command from the right-click context menu).
  • Click on, drag, and drop the component directly onto the active schematic sheet (or PCB document).
Again, drag & drop places a single instance of the Component Item Revision. If you need to place multiple instances, use the Place command.


Vault components can be accessed and placed from the Libraries panel in the same way as any
other library component.

Vault components are presented over multiple pages, with 25 components per page. This is done to reduce loading time, as a vault folder can contain a very large number of components. Controls for moving through the pages are displayed below the list of components.

Click the  button at the bottom-right of the components listing to access the Load all pages command. Use this to switch between presenting the components over multiple pages, or as a single listing. This menu also provides commands for controlling which revisions are presented (Show only latest revisions - enabled by default), and whether hidden revisions are presented (Show hidden revisions - disabled by default).

Where-Used Capabilities

The highly relational structure of the data in an Altium Vault lends itself to powerful 'where used' capabilities. At any time, you are able to see where a particular child Item is used, in terms of parent Items in the vault. So for a given domain model, you can quickly identify which component Items reference it. For a given component Item, you can see which board designs it has been used in, which managed schematic sheets, and so on. Conversely, and from a parent Item's perspective, you are able to quickly browse its children.

  • For a parent Item, use the Vaults panel's Children aspect view.
  • For a child Item, use the Vaults panel's Where-used aspect view.
For a Component Item, or Managed Sheet Item, children can also be viewed using the Vaults panel's Preview aspect view.
Clicking on the entry for a child Item in the Preview aspect view, or on an Item entry in the Children or Where-used aspect views, will take you to that Item within the vault.

The ability to traverse the content of a vault in this way can offer great benefit, not least of a time-saving nature. For example, if a component is deprecated or made obsolete for any reason, you can quickly identify and pull-up the schematic sheets and board-level designs in which it is placed, and update and re-release those Items as new revisions using another, equivalent approved component.

And why re-invent that proverbial wheel, when you can find a component that you need to use and see which designs it has already been used in. If those designs are at a production state, that component has been proven already and is therefore good-to-go. It can be re-used in your next design with assured confidence.

Managing Vault Components

Having initially placed vault components onto schematic sheets of a board design, there now needs to be some way of updating those component instances, with any changes to their linked source Component Items in the vault. In other words, a means by which to keep the design synchronized with the vault entities that it uses.

For example, a Component Item may have been re-released, perhaps reflecting a change to a child model. This results in a new revision of that Component Item. The placed instance of that Item is now using an older revision and you may want to update it to use the latest revision instead. Alternatively, you may have decided to use a different component altogether, and simply need to change the existing component in the design for a new one.

There are two methods available by which to manage the components after initial placement into a design.

Single Instance Component Change

Each placed component has a link back to the Component Item in the vault. This information can be found in the associated properties dialog for the component.

Each placed instance of a vault component has a link back to the specific revision of that Component Item in the vault.
Each placed instance of a vault component has a link back to the specific revision of that Component Item in the vault.

At this lowest, individual component level, the placed instance can be updated to a later revision of the same Component Item (or changed to a totally different Component Item) simply by clicking the Choose button. The Choose Item dialog will appear, with the currently linked Item (and revision thereof) focused in the source vault. Select the later revision, or browse for another Component Item to use, as required.

If there is a later revision of the component available, the Revision State field (in the Component Properties dialog) will reflect this using the text Out of date, to the right of the current revision's lifecycle state.

Example update for a single placed component instance. In this case, an out-dated revision is switch for the latest revision of the same Component Item.
Example update for a single placed component instance. In this case, an out-dated revision is switch for the latest revision of the same Component Item.

Effecting Batch Component Changes - the Item manager

Related page: Managing Vault Items with the Item Manager

Individual component update is great, however it soon becomes tiresome when dealing with a more sizable number of components. For this, you need a single, centralized place from which to effect multiple changes in a batch-like manner. Enter the Item Manager (Tools » Item Manager).

The Item Manager is 'command-central' for synchronizing vault-based (or 'managed') design entities - placed on schematic sheets - with the source Items they are linked to in a vault. It automatically compiles the schematic project, detects and lists all components, flagging if they are managed or not, and then compares the Item-Revision of each managed component on the schematics against the available Revisions of that Item in the Vault. For each entity, information about the current linked Item is given, in terms of revision, lifecycle state, and the source vault in which it resides.

The automated comparison of revisions for managed Items flags any that are out of date. These can then be selected and prepared for update to the latest revision with minimal effort. For more detail, see Detecting when there are Updates Required.

You have full control over which of these managed entities to update, and how. Select an individual entry and choose a later revision of the linked Item to be used. Or select a group of entries that utilize the same linked Item and choose the next revision in one hit. All proposed changes are reflected back in the manager.

Once changes have been set up as required, simply generate an Engineering Change Order (ECO) and browse the actions that will be taken to implement those changes. Disable any actions if required - you are always in the driving seat! When ready, execute the ECO and the changes will be effected. Fast and efficient, your placed vault items are managed with simplistic ease.

If you're confident in the changes you are making, you can use the Item Manager's Apply ECO feature - effecting the changes quietly, without popping the Engineering Change Order dialog.

Synchronize the vault-based items placed on your schematics with their linked source vault Items using the powerful update capabilities of the Item Manager.
Synchronize the vault-based items placed on your schematics with their linked source vault Items using the powerful update capabilities of the Item Manager.

Not only can the Item Manager be used to keep your managed components in your designs in-sync with changes to the source Items in the vault(s), it is also a powerful tool to aid in the migration of your existing board designs - from using unmanaged design items to using managed, vault-based design Items. Once you have migrated your design components to a vault, and any schematic sheets (device sheets), you simply use the Item Manager to 'replace' the existing components and sheet symbols with their newly migrated vault-based incarnations. In other words, the components remain the same, from the design perspective, but the source of those components changes.

Powerful auto-matching capabilities enable you to quickly match unmanaged components and sheet symbols to Items in the vault.

Preventing Deletion of a Component Item if a Revision in Use

If any revision of a Component Item has been used in a design, then that Component Item cannot, by default, be deleted from the Vault. When you attempt to delete one or more Items, using the Delete Item command from the Vaults panel's right-click context menu, you will still get the Confirm Delete Item dialog, but upon clicking OK, the Delete Item Errors dialog will appear - alerting you to any of the chosen Items that could not be deleted because they are in use.

An option to control this behavior is available from the Vault's browser-based interface. The Permissions page of the Settings area of the interface (ADMIN » SETTINGS) provides a single option that allows Vault Components to be deleted from the Vault, even if they have been placed on a design document.

If a revision of a Component Item is placed within a design, that Item cannot be deleted from the source Altium Vault.If a revision of a Component Item is placed within a design, that Item cannot be deleted from the source Altium Vault.

Migrating Existing Non-Vault Components

Main page: Streamlined Migration of Existing Libraries to an Altium Vault

Altium Designer, in conjunction with Altium Vault (3.0 or later) provides a streamlined, simple process to quickly migrate your existing libraries to an Altium Vault. The GUI to this process - the Library Migrator view - presents an intuitive flow that takes initial selected libraries, and migrates them to a target Altium Vault. Catering for all types of libraries, relating to older component management methodologies - SCHLIB, PCBLIB, INTLIB, DBLIB, SVNDBLIB - the Library Migrator is the perfect solution to quickly building your company's set of vault components, and the many benefits that such components enjoy (high-integrity, lifecycle management, centralized storage and management, where-used functionality, ease of design resuse). And while the migration process can be configured - giving you enhanced control over how that migration is performed - at its most simplistic, you can simply accept the default settings and set the migration in motion within a matter of clicks.

All information that is present in an original source library is migrated, in order to arrive at a folder of unified components (vault components that have assigned part choices), with all referenced domain models (schematic symbols, PCB footprints, 3D Models, Simulation Models), and parametric information. Component templates can even be created, and used to create those vault components. And if your original components have multiple PCB footprints defined, you can rest assured that the Library Migrator will bring those models across, and keep the current default footprint too.

And if you only work with PCB libraries - your only concern is PCB layout - then the Library Migrator supports migration of just those libraries only.

Accessing the Library Migrator view - the user interface to the component migration process.
Accessing the Library Migrator view - the user interface to the component migration process.

While migration may seem daunting, the defaults have been defined to enable you to get your collection of vault components without having to change a thing - start the process and design with the fruits of the Migrator's labor. The system conducts and handles a number of validations, for example to ensure no duplicate IDs for the resulting vault components, or to ensure no duplicate models or component templates are created, and that such entities are reused across (linked to) components where needed. And if issues do arise, the system flags them, with suggestions on how to resolve those issues, aiming to get the migration back on track as quickly, and as smoothly as possible.

Batch Releasing File-Based Component Definitions

If you have a set of file-based component libraries (*.CmpLib) that you need to release to a target Altium Vault quickly, and simultaneously, then you can use Altium Designer's Release Manager. Use it to batch-release component definitions stored across multiple component libraries, in a nominated source folder location.

The Release Manager is considered to be a legacy tool. It is highly recommended to use the Library Migrator when migrating your existing component libraries into an Altium Vault.

Access the Release Manager dialog by running the File » Release Manager command.

Release component definitions, stored in one or more source Component Libraries, using the Release Manager.
Release component definitions, stored in one or more source Component Libraries, using the Release Manager.

Setting up for release couldn't be simpler:

  • Set the Document Type to CMPLIB.
  • Point to a top-level folder containing the component library files you want to release. Files can be stored in sub-folders within this folder.
  • Choose the target vault.
  • Choose to create a top-level folder in the vault based on the nominated top-level Windows folder, or choose an existing vault folder. You can optionally create sub-folders in the nominated vault folder, for each Windows sub-folder. Additionally, you can opt to create a vault folder for each source component library file.
  • Use the Default Options for New Released Components region of the Release Manager to control how required new Items are created as part of the release process - in terms of Lifecycle Definition, Item Naming (default is CMP-{00000}) and Item Revision Naming schemes, and starting index.
  • Hit the Analyze Folders button.

Analysis of source folders and target vault folders (and Items) based on your chosen options will be performed and the source component library files detected will be listed. For each entry, the target Item will be displayed, its current and/or next revision (as applicable) and the action that will be performed by the release process.

Enable the component definitions that you want to release and then click the Prepare Items and Documents button to effectively commit the link information to the source component library files involved in the release. Once saved, proceed with the release by clicking the Release Items button.

The Release Manager can also be used to quickly generate Component Libraries, en-masse, from a nominated folder of Schematic Library documents. With the Schematic Libraries loaded, simply use the Generate Component Libraries command from the Migration Tools drop-down menu.

 

Content
Content