Support for Parameters in PCB Footprints
Parameters applied to objects in Altium Designer provide a powerful and flexible means of adding additional information to a PCB design. Applied as properties of the parent object, Parameters can be applied at a range of levels, including to projects, documents, templates and individual objects within a design document.
See the Parameter Object reference for more information
Along with a range of standard, predefined parameters (special strings) – from the document name (DocumentName
) through a component’s footprint model (CurrentFootprint
) – Altium Designer also offers the capability of defining custom User Parameters. To date, these have been available at the Project, Document and Schematic sheet level, but not explicitly in the PCB footprint space. Altium Designer 17 introduces that capability, and in a way that functions in concert with parameters defined at the core schematic level – and therefore retaining a unified Schematic–PCB relationship.
Parameters that become available in the PCB space can be used for filter Queries, Design Rules, Scripts and Variants, and applied in PCB component Libraries for invoking custom strings in placed Footprints.
Parameters via an Engineering Change Order
The new PCB parameter capabilities are based on additional functionality included in the ECO mechanism and PCB document, which allow user defined component parameters to be transferred to and retained in the PCB space. This is a one-way transfer, and the passed parameters are read-only in the PCB domain.
The parameter transfer is performed by simply instigating an ECO from the Schematic to PCB with the Design » Update PCB Document menu command.
When the ECO is executed, any new user defined schematic component Parameters will be transferred to the corresponding footprint reference in the PCB design. In the above example image, the Design Item Id
parameter attached to all schematic components is detected and assigned as a sequence of ECO updates to the PCB.
To observe the transferred parameters in the PCB editor, open the properties of a component and click the button in the dialog. The following Parameters dialog will list the current user parameters that have been assigned to the selected component footprint.
As you would expect, parameters for a selected component footprint are also available in the PCB Inspector panel.
Information Reference Links
The PCB domain now automatically accepts the predefined ComponentLink...
parameters from the schematic. These are defined as parameter pairs (Description and link URL) that normally establish data reference links to specific files or internet locations – typically a manufacturer web site or datasheet URL.
See the Schematic Document Reference Link command and PCB Component Link command for information on Reference Link parameters.
In both the schematic and PCB space, the links are activated from the right-click context menu when hovering over a component (under the References option). The specialized parameters are added in a schematic component's Properties dialog, and when transferred to the PCB space, appear as a component footprint parameter. Note that the Description and URL parameters are combined to a single, clickable URL link in the PCB domain.
Parameters in source Footprints
Parameters passed to the PCB can be used for providing additional board production or functional information via component footprints. By adding special parameter strings to footprints at the source library level, the custom strings will be interpreted on the target mechanical layer or overlay.
A special string representing a user-defined parameter can be added to the source component footprints, such as the example Design Item Id
parameter used above. In the below library footprint, the special string .Design Item Id
has been placed on the Mechanical 15 Layer.
When that custom parameter has also been applied to schematic components and the parameter data transferred to the PCB, the interpreted footprint strings will appear on both the board view and generated output files. In this case the special parameter string contains a custom component part identifier to aid assembly.
The application of the user parameters to component footprints as special strings can serve a range of other custom PCB requirements, including function labels for switches and connectors, where a 'function' parameter string might be placed on the Top Overlay in footprints for those component types.
Parameter Queries
Parameter strings in the PCB domain are also accessible through the Altium Designer query language, and therefore available for object filtering functions, including the Find Similar Objects feature.
To perform a similar objects selection, right-click on a component and select Find Similar Objects from the context menu. The Find Similar Objects dialog includes a Parameters section where the filtering options can be selected as required.
The PCB Filter panel can apply parameter-specific query words as filter criteria, and for creating Design Rules based on PCB parameters.
Several query words are available for working with PCB footprint parameters, including specific function words for converting string values to numbers (such as StrToNumber). The string Value conversions are unit-aware (V, mA, mV, kOhm etc) and allow the query result to be determined by the numerical processing of a parameter value string.
The supported Unit Types that can be nominated in the queries are:
- % – Percent
- A – Current
- C – Temperature
- dB – Decibels
- F – Capacitance
- G – Conductance
- H – Inductance
- Hz – Frequency
- Kg – Mass
- m – Length
- Ohm – Resistance
- Q – Charge
- s – Time
- V – Voltage
- W – Power
- Z – Impedance
The example shown in the Query Helper dialog above processes the Voltage Rating parameter for each component (using the string-to-number conversion – StrToNumber(Unit Value, Unit Type)
) to determine if its value is greater than 50V. When applied in the PCB Filter panel, the example board layout exposes a single high-voltage component, C1 (
which has a Voltage Rating value of 3kV).
Rules and Scripts
PCB parameter queries can also be applied to Altium Designer Scripts and design Rules. The latter might perform layout validation checks, such as detecting footprint parameters in order to asses component placement or layer assignment. Note that the functions listed in the Query Helper dialog above are available to the Scripting language.
The below example shows the capacitor voltage rating query (see the filter query above) applied to a component placement rule, which when run, checks for specific clearance values for components detected as high voltage (>50V
) devices.
Similarly, custom PCB parameters can be used to check component layer compatibility, for example where a component does not support wave soldering and therefore placement of the Bottom Layer. Here, an object matching query that processes a custom ‘WaveSoldering’ parameter (Yes/No
) might be applied to the Permitted Layers Rule.
The (batch) Rule will subsequently check the value of that component parameter and throw a violation if a component is not compatible with placement on the Bottom Layer.
Variants
Parameters transferred to the PCB that are included in variations of the design (Design Variants) are processed with Variant selection.
In practice, a varied component parameter in the PCB space will be dynamically detected by a query string, or for example, displayed on a board layer through a special string. In the example shown below, the Voltage Rating
parameter for component C1
is changed by two Variants (Uprated/Downrated), which when displayed (as a special string) on the board's Top overlay will change as each Variant is selected.