Managed Components in an Altium Vault

This document is no longer available beyond version 17.1. Information can now be found here: Components in a Workspace for version 22

 

Parent page: Working with Vault Components

Once all prerequisite domain models have been created and released into a Vault, a design component can be defined and released. Components are formally modeled as file-based definitions that can be released into a Vault for reuse in a design project. Revision-controlled and lifecycle-managed, a company can authorize the 'set' of components that can be formally used by their designers.

Once in the Vault, a design component - or Vault Component - can be extended to include real-world physical component information, creating a component that spans, or rather unifies, the Design and Supply Chain arenas - a Unified Component.

This document focuses on bringing the required pieces together to define and release a Component Definition into a Vault - the 'design view' of that component.

To turn the humble Vault component into a truly Unified Component, requires that Part Choices be made for that component. This is the process of nominating which 'real-world' component(s) can be used for the design component when the product is physically assembled. For more information, see Adding Supply Chain Information to a Vault Component.

The Component Definition

The engineering, or design view of a component is, in essence, a container into which all information used to model that component in the design arena is stored. This includes links to all requisite domain models (schematic symbol, PCB 2D/3D component, Sim, SI, etc), as well as parametric information. What's more, this abstracted 'bucket'-type modeling is very scalable, should the component need to be represented in additional design domains in the future.

The design view of a component – a neatly packaged container for all information required to
represent that component across the various design domains.

But how to specify a component? Or, more precisely, how to determine the contents of that container? The answer is to create a 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.

Component Items are created directly from within the target Vault. Once a Component Item has been created (and data released into a revision of it), and its lifecycle state set to a level that the organization views as ready for use at the design level, it can be reused in the creation of one or more designs.

Just to reiterate, the release of a component definition does not result in a Unified Component. The resulting Component Item is simply the design view of that component. In this regard, it is simply a Vault component. The addition of Part Choices is needed to turn it into a true Unified Component.

Folder Type

When creating the folder in which to store Component Items, you can specify the folder's type. This has no bearing on the content of the folder - releasing a component definition will always result in a corresponding Component Item. It simply provides a visual 'clue' as to what is stored in a folder and can be beneficial when browsing a Vault for particular content. To nominate a folder's use as a container for Component Items, set its Folder Type as Components, when defining the folder properties in the Edit Folder dialog.

Specifying the folder type - its intended use - gives a visual indication of the content of that folder when browsing the Vault!
Specifying the folder type - its intended use - gives a visual indication of the content of that folder when browsing the Vault!

Item Type

When creating a target Component Item in which to store your component definition, ensure that its Content Type is set to Component, in the Item Properties dialog. If you are creating the Item in a Components type folder, this Item type will be available from the right-click context menu when creating the Item.

The Altium Vault supports item-less component creation. Using the Create Item » Component command from the menus will enter this mode directly. To get the Item Properties dialog first, you need to use the Create Item » Other Item Type command. For more information about the former, see Item-less Component Creation.


Creating a Component Item within a Components folder - while the correct Content Type is available on the context menu (Component command), using this will take you into
item-less component creation mode. To create a traditional Item using the Item Properties dialog, choose the Other Item Type command from the menu instead.

Releasing a Component Definition

So far, we've discussed the support for a Component Item in the Vault, in terms of related folder and item types. Releasing an actual defined component definition into a revision of such an item can be performed in a single streamlined way.

A component definition can be edited and released into the initial revision of a newly-created Component Item, courtesy of the Vault's support for direct editing. Direct editing frees you from the shackles of separate version-controlled source data. You can simply edit a supported Item type using a temporary editor loaded with the latest source direct from the Vault itself. And once editing is complete, the entity is released (or re-released) into a subsequent planned revision of its parent Item, and the temporary editor closed. There are no files on your hard drive, no questioning whether you are working with the correct or latest source, and no having to maintain separate version control software. The Altium Vault handles it all, with the same great integrity you've come to expect, and in a manner that greatly expedites changes to your data.

When you create a Component Item, you have the option to edit and release a component definition into the initial revision of that item, after creation. To do so, simply enable the option Open for editing after creation, at the bottom of the Create Item dialog (which is enabled by default). The Item will be created and the temporary CmpLib Editor will open, presenting a .CmpLib document as the active document in the main design window. This document will be named according to the Item-Revision, in the format: <Item><Revision>.CmpLib (e.g. CMP-001-0001-1.CmpLib).

