Creating Pad & Via Templates and Libraries in Altium Designer
Along with Track objects, Pads and Vias are fundamental elements of all circuit board designs. Each Pad and Via can be configured as a custom object during or after placement.
To raise the design reuse and management capabilities for Pads and Vias in PCB designs, Altium Designer also supports: automated Pad and Via template creation; Pad and Via template Libraries; and a number of associated Pad and Via management Panels.
The concept of Pad and Via templates that can be collected in a Library is not unlike that of PCB footprint Libraries, although somewhat more basic. The Pad Via Template library does not store actual Pads and Vias, rather it stores pre-configured definitions that are applied to an instance of a Pad or Via as it is placed. Saved Pad Via Template libraries can be loaded and used to place instances of predefined Pads and Vias in any PCB design or PCB footprint library.
Creating and Editing a Pad Via Template Library
Pad Via Template libraries are another design document that can be created in Altium Designer and have the file extension *.PvLib
. Pad Via Template libraries can be included as a project document, and if so, those templates are always available to that project through the PCB Pad Via Templates panel. Template libraries can also be installed in the panel, making them available to all open projects. Learn more about making templates available in the Working with Pad Via Templates section.
Pad and Via Templates are created and edited by opening a PvLib file. The Pad and Via Templates in the PvLib are listed in the Pad Via Library panel, with the selected Pad or Via Template displayed in the Pad/Via Template Editor, as shown below.
Creating a Pad Via Template Library
To create a new Template library:
- Select File » New » Library » Pad Via Library from the main menu. The new Pad Via Template library is given a default name of
PvLib1.PvLib
. At this stage, the file has not been saved to the hard drive; it only exists in the computer memory. Because it is unsaved, the first time you save it, the Save As dialog will open offering to save it to the Default Location defined on the System – Default Locations page of the Preferences dialog. - A new Pad Via Template library can also be added to the current project by right-clicking on the project in the Projects panel and selecting Add New to Project » Pad Via Library from the context menu. The file will appear in the
Libraries/Pad Via Library Documents
folder of the project structure. When the file is saved, the location will default to the project folder. -
A Pad Via Template library can be created from the Pads and Vias in an open PCB in the Pad & Via Templates mode of the PCB panel. Using the standard Windows selection techniques, select the Pad/Via templates to be saved into the library then click the Save as Library button. The new PvLib will open ready for editing, but will not have been saved to the hard drive. Save the file to a suitable location, naming it as required. When the Pad Via Template library first opens in the Template editor it may show only one pad template in the Pad Via Library panel (the default template). If this occurs, save, close, and reopen the file to refresh the list of templates in the Pad Via Library panel.
Pad Via Library Panel
The Pad Via Library panel lists the Pad and Via templates contained in the current Pad Via Template library. The preferred units for this editing session are selected from the Display Units drop-down menu at the top of the panel.
To create a new Pad or Via template, right-click within the panel and select Add Pad Template or Add Via Template (respectively) from the associated context menu. Use Delete to remove a template from the Library.
Pad/Via Template Editor
The Pad Template Editor is used to configure the base configuration options for a Pad or Via template that can then be applied to a Pad or Via in a PCB or PCB Library document. These include the main properties of a Pad/Via configuration, while document-specific properties are (such its position, orientation, layer, etc.,) are defined when the Pad or Via is placed in a design document.
The majority of Pad/Via configuration options are standard and familiar Altium Designer Pad and Via settings (Size, Hole and Mask, etc.). The Pad Template editor shares a common interface design and many of the options with the Via Template editor. Each region of the template editor is described below, with the options that are specific to Pads or Vias marked as such.
General
- Name – defaults to an automatic name based on the pad/via attributes, in accordance with the IPC-7251/7351 Padstack naming conventions (covered below in this section). A manual name can be defined if required, and removed again by clicking the button. If a manually named template has been used in a board design and that template is then unlinked from the Template library (so its properties become editable), the manual name is replaced by the automatic name.
- Description – optional description.
- Pad Type (pad only) – Surface mount or Through hole.
Hole Information
- Hole Size – denoted by h<Value> in the name, diameter of the hole.
- Tolerance – denoted by Tol in the name, enter the + and - hole tolerances, if required. Enter N/A if not applicable.
- Hole Type (pad only) – Round, Square or Slot.
- Length (pad only) – denoted by _<Value> being appended to the Hole Size in the name, length of the Square hole or Slot.
- Rotation (pad only) – angle of rotation of the Square hole or Slot.
- Plated (pad only) – plated, or not plated (not plated denoted by n in the name).
Paste Mask (pad only)
- Manual Expansion – check the box to define a manual expansion value that will override a design rule value when the pad is placed in a PCB design. This value is denoted by p<Value> in the pad template name.
-
Expansion – amount to expand (a positive value) or contract (a negative value) the opening in the Paste Mask. Could be defined as either an absolute value (mil/mm) or percentage of the pad area. When an absolute value is defined, percentage will be shown at the right of the field, and vice-versa. Uncheck the Use Paste box at the left of the field to disable use of the paste mask for the pad template.
Solder Mask
- Manual Expansion – denoted by m<Value> in the name, where m<Value> is the overall size of opening in the Solder Mask. The naming element becomes m<Value>mx<Value> if Top and Bottom expansion values are not linked.
- Top/Bottom – amount of expansion, measured from the edge of the pad unless the Solder mask from the hole edge option is enabled.
- – Top and Bottom values are linked (same), click to define different Top and Bottom values.
- Tented – enable to close the opening in the Solder Mask (size of opening is set to zero).
- Solder mask from the hole edge – enable to reference the expansion value from the edge of the hole, instead of the edge of the pad.
Size and Shape
- Offset From Hole Center (X/Y) (pad only) – denoted by o<Xvalue>_<Yvalue> in the name, amount that the pad hole is offset from the pad center.
- Mode – type of pad/via-stack, options include
Simple
,Top-Middle-Bottom
, orFull Stack
(for pads this option is available only when the Pad Type is Through hole). Allows pads/vias to have different Size and Shape properties on the layers made available for that mode. Naming element x<Xvalue_Yvalue> added when a different size/shape is defined for the Bottom layer. Naming element z<Xvalue_Yvalue> added when a different size/shape is defined for mid layers. - Attributes on Layer – standard pad/via attributes.
- Shape (pad only) – denoted by c<SizeValue> (circular); s<SizeValue> (square) or r<xSizeValue_ySizeValue> (rectangular) depending on if X/Y dimensions are the same or different; s<SizeValue>c<Value> (octagonal); s<Sizevalue>r<Radius%Value> or r<xSizeValue_ySizeValue>r<Radius%Value> (rounded rectangle).
- X & Y Size (pad only) – dimension of pad in the X & Y plane.
- Corner Radius (pad only) – percentage of pad corner that is rounded, where 100% completely rounds the shortest pad edge; only applies when Shape is Rounded Rectangle.
- Diameter (via only) – diameter of the via (vias can only be circular)
- Thermal Relief – thermal relief settings from this pad to a surrounding polygon of the same net, clear the From Rule checkbox to edit and use these local settings.
- From Rule – local settings are not applied when this option is enabled, clear to set and use local settings.
- Connect Style – style of thermal relief.
- Air Gap – distance from the pad edge to the surrounding polygon.
- Conductors – number of conductors from the pad to the surrounding polygon.
- Width – width of the conductors from the pad to the surrounding polygon.
- Angle – angular pattern of the relief conductors.
- Layer – layers in this padstack/viastack, available layers depends on the current Mode setting; right-click to Add, Remove or Reset the layers when Mode is Full Stack.
Working with Pad Via Templates
As mentioned, existing templates can be saved into Pad and Via Template libraries, and new templates created. The templates in these libraries are made available for use through the PCB Pad Via Templates panel. Local templates are also listed in the panel, making the panel the central resource for working with Pad and Via template libraries.
The PCB Pad Via Templates Panel
Panel page: PCB Pad Via Templates
The PCB Pad Via Templates panel is a specialized panel that lists both the Pad/Via templates stored in the current PCB document (Local), or those available from Pad Via Libraries that have been installed or included within the current design project (Available libraries).
Click the button at the bottom right of the design space then choose PCB Pad Via Templates to open the panel.
The two library concepts presented in the panel can be summarized as:
- Available Pad/Via Template Libraries – Loaded or installed Pad Via Libraries (file-based collections of Pad/Via Templates). This region of the panel lists templates contained in the currently selected Pad Via Library.
- Local Pad & Via Library – The collective term for Pad/Via Templates that are used in the current board design, including any that have been sourced or added from a Pad Via Library. This region of the panel lists templates that apply to Pads/Vias in the current board design.
The Local Pad & Via Library
The entries listed in the lower Local Pad & Via Library region of the panel represent the pad/via configurations (templates) used and saved in the current board design. A preview of the selected template is shown at the bottom of the region.
The templates listed here are Pad Via templates saved within the PCB file, and are not contained in a separately defined 'library' as such. A selected template can be reused in the current board as a new Pad or Via instance by dragging it onto the layout, or by selecting Place from the panel's right-click context menu.
Since template names listed in the Local Library are derived from Pads and Vias in the current PCB layout, if all instances of a particular Local pad/via configuration have been deleted from the board, its corresponding template will be removed from the Local List.
However, if a placed Pad or Via has been sourced from a Pad Via Library, its template will be retained in the Local list when all instances of that pad/via have been removed from the board. Instances of Pad Via Library templates that are no longer required can be removed from the local ‘database’ record with the Remove Unused Pad/Via button.
Available Pad & Via Template File Libraries
The upper region of the panel, Available Pad/Via template Libraries, is used to work with Pad Via Template file libraries.
A Template can be placed from the selected library into the PCB by dragging from the panel or the right-click context menu. Because the Pad/Via is being placed from an external Template file library, its properties are not available for editing in the PCB, as can be seen in the image of the Properties panel shown below, on the right. To edit the properties of a library-based pad/via its template must be unlinked, more on this in the Unlinking a Template from a Library section.
The drop-down at the top of the panel is used to select which available library is active, in the image below it's the ExampleViaLib.PvLib
. The button is used to open the Available Libraries dialog where Template library files can be added and removed. Available Libraries are discussed below. Use the Filter field to display only templates whose Name starts with that string.
Making Pad Via Template Libraries Available
The term Available Libraries means Pad Via Template libraries whose templates are available for use in the current board design. This includes Template libraries that have been added to the current project, and also Template libraries that have been installed in Altium Designer. Both types can be reviewed and managed in the Available Libraries dialog; click the button at the top of the PCB Pad Via Templates panel to open the dialog.
- The Project tab of the dialog lists all PvLib files included in the project, and also has buttons to add or remove libraries from the project.
- The Installed tab lists all Pad Via Template libraries that are currently available in this installation of Altium Designer.
Using a Template in the Design
Templates listed in the PCB Pad Via Templates panel can be used in the current board design in the following ways:
- Placed – place a Local or template library Pad Via directly from the panel.
- Selected in the Template dropdown – in the Properties panel when Pads or Vias are selected. Use this approach to change selected Pads or Vias to use a different template.
- As a Rule Constraint – a Pad Via Template can be selected as a Constraint in the Routing Via Style design rule (shown below).
- As a Rule Scope – the following query keywords can be used when scoping a design rule (for example the Testpoint Style design rule):
- IsLinkedToPadViaTemplate(TemplateName : String) : Boolean/Boolean_String (e.g.
IsLinkedToPadViaTemplate('r75_140')
) - PadViaLibraryTemplate : string (e.g.
PadViaLibraryTemplate = 'r75_140'
) - PadViaLinkedToTemplate : Boolean_String (e.g.
PadViaLinkedToTemplate = 'True'
)
- IsLinkedToPadViaTemplate(TemplateName : String) : Boolean/Boolean_String (e.g.
- For Via Stitching/Shielding – select the required Via Template in the Add Stitching to Net dialog or the Add Shielding to Net dialog.
The Pad Via Template and How it is Named
For each unique Pad or Via placed into a board design, a Pad/Via Template is automatically created, named and stored in the board file. The Template stores the base configuration of the Pad/Via, including its size, shape, padstack type, Paste/Solder Mask and Hole information, and so on. The configuration is automatically named in compliance with IPC standards (specifically, the IPC-7251/7351 Padstack naming conventions). Every Pad and Via used in the design references its Template, this can be seen in the Properties panel, as shown below.
The IPC naming system is metric-based, where one unit is equivalent to one hundredth of a millimeter (10-5 meters, 10µm). So for example, the template for a 1.5mm circular pad with a 0.8mm hole is named c150h80
– where c
indicates circular (round) and h
prefixes the hole size. A pad named r155_125
is a rectangular surface mount pad, of size 1.55mm x 1.25mm; and a pad named s160h100
is a square, thru-hole pad, of size 1.6mm, with a 1.0mm hole. Further letter/integer combinations are added for specified Paste/Solder Mask properties.
To observe this behavior, inspect the properties of an existing Pad or Via from its associated Properties panel by double-clicking on the object or selecting the object then choosing Properties from the right-click context menu.
Locating a Pad or Via in the Design Space
Panel page: PCB - Pad & Via Templates
Each time a uniquely sized Pad or Via is placed into a PCB design using the Place menu or the Active Bar, a new Pad/Via Template is automatically created in the board file. These templates are referred to as <Local>
Templates. For the current PCB, the list of all used Pad and Via Templates can be examined in the PCB panel when it is set to the Pad & Via Templates mode.
Use the Pad & Via Templates mode of the PCB panel to locate and select a Pad or Via of interest. Selected Pad(s) or Via(s) can then be edited to use a different template in the Properties panel, choose the required template in the Template dropdown. The PCB panel is also used to save selected Pads and Vias to a Pad Via Template library, more on this in the Creating and Editing a Pad Via Template Library section.
Pad Via Template Editing and Management Tasks
This section discusses the various scenarios where you need to edit Pad or Via templates.
Apply a Different Template to Existing Pads/Vias
There will be times when you want to apply a different template to existing Pads or Vias (perhaps you're reducing the number of different Vias used in a design). In this situation, use the Pad & Via Templates mode of the PCB panel to locate and select the Pads/Via you want to change. Selected Pad(s) or Via(s) can then be edited to use a different template in the Properties panel by choosing the required template in the Template dropdown.
Unlinking a Template from a Library
It is not possible to edit the properties of Pads/Vias using a template from a file-based template library, if it was it would mean that the local instance would no longer match the referenced library template. To edit a Pad or Via that references a library template, the template must be unlinked.
Click the button to unlink a template. When you click this button, a copy of that template is made in the local library, and the selected instance(s) of the Pad/Via are referenced to the local template.
Adding a Library Template to the Local Library
If required, a library template can be added to the local library. This can be done by right-clicking on the template name and selecting Add to Internal Library from the context menu, or by dragging the template from the panel’s Pad/Via Library region and dropping it in a blank area in the Local Pad & Via Library region. Unused Pad/Via library templates can be removed from the local library by clicking the Removed Unused Pad/Via button.
To replace a local template, rather than add one to the local list, see Replace a Local Template below.
Update from Pad Via Library
If a template for a Pad/Via has been updated in the library and that template has already been used in a board design, click the Update button in the PCB Pad Via Templates panel to update the Pad/Via template in the design. The update will automatically be reflected in all instances of Pads/Vias that use that template in the board.
When an update is instigated, the Update Pads/Vias on Board dialog opens, listing the details of the detected change(s) that will be applied.
Three update options are offered by the dialog to control the update process:
- Update locked objects – this will force a Pad/Via object’s template to be updated, regardless of its Locked status.
- Update free objects – update only Pad/Via templates that apply to free Pads and Vias.
- Update component objects – update only Pad/Via templates that apply to the Pads and Vias used in components.
This synchronization behavior is established by the Library property of pads and vias, as seen in the Properties panel when viewing the properties for a selected pad or via respectively. An indication that differences exist between the local version of the template and the source template is provided in the Changed column of the Pads/Vias region in the Pad & Via Templates mode of the PCB panel.
Replace a Local Template
A library-based Pad/Via template can also replace a Local template, which will update the Pads or Vias on the board that uses that local template.
To do this, drag the desired library template from the Pad/Via Library region of the panel to the Local Pad & Via Library region of the panel, but in this case, drop the library template on top of the existing local template entry. All instances of free or component pads/vias that use the template will be updated to the new library template style.
In the animation below, note that C1
and C2
component Pads physically change to the type determined by the 'dropped' library template – from r110_100
to s120
.