Support for Parameters in PCB Footprints

Now reading version 17.1. For the latest, read: Support for Parameters in PCB Footprints for version 17.0
Applies to Altium Designer version: 17.0

 

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.

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.

Updating the PCB via the ECO dialog detects and transfers User Defined schematic component parameters to the corresponding PCB footprints.
Updating the PCB via the ECO dialog detects and transfers User Defined schematic component parameters to the corresponding PCB footprints.

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.

The detection and migration of parameters to the PCB is determined by the project's option settings (Project » Project Options). In the Options dialog, use the Parameters section under the Comparator and ECO Generation tabs to set the difference detection and modification behavior.

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.

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.

Left: The component URL links in the schematic component Properties dialog. Right: The amalgamated link parameter in the corresponding PCB footprint. 
Left: The component URL links in the schematic component Properties dialog. Right: The amalgamated link parameter in the corresponding PCB footprint.

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.

A special string representing a user parameter can be added to the component footprint.
A special string representing a user parameter can be added to the component footprint.

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.

Special parameter strings converted in the board layout.
Special parameter strings converted in the board layout.

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.

To see the interpreted value of special strings on the board layout, check the Convert Special Strings option under the View Options tab in the View Configurations dialog (select Design » Board Layers & Colors, or use the ‘L’ shortcut key). Special strings are always converted in generated output files.

In the schematic editor, check the Convert Special Strings option in the Schematic – Graphical Editing page of the Preferences dialog (DXP » Preferences) to see the value of any displayed special strings.

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.

Filter queries can use PCB parameters to highlight and select specific user-defined attributes.
Filter queries can use PCB parameters to highlight and select specific user-defined attributes.

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

Several new Parameter query words are available for working with PCB component footprint parameters.
Several new Parameter query words are available for working with PCB component footprint parameters.

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).

Scientific E notation is also supported, so for example, a query to filter capacitor values over 1nF would be similar to:
StrToNumber(ParameterValue('CapacitanceValue'), F) > 1e-9

Alternatively, the number conversion function could be used for both the returned ParameterValue and the comparison value:
StrToNumber(ParameterValue('CapacitanceValue'), F) > StrToNumber('1nF', F)

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.

Design rules defined by specific footprint parameters, as transferred from the schematic space, can be used for detecting custom layout conditions.
Design rules defined by specific footprint parameters, as transferred from the schematic space, can be used for detecting custom layout conditions.

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.

In this example, a custom parameter that indicates a component's compatibility with wave soldering is be applied to the Permitted Layers Rule.
In this example, a custom parameter that indicates a component's compatibility with wave soldering is 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.

For the above rule, a violation occurs when a component that is not compatible with wave soldering is placed on the Bottom Layer.
For the above rule, a violation occurs when a component that is not compatible with wave soldering is placed 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.

Design Variants, such as varied component parameters, will transfer to the PCB and be controlled by the Variant selector. 
Design Variants, such as varied component parameters, will transfer to the PCB and be controlled by the Variant selector.

Note

The features available depend on your level of Altium Designer Software Subscription.

Content