Example of editing the initial revision of a Component Item, directly from the Vault - the temporary CmpLib Editor provides the document with which to define your component.
Example of editing the initial revision of a Component Item, directly from the Vault - the temporary CmpLib Editor provides the document with which to define your component.

Use the document to define the component as required. For more information on doing this, see Defining the Component.

The Component Library Standard toolbar provides three relevant controls when direct editing:

  •  - Save Active Document. Use this button to save the changes made to the document. This is required before you can release the document back to the Vault.
  •  - Release Document. Use this button to release the defined component definition to the Vault, storing it within the initial (planned) revision of the target Component Item. The Edit Revision dialog will appear, in which you can change Comment, Description, and add release notes as required. The document and editor will close after the release. The document containing the source component definition, *.CmpLib, will be stored in the revision of the Item.
  •  - Cancel Editing. Use this button if you wish to cancel editing. The document and editor will close, and nothing will be released to the target Component Item.

The released data stored in the Vault consists of the source component definition, defined in the Component Library file (<Item><Revision>.CmpLib). Browse the released component in the Vaults panel. Switch to the Preview aspect view to see the referenced models and parametric information.

A released Component Item viewed directly from within the target Vault, courtesy of the Vaults panel.A released Component Item viewed directly from within the target Vault, courtesy of the Vaults panel.

Item-less Component Creation

The introduction of Component Templates provided an efficient means for creating components using ratified templates, however, an issue within that function became apparent. Since the item is created first, the information in the template (i.e., naming scheme, revision scheme and lifecycle definition) were not assigned since the component item was already created. In order to alleviate this, the Altium Vault, in conjunction with Altium Designer, supports item-less component creation. This does not mean an item is not created, but rather an instance of the CmpLib Editor is accessed directly, which allows the template details to be applied prior to adding and releasing the required component. The actual component item (and planned revision) is created as part of release preparation.

Item-less component creation is available from within an existing folder for Component Items (folder type must be Components). There are two ways to enter item-less component creation mode:

  • By using the Create Item » Component command from the Item region's right-click menu.
  • By clicking the Add Component button, above the Item listing.

Accessing Item-less component creation mode.Accessing Item-less component creation mode.

On entering this mode, a temporary (direct editing) instance of the Component Library (CmpLib) Editor will be opened - titled New Component.CmpLib by default - and a component definition added ready. The default presentation and information loaded depends on whether a component template is involved.

  • If the mode is accessed from a folder of components and that folder has a component template attached, then model and parametric data, as well as defined Lifecycle Definition, Revision Naming, and Component Naming, will be brought in from that template. The Default Folder will be the folder from which the mode was launched. The added component definition will be fully defined, with information from the template.
  • If the mode is accessed from a folder of components and that folder has no component template attached, then a default CmpLib with default settings will be presented. If the source folder has a defined Item Naming Scheme, then this will be used for the CmpLib Component Naming field. The Default Folder will be the folder from which the mode was launched. The added component definition will simply have the folder path and component name entered, all other definition information (models, parameters, component type) must be manually specified.

By way of example we'll just consider the first scenario. After all, getting the component template used is why this mode was created. Just remember, that while the process will be very similar for the other scenario, you will just need to do more manual work if not using a template.

Example CmpLib instance created after launching the item-less component creation mode from a folder (Schottky Diodes) that has a component template assigned to it.
In this case, the component definition is fully defined, with the information from the template. Roll over the image to see the referenced Component Template.

Make any additional adjustments to the component definition as required. Any additional component definition that you add, will be created in accordance with the associated component template.

With the component(s) defined, save the CmpLib then click the  button in the editor's main toolbar to release the component to the Vault. The Release Manager dialog will appear with the component already prepared. As part of this automatic preparation, the Component Item itself is created, with a planned revision to accommodate the released definition. Now simply hit the Release Items button, and confirm the release when prompted. Then view your new component in the Vaults panel.

Browsing a newly-created Component Item, and its initial released revision, back in the Vaults panel.Browsing a newly-created Component Item, and its initial released revision, back in the Vaults panel.

Defining the Component

