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, 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, a Part Choices list is used to map the design component to one or more Manufacturer Parts, listed in the managed content server's local 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 managed content server. A managed component (as it is then referred) 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 managed components implemented through Server-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.
- Company-certified design components - components are released into a managed content server for re-instantiation into a design project. Revision-controlled and lifecycle-managed, a company can authorize the 'set' of components that can be formally used by their designers.
- Design-time choice of physical components - for any given released Component Item, you can choose which Manufacturer Parts can be used to implement that component when assembling the board. A perfect 'heads-up' to the procurement team, these 'choices' are specified as a Part Choices list, which essentially stores links between the Component Item and chosen Manufacturer Parts. The manufactured parts themselves are referenced in the managed content server's dedicated local Part Catalog, complete with links to Vendor Parts - the purchasable components themselves.
- Real-time supply-chain information - fed back from the aggregate parts database of the Altium Parts Provider (which itself interfaces to, and gathers the parts from, enabled Suppliers), to let the designer know the current costing and availability of the chosen parts, and from all vendors that sell those chosen parts (as defined in the managed content server's local Part Catalog).
Main page: Managed Domain Models
As part of the process of defining design components and releasing them to a managed content server, all the models themselves - representing those components across the various required design domains - also need to be 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 Managed Component
Main page: Managed Components
A component can be created, edited and released into the initial revision of a newly-created Component Item, courtesy of a managed content server'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 Server 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 managed content server handles it all, with the same great integrity you've come to expect, and in a manner that greatly expedites changes to your data.
Creation can be through use of the File » New » Component command, accessible from any editor, or from within the Explorer panel. Either way, the component is defined/edited using the Component Editor. This editor provides two different modes of operation:
- Single Component Editing mode - provides a streamlined interface when defining/editing a single component. This is the default mode when creating a new Component Item, or editing a single revision of an existing Component Item.
Example showing definition of a component, with the Component Editor in its Single Component Editing mode.
- Batch Component Editing mode - provides the interface for defining/editing multiple components. You can access this mode by choosing the Tools » Switch to Batch Editor command, from the Component Editor's main menus. This mode is also accessed if you have selected multiple Component Item revisions for editing, from the Explorer panel. Each component definition will have a common set of parameters and links to required domain models. Batch editing comes into its own where it makes sense to manage components as a set, such as a set of chip resistors for example.
You can use the Batch Component Editing mode to define/edit a single component, should you wish.
Example showing definition of a component, with the Component Editor in its Batch Component Editing mode. While you can use this mode to edit a single component (as shown),
its power really comes when editing multiple components that share the same parameters and models
Helping to streamline the creation of your managed components, Altium Designer, in conjunction with your managed content server, 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 managed component, and provides predefined settings for use when defining that component.
Part Choices - Accessing the Supply Chain
Main page: Adding Supply Chain Information to a Managed Component
In the Supply Chain Area, a procurement specialist often does not know what a particular component in the design represents. What is required, is an indication of what needs to be procured - which physically-manufactured components can be used to implement that design component. The best person to indicate which real-world components can be validly used to implement the design-level components would be the designer. As part of the Unified Component modeling paradigm, Altium caters for exactly that through the concept of making Part Choices.
Part Choices essentially create the mapping from a Component Item in a managed content server, to nominated Manufacturer Parts in that Server's local Part Catalog. Part Choices can be made while defining the component, prior to its release to your managed content server, and can be modified at any time thereafter when editing that component.
The designer can feel truly empowered by being able to specify Manufacturer Parts that are truly interchangeable at manufacturing time in the context of any usage of that component in their design - the very essence of true part equivalency. And it is this intelligent mapping of a component, that turns the humble managed component into a truly Unified Component. The unified nature of a managed 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.
Real-time data is made available - fed back from the relevant parts database - to let the designer know the current costing and availability of the chosen parts, and from all enabled Vendors that sell those chosen parts (as defined in the local Part Catalog). And not just the designer gets to see this information. The procurement specialist can also keep abreast of supply-chain information, as it is made available in the Server for each Component Item therein.
In the Explorer panel, access to supply chain information for a Component Item is available from the Supply chain aspect view for that Item.
Accessing the Supply chain aspect view for a Component Item.
You can create/edit the list of Part Choices for that component from here also, without having to edit the component. Interaction with the Part Choices list is performed within the Part Choices dialog. This dialog is accessed using the applicable command on the drop-down menu associated with the button, at the top-right of the Solutions region of the view. If the Component Item has never had any part choices made for it, the command to Create Part Choice List reflects this. If the Component Item already has an associated Part Choices list, then the command will be Edit Part Choice List.
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 Server, 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 Server-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 comes 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 flag any attempt to promote the lifecycle state of a component in the Server if its referenced domain models are not 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.
Placement of managed components can be performed either from the Explorer panel, or from the Libraries panel - the latter giving a sense of familiarity to those designers having used component management methodologies that do not involve a managed content server.
A managed 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 managed 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 Explorer 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 Explorer Panel
To place from the Explorer panel:
- Browse or search for the Component Item you wish to place.
- 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).
- 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 managed component from the Explorer panel, using the dedicated Place command.
Drag and Drop from the Explorer Panel
For more express placement of your components from the Explorer panel, Altium Designer provides the ability to drag & drop revisions of Component Items directly onto the active schematic document (or PCB document). Browse your managed content server 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 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.
Placement from the Libraries Panel
Altium Designer supports access to, and placement of managed 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 Server folder, you can also bundle any number of Server folders to present as a single 'library' within the Libraries panel.
Making Your Managed Components Accessible
The make folders of managed components available for use through the Libraries panel, perform the following:
- Access the Available Libraries dialog (by clicking the Libraries button at the top-left of the Libraries panel).
- Ensure the Installed tab of the dialog is the active tab.
- Click the Install button and select Install from server - the Server Library dialog will appear. This dialog is used to map nominated Server folders to the library name you want displayed in the Libraries panel.
Choose the managed content server, from where to source the managed components. Click on the current Server name at the top-left of the dialog to access a drop-down listing of all available Servers.
Define a name for the 'Server library' - this is a name that you are giving to a specific set of Server 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 Server content in any way.
Define the path to each Server folder you want included in this 'library' - click the Add button to browse the folders of the chosen managed content server, 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.
Server folders can be installed like all other Altium Designer libraries, in the Available Libraries dialog. Use the Server Library dialog to map Server folders to the
library name you want displayed in the Libraries panel.
- 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 'Server library'.
A Server library, listed alongside other installed libraries.
Browsing and Placing Managed Components
Once the required Server 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. 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 Server folders. Managed 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.
Managed components can be accessed and placed from the Libraries panel in the same way
as any other library component.
button at the bottom-right of the components listing to access a menu providing 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).
The highly relational structure of the data in a managed content server 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 Serv er. 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, a nd so on. Conversely, and from a parent Item's perspective, you are able to quickly browse its children.
- For a parent Item, use the Explorer panel's Children aspect view.
Example exploring the children of a revision of a Managed Schematic Sheet Item, using the Children aspect view.
- For a child Item, use the Explorer panel's Where-used aspect view.
Example exploring where a revision of a Symbol Item is used, using the Where-used aspect view.
For a Component Item, or Managed Sheet Item, children can also be viewed using the Explorer panel's Preview aspect view.
Double-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 applicable managed content server in which it resides.
The ability to traverse the content of a managed content server 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 and 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 Managed Components
Having initially placed managed 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 applicable managed content server. In other words, a means by which to keep the design synchronized with the managed 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 revision of the Component Item in the Server. This information can be found on the Properties panel, when browsing the properties for the selected component.
Each placed instance of a managed component has a link back to the specific revision of that Component Item in the Server.
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) by clicking the button, at the far right of the Design Item ID field. The Choose Item dialog will appear (an incarnation of the Explorer panel), with the currently linked Item (and revision thereof) focused in the source Server. 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 (on the Properties panel) 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.
Effecting Batch Component Changes - the Item manager
Related page: Managing 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 Server-based (or 'managed') design entities - placed on schematic sheets - with the source Items they are linked to in a Server. 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 Server. For each entity, information about the current linked Item is given, in terms of revision, lifecycle state, and the source Server 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, 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 Server 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 managed items placed on your schematics with their linked source Server 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 Server(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, Server-based design Items. Once you have migrated your design components to a managed content server, and any schematic sheets (device sheets), you use the Item Manager to 'replace' the existing components and sheet symbols with their newly migrated Server-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 managed content server.
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 managed content server from which it was placed. When you attempt to delete one or more Items, using the Delete Item command from the Explorer 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 Server's browser-based interface. The Permissions page of the Settings area of the interface (Admin » Settings) provides a single option that allows managed components to be deleted from the Server, even if they have been placed on a design document.
If a revision of a Component Item is placed within a design, then by default that Item cannot be deleted from the source managed content server.
Migrating Existing Unmanaged Components
Main page: Streamlined Migration of Existing Libraries to Your Managed Content Server
Altium Designer, in conjunction with your managed content server, provides a streamlined, simple process to quickly migrate your existing libraries to that Server. The GUI to this process - the Library Migrator view - presents an intuitive flow that takes initial selected libraries, and migrates them to a target managed content server. 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 Server-based managed 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 accept the default settings and set the migration in motion within a matter of clicks.
Access the Library Migrator from any editor by choosing the File » Library Migrator command from the main menus.
All information that is present in an original source library is migrated, in order to arrive at a folder of unified components (managed 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 managed 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.
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 managed 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 managed 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.