In terms of storage, component definitions are created and managed within a dedicated Component Library file (*.CmpLib). A single Component Library file can be used to create (and therefore map to) one or more unique Component Items in a target Vault, by entering one or more component definitions. Each component definition will have a common set of parameters and links to required domain models.

In general it is good practice to have one component definition per Component Library but there are exceptions where it makes sense to manage components as a set, such as a set of chip resistors for example. Component Libraries provide for factorization of models so when there are large sets of components that share symbols or footprints then sharing these in a single Component Library can facilitate a higher level of data integrity. If a footprint is changed for example, all of the chip resistors sharing a common model can be updated to easily use the updated and released revision of that footprint, without the risk of missing one.

The CmpLib Editor - used to define the Component Library and its definition(s) during direct editing of a revision of a Component Item - is essentially divided into four main regions, illustrated in the following image and summarized thereafter.

The CmpLib Editor can be divided into four key regions.The CmpLib Editor can be divided into four key regions.

  1. Required Models/Parameters - where you define what type of domain models are required by the component definition(s), as well as the place to craft a set of parametric data that will be applied to all component definitions.
  2. Model Links - where you add links to released domain models, for use in component definitions.
  3. Preview Window - providing a preview of the currently selected model. This will be graphical for a Symbol and Footprint Item, and textual for other model types.
  4. Component Definition(s) - this is where a component is defined, including its folder, name, type, referenced domain models, and parametric data.
The Required Models/Parameters and Model Links regions can be horizontally collapsed by clicking the  control at their top-left. In addition, the top three regions can be collapsed, leaving just the Component Definitions region, by using the  control, at the top-right.

CmpLib Document Options

Controls for specifying the target Vault in which the Component Items, generated from the source component definitions, will be created - and also the lifecycle definition and revision naming schemes to be employed for those Items - are available in the Document Options dialog (Edit » Document Options).

Vault settings are defined through the Document Options dialog.Vault settings are defined through the Document Options dialog.

  • Target Vault - this field will reflect the Altium Vault in which the Component Item (whose revision you are direct editing) resides. If you have not connected to a Vault, or need to connect to a different Vault, click the Vault Admin button to the right of the drop-down to access the Data Management - Vaults page of the Preferences dialog, from where you can make a connection to the required Vault as necessary.
While you can be connected to various Vaults, you can only be signed in to one Altium Vault at a time.
  • Default Folder - use this field to specify a default folder within the target Vault in which to store the released Component Items. Do this by clicking the Choose button to access the Choose Folder dialog - a cut-down version of the Vaults panel, from where you can browse to and choose an existing folder in the Vault, or create a new one on-the-fly. The entry here will be used by default for the FolderPath when adding a new component definition.
  • Lifecycle Definition and Revision Naming - use these fields to set a suitable default scheme in each case (Component Lifecycle and Component Revision Scheme respectively). Use the drop-down associated with each field to choose a different scheme, from any of the currently defined schemes available for the targeted Vault.
If the option to control use of lifecycle definitions and revision naming schemes per content type is enabled for any definitions/schemes, and the Component Item type is not set to use a particular definition/scheme, then that definition/scheme will not be available in the applicable drop-down list.
  • Component Naming - this field is used to define a default Item Naming Scheme for components released from the CmpLib file, ensuring a unique ID for each resulting Component Item in the Vault. The entry here will be used as the template for automatically naming a newly-added component definition (in its associated Name field). The software will automatically assign the next available unique ID, based on that scheme, having scanned the entire Vault and identifiers of existing Items.

If the parent folder in which the Component Item resides/is being created has a defined naming scheme, then this will be pre-filled as the default. If not, then the default scheme - CMP-{00000} - is provided. You can of course create your own scheme, simply by typing it within the field. Support is available for the use of parameter-based Component Name Templates. Such templates allow you to precisely name, or rather rename your components, based on the currently defined values of parameters available to those components in the CmpLib file. Include a parameter into the naming template using the format [<ParameterName>]. Multiple parameters can be used in a template, and you can also add an iterator macro, specified within curly braces (e.g., {000}, {00A}).

Alternatively, you can override the auto-assigned ID for a component, simply by entering the ID required directly in the Name field for a definition. You always have full control and final say over how the Items are identified!

If the Component Library references a Component Template, the entries specified in the template for Lifecycle Definition, Revision Naming, Component Naming and Default Folder are used to pre-fill the corresponding fields on the Document Options tab of the Document Options dialog. These options (on the CmpLib side) will only be editable provided the corresponding Allow override option is enabled in the template. In addition, the target Vault will be hard-coded to use the same Vault as that in which the revision of the Component Template Item resides.

Required Models/Parameters

This region of the editor is used to specify which domain models are required by the component definition(s), as well as the place to craft a set of parametric data that will be applied to all component definitions.

Define required models and parameters.Define required models and parameters.

  • Models - at the most basic level, a design component used in board design requires representation in the schematic and PCB editing domains. It therefore needs schematic symbol and PCB footprint models. These then are added as required models by default and cannot be removed. Use the Add and Remove controls for the region to add/remove other model types as required.
Specifying a model type does not mean the component definition has to use it, but rather adds a field for that model type to the component's definition.
Notice that the PCBLIB entry is available from the list. This allows for a component to have different PCB footprint models associated to it. In addition, the PCBLIB (default) parameter allows you to specify the default footprint model for a component. For more information, see Defining the Default Footprint.
  • Parameters - two default parameter entries exist - Comment and Description. These are system parameters. Any number of additional parameters may also be added as required. To do so, simply click the Add control at the bottom of the region, then choose the Parameter entry. A new parameter will be added to the list. Click inside the Parameter Name field to change the name as required. To remove a parameter, simply select it and click the Remove control. The system parameters cannot be removed.
The Show option associated to an entry allows you to toggle the display of the corresponding column for that model/parameter in the lower region of the editor - where the component definitions themselves are defined. This can be a tremendous help where numerous parameters have been defined, and the region starts to become highly congested. Use multi-select in combination with the right-click menu options to toggle the display state of multiple models/parameters.

This region of the editor, through the Add menu, also facilitates the following:

  • Linking to a Component Template - the Templates sub-menu lists all Component Template Items currently available in the same Altium Vault in which the Component Item itself resides. Simply click on an entry to create a link to the latest revision of that Component Template Item. Parameters from the template will be brought into this region, and are distinguished by use of the  icon. For more information, see Referencing a Component Template.
  • Enabling the use of Datasheets - choose the Datasheet entry to do this. For more detail, see Attaching Datasheets to Component Definitions.

Model Links

This region of the editor is used to add links to released domain models, for use in component definitions. The Model Links region can be thought of in terms of a 'bucket' of domain models that can be accessed by any component definition in the Component Library document. Assignment is simply a case of specifying which links are required for each definition.

Links to models of a particular type can only be added provided that model type has been added to the Required Models/Parameters region.

The Model Links region, packed with functionality to streamline model link definition and assignment to the component definitions.The Model Links region, packed with functionality to streamline model link definition and assignment to the component definitions.

Use the following collapsible sections to learn more about working with model links.

Component Definitions

Once you have specified the set of parameters, and have your 'bucket' of model links at the ready, you can proceed with the 'meat' of the Component Library document - definition of the required component(s). This is performed in this lower region of the document.

Define your components in a logical and intuitive way, using the hierarchy-less component editor.Define your components in a logical and intuitive way, using the hierarchy-less component editor.

Add a single, new component definition by clicking the Add control at the bottom of the region, or by using the corresponding command of the same name on the region's right-click context menu. Each component definition appears as a single row entry containing the following information:

  • Component: FolderPath - use this field to release the component to a specific folder in the target Vault. For each newly added component to the grid, this field can be populated with a default location, if specified in the Default Folder field in the Document Options dialog (Edit » Document Options). Whether or not a default path is specified, you have full control over where in the target Vault a component will be stored. To manually specify a target folder, click once inside the FolderPath field for a component to reveal the  button, and click to access the Choose Folder dialog. Browse to, and choose an existing folder, or create a new one on-the-fly.
Taking the time to carefully determine folder paths for your components ensures they are released into the correct destination folders from the outset. However, Items can be easily moved to any folder in the Vault structure, post release, if need be.
  • Component: Name - this field is used to determine the ID used for the released Component Item in the Vault. For each newly added component to the grid, this field is populated in accordance with a default naming scheme, specified in the Component Naming field in the Document Options dialog. The software will automatically assign the next available unique ID, based on that scheme, having scanned the entire Vault and identifiers of existing Items.

A default Item naming scheme - CMP-{00000} - is provided, but you can of course create your own scheme, simply by typing it within the field, ensuring that the variable portion is enclosed in curly braces (e.g. CMP-001-{0000}). Alternatively, you can override the auto-assigned ID for a component, simply by entering the ID required directly in the Name field for a definition. You always have full control and final say over how the Items are identified!

  • Component: Type - this field supports the ability to define the type of component and is a key attribute used to facilitate targeted searching of Vault components. Simply click on this field then click  to access the Component Type dialog. Use this dialog to select the required type of component then click OK - the chosen type will be inserted as the value for the Type attribute in the main definitions grid.
The CmpLib Editor can also accommodate the Component Type that is defined - as a dedicated parameter (ComponentType) - in a referenced Component Template.
  • Models - these fields correspond to the entries in the Required Models/Parameters region of the document. There is one field per required model that is added. There will always be at least two models associated to a component, corresponding to the default schematic symbol and PCB 2D/3D Component models. Each field is used to specify which of the linked models (in the Model Links region) is to be used for the component.
Toggle the display of model columns by enabling/disabling the associated Show option for a Required Model entry respectively. Use multi-select in combination with the right-click menu options to toggle the display state of multiple model types.
  • System Parameters - these are the Comment and Description parameters. Enter values for these as required. The Comment parameter can be particularly useful as a means of tagging the component with a more humanly-readable name, such as the name used for that component in other component management methodologies. This name is also available and indexed when searching within the Vault and will provide a good means to locate specific components beyond having to remember their Item ID!
The CmpLib Editor can also accommodate system parameters - Comment and Description - that are defined in a referenced Component Template.
  • Template Parameters - these fields correspond to user parameters brought into the CmpLib from a referenced Component Template Item. There is one field per parameter. The left-to-right ordering of the parameters in a component definition corresponds to their top-to-bottom ordering in the Required Models/Parameters region. Simply enter values for parameters as required, and where applicable. For example, parameters that have been marked Read Only in the template will not be editable, while other parameters will be. And if they have been marked as Required in the template, they must be given a value, or you will not be able to release the component definition.
  • Parameters - these fields correspond to the additional user parameters that you have entered in the Required Models/Parameters region of the document. There is one field per additional parameter. The left-to-right ordering of the parameters in a component definition corresponds to their top-to-bottom ordering in the Required Models/Parameters region. Simply enter values for parameters as required.
  • Release: Current Rev. - this non-editable field reflects the current (most recent/latest) revision of the Component Item in the target Vault.
  • Release: Next Rev. - this non-editable field reflects the next revision of the Component Item that will be created when the component definition is next released, in accordance with the chosen revision naming scheme.
  • Release: Action - this field shows the action that will be taken by the release manager for this particular component definition, as part of the release process. For a component definition that has not yet been released, this entry will display Create Item. For a definition that has already been released, this entry will display Create Revision. If a planned revision of a Component Item is being targeted, then the entry will display Release To Existing Revision.
The Current Rev., Next Rev., and Action fields - which collectively form the Release Status - can be toggled with respect to their display in the region, using the Show Release Status option, located at the bottom of the region. Toggle the display of parameter columns by enabling/disabling the associated Show option for a Required Parameter entry respectively. Use multi-select in combination with the right-click menu options to toggle the display state of multiple parameters.
A component definition needs to have at least one linked model otherwise it will not be released. Also, that model Item must not be in the Planned state. A component definition will also not be released if it has been assigned an ID already in-use by an existing Item in the target Vault.

Working with Component Definitions

Use the following collapsible sections to learn more about working with this region of the editor, including some cool and time-saving features and functionality.

A Word About Linked Simulation Models

Related page: Managed Simulation Models in an Altium Vault

As with Symbol and Footprint Items, a component definition in a CmpLib can also reference a revision of a Simulation Model Item. Adding a model link of this type is exactly the same as for a Symbol and Footprint, so refer back to the previous sections for information on that. Here, we look at including component-level simulation parameters, and also configuration of pin mapping.

Adding Component-Level Simulation Parameters

When using a simulation model for a component in a design, parameters specific to that model can be specified at two different levels:

  • Model-Level Parameter - specified as part of the simulation model definition itself (in the SimModel file), and released with that definition into a revision of the linked Simulation Model Item.
  • Component-Level Parameter - specified as part of the component definition (here in the CmpLib), and released with that definition into a revision of the linked Component Item.
Component-level parameters are used for parameters that are shared between multiple models or where the designer wants to make such a parameter visible/editable on the schematic (e.g. value, frequency etc).

Parameters are added at the component-level in the Required Models/Parameters region of the Component Library document. It is important to note that the naming of parameters must be the same as those parameters defined at the model-level. To see the model-level parameters, and therefore which parameters can be added at the component-level (and their names!), select the SIM model link and click the View Parameters control, at the bottom of the preview window.

View the model-level parameters for a Simulation Model Item, to see which parameters can be added at the component-level - and how they are named!View the model-level parameters for a Simulation Model Item, to see which parameters can be added at the component-level - and how they are named!

Armed with the available model-level parameters, you can now proceed to add any of those same parameters at the component-level - to be available to any component definition in the library. To do so, simply click the Add control at the bottom of the Required Models/Parameters region. A new parameter entry will be added to the list. Change the name as required - remembering to match exactly the name of the corresponding model-level parameter.

Add sim-related parameters at the component-level.Add sim-related parameters at the component-level.

When an instance of the released component is placed in a design, a simulation parameter can have a different value at the component-level, to that for the same parameter at the model-level. When the netlist is generated, the component-level parameter will have priority.
For some of the built-in SPICE3f5 models, entering a value for a parameter at the component-level will override a related parameter defined in a linked model file (*.mdl). For a semiconductor capacitor, for example, specifying a value for the component-level Width parameter will override any value specified for the DEFW parameter in the associated model file. If a parameter is specified at the component-level for a subcircuit model, that value will override the value defined for it in the linked subcircuit file (*.ckt). If a parameter is specified at the component-level for a digital device, that value will override the value specified for that parameter in the source SimCode definition (*.scb).

Pin Mapping

Once the link to the required SIM model has been chosen, you need to ensure that the pins of the component - when represented in the schematic domain - are correctly mapped to the pins of the simulation model. This is performed in the Pin Mapping dialog, accessed by right-clicking on the SIM model entry and choosing Operations » Edit Pin Mapping from the context menu. For each schematic pin, simply use the available drop-down to change the associated Model Pin entry accordingly. If the device is multi-part, be sure to check the mapping for each part.

Ensuring correct schematic pin-to-model pin mapping.Ensuring correct schematic pin-to-model pin mapping.

For a multi-part component, the ability to exclude a part from simulation is also determined through the Pin Mapping dialog.
For the built-in SPICE3f5 and supported PSpice models, the function of each of the pins in a model can be found in the general form section for that model, in the SPICE 3f5 user manual. For subcircuit models, the manufacturer will typically insert comments for each pin of the model, describing that pin's function. If no commenting is evident, then the pinout of the model will typically be that of the physical device itself. Consult the datasheet for the device in this case. For Digital SimCode models, the mapping of the component pins to the INPUTS and OUTPUTS declared in the SimCode file will depend on the input and output node list entries in the netlist template.

Full Support for Digital SimCode Models

When using a Vault-based component that references a Simulation Model Item featuring a SimCode definition (in a *.scb file), that scb file (released with the SimModel file to the Vault) is used for subsequently run simulations. In the generated simulation netlist (*.nsx file), the model reference will contain the full path to the scb file, cached locally from the Vault. For example:

.MODEL 74LS90 xsimcode(file="C:\ProgramData\Altium\AD {A586F887-1E00-4F36-9EC8-61C78B91FA73}\VaultsFileCache\0072B38F-E431-40BB-B462-FD262DB9CDAB\9A7AB3DA-D4A5-43B3-9C88-33A56E86A0BF\Released\LS.SCB" func=ls90)

An .scb file typically contains multiple scb models. When the simulation model definition is released, the .scb file - released and stored with the SimModel file in the Vault - is stripped back to include only the single scb model referenced by the simulation model definition, and not the full listing of models.

Referencing a Component Template

Helping to streamline the creation of your Vault Components, Altium Designer, in conjunction with the Altium Vault, supports the use of 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.

Using a revision of a Component Template Item - or rather referencing one from the component library used to edit a specific Component Item Revision - can be performed in the following ways.

A component library can only reference one Component Template Item at a time.

Manually from within the CmpLib

There are two ways of 'hooking up' a Component Template to the component library used for the Component Item Revision currently being edited:

  • From the Template tab of the Document Options dialog (Edit » Document Options). Simply click the Choose button to the right of the Item Revision field. This gives access to the Choose Item dialog - essentially a trimmed incarnation of the Vaults panel. Use this dialog to browse to, and select the revision of the required Component Template Item. After clicking OK, a link will be created between the component library and the target revision of the Component Template Item. Evidence of this link can be seen back on the Template tab of the Document Options dialog.

Manually linking the component library to a revision of a Component Template Item, in the target vault.Manually linking the component library to a revision of a Component Template Item, in the target vault.

The Component Template Item being used can be changed at any time - simply click Choose and select a revision of a different Component Template Item.
The status of the linked Component Template Item is reflected on the Template tab of the Document Options dialog. If a newer revision of the linked Item is available, simply click the Update To Latest button, to use that latest revision.
  • From the Add menu associated with the Required Models/Parameters region of the CmpLib Editor. The Templates sub-menu lists all Component Template Items currently available in the same Altium Vault in which the Component Item itself resides. Simply click on an entry to create a link to the latest revision of that Component Template Item. Once again, verification of the link can be seen on the Templates tab of the Document Options dialog.

Quickly linking a Component Template Item from a menu of all available templates.Quickly linking a Component Template Item from a menu of all available templates.

Inherited from the Component Library Vault Folder

You can specify a Component Template Item to be automatically used for all Component Items (and revisions thereof) stored within a Components folder within the Vault.

A default Component Template Item can only be defined for a folder of type Components.

Specify the required template using the Component Template field, when defining the folder's properties, in the Edit Folder dialog. The field's associated drop-down lists all Component Template Items currently available in the same Altium Vault in which the Components folder itself resides. Simply choose an entry to create a link to the latest revision of that Component Template Item, for each Component Item created within that folder.

Specify a default Component Template Item, to be applied to all Component Items created within the Components folder.Specify a default Component Template Item, to be applied to all Component Items created within the Components folder.

To not use this feature, simply leave/set the Component Template field to None.

If a Component Template is chosen at the folder level, that same template will be used, by default, when Component Items are created in child sub-folders below. This facilitates quick template inheritance to all Items in child folders.

When a CmpLib is released, it will essentially lock-in the specific revision of the Component Template used - creating a strong link to that revision, unless changed manually.

Impact on CmpLib Options, Models and Parameters when using a Component Template

When editing a revision of a Component Item, and a revision of a Component Template Item is linked to/referenced, the following happens within the Component Library Editor, with respect to options, models and parameters:

  • The entries specified in the template for Lifecycle Definition, Revision Naming, Component Naming and Default Folder are used to pre-fill the corresponding fields on the Document Options tab of the Document Options dialog. These options (on the CmpLib side) will only be editable provided the corresponding Allow override option is enabled in the template. In addition, the target Vault will be hard-coded to use the same Vault as that in which the revision of the Component Template Item resides.

When the template is referenced, the entries are used to pre-fill the document options of the referencing CmpLib file.When the template is referenced, the entries are used to pre-fill the document options of the referencing CmpLib file.

  • The models defined within the referenced template are added to the Model Links region.
  • An existing referenced model will be kept, and the component definition will remain using that model, unless purposefully changed manually.
  • The parameters defined within the referenced template are added to the Required Models/Parameters region.

Example of parameters after linking to a revision of a Component Template Item.Example of parameters after linking to a revision of a Component Template Item.

All parameters originating from the referenced Component Template Item are distinguished by use of the  icon. The Show option for each template-based parameter follows the state of the corresponding Visible option in the template.
Template-based parameters cannot be removed.
You are free to add additional user-parameters as required.
  • An existing user-defined parameter that has the same name as a parameter in the linked Component Template Item, will essentially be replaced with the template version. Any existing value for that parameter will be kept (and not overwritten with the value in the template).
  • Template-based parameters that are set to be shown, are grouped together in the component definitions area of the editor, with Template Parameters used as the header text.

Appearance of example template-based parameters in the area where the component definitions themselves are defined.Appearance of example template-based parameters in the area where the component definitions themselves are defined.

The fields for template-based parameters that have been marked as read-only, will display grayed values, and are non-editable. For all other template-based parameters, that have not been marked as read-only, you are free to change the values as required.
If a template-based parameter has been marked as required, but has not been given a value in the template, its field will appear with a red boundary, alerting you to the fact that a value is required for this parameter. You will not be able to release a component definition until values are defined for all required parameters.

Parameter List Templates

If you are not using Component Template Items, you can still create predefined listings of parameters through the CmpLib editor's support for customizable Parameter List Templates. These simple, humanly-readable files can be built with a list of required parameters, that can then be loaded into the editor with a single click.

Component Templates offer a far more powerful approach to organizing not only a set of parameters, but also required models and the ability to define component types. In addition, it is only through Component Templates that you can define unit-aware parameters for your components, which are needed for the advanced component searching functionality. To this end, if you have at least one Component Template Item present in your Altium Vault, the parameter list templates functionality will essentially be disabled, and you will not be able to see and load these templates into the CmpLib editor.

Parameter list templates can be found in the Templates sub-menu - accessed by clicking the Add control at the bottom of the Required Models/Parameters region. A number of predefined templates are available, covering parameter sets associated with capacitors (Capacitor), resistors (Resistor), diodes (Diode) and transistors (Transistor).

Access parameter templates from the menu associated to the
region's Add control.

Simply click on the template you wish to use - the parameters defined within that template will be added to the region.

Adding a set of parameters for use by your component definitions is expedited through the use of parameter templates.Adding a set of parameters for use by your component definitions is expedited through the use of parameter templates.

Template Definition

A parameter template is defined in a Component Library Template file (*.cmplib_template). To be recognized by the system, and therefore appear in the Templates sub-menu within the CmpLib Editor, these files must reside in the Templates folder of your Altium Designer installation (\Users\Public\Documents\Altium\AD<VersionNumber>\Templates for a default installation).

The template definition is simplicity itself, and consists of the name for the template (as it is to appear in the sub-menu) enclosed in square brackets, followed by a listing of the required parameters, in the format <ParameterName>=. By way of example, the predefined template for resistors - resistor.cmplib_template - has the following definition:

[Resistor]
Category=
Manufacturer=
Manufacturer Part Number=
Mounting Type=
Temperature=
Package Type=
Package Reference=
RoHS=
Temperature Coefficient=
Tolerance=
Weight=
Height=
Value=
Power=
Resistance=
Composition=

The '=' sign is required in order to have the parameter added to the list of Required Models/Parameters when the template is used. If it is removed in the template file, leaving just the parameter name, it will be excluded when the parameters are added.
Any number of parameter templates may be defined within a single template file. This can be seen in the file group.cmplib_template, which contains the templates for capacitors and diodes.
If the same template ([<TemplateName>]) is defined more than once in the same .cmplib_template file, only the first instance will be used. The software also ensures that there is no duplication of parameters, where parameters from more than one templates are added. If a parameter to be added is already existing with exact matching name, it is simply ignored when that template is loaded.

Re-releasing a Component Item

At any stage, you can come back to any revision of a Component Item in the Vault, and edit it directly. Simply right-click on the revision and choose the Edit command from the context menu. Once again, the temporary editor will open, with the component library (CmpLib) contained in the revision opened for editing. Make changes as required, then commit the release of the document into the next revision of the item.

Right-clicking on the top-level entry for an Item itself, will edit the latest revision of that Item.

Accessing the command to launch direct editing of an existing revision of a Component Item.Accessing the command to launch direct editing of an existing revision of a Component Item.

Downloading Released Data

Download the data stored in a revision of a Component Item by right-clicking on that revision and choosing the Operations » Download command from the context menu. Use the Choose destination file dialog to specify where, and under what name, the component library file (*.CmpLib) is to be downloaded. The file will initially be named using the Item Revision name, but this can be changed to suit your requirements.

Access the Download command from the top-level entry for a Component Item itself, to download the component library file stored in the latest revision of that Item.
Click the Explore button in the Download dialog, to quickly explore to the download folder. Click the Open button to open the file within Altium Designer.

Migrating Existing (non-Vault) Component Libraries

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.

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. In addition, Altium Designer's Schematic Library and Database Library Editors provide the ability to generate one or more Component Libraries from the active Schematic Library or active Database Library document, respectively.

 

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

The features available depend on your Altium product access level. Compare features included in the various levels of Altium Designer Software Subscription and functionality delivered through applications provided by the Altium 365 platform.

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Content