Contact Us
Contact our corporate or local offices directly.
The PCBLIB Filter panel allows you to construct filters through the creation of logical queries. A defined filter can then be applied to the active PCB component footprint, or all component footprints in the active PCB library, allowing you to select and edit multiple objects with great accuracy and efficiency. This panel works is a natural partner with the PCBLIB Inspector panel.
The PCBLIB Filter panel is composed of three regions. The first two, from the top, are selectable list areas which collectively define the scope of the filtering: Object and Layer.
If these are set to 'Components' and 'Top Layer' respectively, for example, the board view will highlight Top layer components. The selections in both panel sections represent the cumulative effect of multiple stages of filtering action, which can be used to quickly highlight any type of design object.
The Third region - Filter, at the bottom of the panel - displays the query created based on which objects and layers are currently selected.
The PCB Filter panel is composed of three regions. The main region of the panel provides controls for quickly building simple filter expressions targeting any combination of objects. Object types are arranged in an 'object matrix', categorized in accordance with being net objects (Net), component objects (Comp), or free objects (Free). The following core object list is replicated across these three groups:
The Text object is available as part of the Comp and Free groupings, but, as this object type is not net-aware, it is not part of the Net grouping. In addition, the Free grouping also includes: Component, ComponentBody, Room, and Polygon.
If these are set to 'Components' and 'Top Layer' respectively, for example, the board view will highlight Top layer components. The selections in both panel sections represent the cumulative effect of multiple stages of filtering action, which can be used to quickly highlight any type of design object.
The Third region - Filter, at the bottom of the panel - displays the query created based on which objects and layers are currently selected.
The Text object is available as part of the Comp and Free groupings, but, as this object type is not net-aware, it is not part of the Net grouping. In addition, the Free grouping also includes: Component, ComponentBody, Room, and Polygon.
To use an object in the construction of a filter expression - thereby filtering by that object - simply enable the relevant check box associated with that object, within the object matrix. Commands available on the right-click context menu for the region enable you to quickly check or uncheck all entries in the matrix, or toggle the state of all checkboxes in the matrix, respectively.
Use the Layer region of the panel to restrict the filter to a particular layer, or layers, or a specific class of layers. The entries listed reflect:
As you make your filtering selections, the resulting query expression is built dynamically, and presented in the Filter region of the panel. Once the filter query expression has been defined as required, you then need to apply it as a separate action. Do this using the Apply button at the bottom of the panel. Alternatively, if you require application to only those objects that are currently selected in the workspace, use the Apply to Selected button instead.
PCB Library components are composed of primitive Object types (Arcs, Pads, Tracks etc), arranged on different board Layers. The Objects are either 'free' in nature, or 'owned' by a Group object. Note that selecting Free in the Groups list section will highlight only those objects that are not part of a group object.
The selection in the panel's Objects list will filter the board view to show primitive design objects. All objects will be highlighted, unless modified by the settings in the Layer filter list.
The example board shown with Track
and Arc
selected under Object.
Layer is set to Top Overlay.
The selection in the panel's Layers list will filter the board view to show objects on the nominated physical design layer (Signal, Mask and Silkscreen layers). All valid Layer objects will be highlighted, unless modified by the settings in the Object filter list.
The example board shown with Object set to Pad. Layer is set to Top Layer.
The collective filter action provided by the PCBLIB Filter panel assists both viewing and selecting board design objects of interest.
Only highlighted (filtered) objects are selectable, making it easy to locate, edit and find information about the object. The PCB Inspector panel provides a simple way to dynamically see the details of filtered objects as they are selected.
Only highlighted objects are selectable, and information is instantly available via the PCB Inspector panel.
Clear the currently applied filter with the panel's button.
The visual result of the applied filtering on the document in the design editor window is determined by a series of highlighting controls toward the top of the panel. The effect that is imposed in the editor view can be set to Normal, Mask or Dim, where in practice, Mask has the most obvious highlighting effect.
The Normal / Mask / Dim dropdown list provides options for visibly contrasting filtered and unfiltered objects within the design editor window.
Select the type of visual filtering applied using the masking mode drop-down list.
The visual highlighting effect for each masking mode:
The central region of the PCBLIB Filter panel allows you to construct filters through the entry of logical queries.
You can type a query directly into the field, and as you type, a prompt list of possible keywords will appear as an aid.
Two facilities are available to provide aid in the creation of queries - the Query Helper and the Query Builder. These facilities can be very useful if you are unsure of the syntax of a query or the possible keywords that you may want to use.
To use the Query Helper, click the Helper button to open the Query Helper dialog. The underlying Query Engine analyzes the document and lists all available objects, along with generic keywords for use in queries.
Use the top section of the dialog to compose a query expression, using the available PCB Functions, PCB Object Lists, and System Functions. The mid-section of the dialog provides a range of operators for use when constructing an expression. Use the Check Syntax button to verify that an expression is syntactically correct.
When the expression for the query has been defined as required, clicking OK will load the central region of the PCBLIB Filter panel with the query, ready to apply the filter.
To use the Query Builder, click the PCBLIB Filter panel's Builder button to open the Building Query from Board dialog.
This dialog enables you to create a query for targeting specific objects in the design document, by simple construction of a string of ANDed and/or ORed conditions.
The left-hand section of the dialog is where you specify the condition(s) that you require to target the set of objects needed. Initially the entry in the Condition Type/Operator column will be Add first condition. Clicking once on this entry will reveal a drop-down list of condition types.
The condition types listed will only reflect those relevant to a board design.
Select the condition and click in the Condition Value column to access a drop-down list of possible values for that condition type. As you define a condition in the left-hand section of the dialog, a preview of the currently built query is shown in the right-hand section.
Continue to add further conditions to narrow down your target set of design objects as required. Conditions can be ANDed or ORed together. The default logical operator is AND, which is automatically inserted when you add another condition.
To change the logical operator between conditions, click on the AND or OR entry in the Condition Type/Operator column and select the required operator. The preview of the query will update accordingly.
The and
buttons at the top of the Building Query from Board dialog allow you to essentially add and remove brackets around the presently selected condition (increasing and decreasing indent). This allows you to create precedence for certain logically ANDed or logically ORed conditions.
For example, consider the following built query:
InNet('5V') AND (OnLayer('TopLayer')
The first condition has been set to the condition type Belongs to Net
, with value 5V
. Another condition has then been added, using the condition type Exists on Layer
, with the value TopLayer
.
At this stage, with the second condition selected in the dialog, the right arrow button has been clicked. Brackets have been automatically added around the second condition, and now the possibility to add a condition within that pair of brackets is available.
The third condition with condition type Object Kind is and value Track is then added within the brackets.
Use the Show Level drop-down at the top-left of the dialog to control the visual display of levels in your structured string of conditions. This essentially expands/collapses the display of brackets. Adding brackets effectively creates a new level. You can display levels 1-5, but for any further levels added use the Show All Levels option.
Alternatively, click on the expand or contract
symbols (associated with a bracketed condition) to show the next level(s) or hide the current level (and all levels below) respectively. The
and
buttons at the top of the dialog can also be used to expand or collapse the currently selected condition.
Use the and
buttons at the top of the dialog to move a selected condition in the query string being built. For a condition that has sub-levels (i.e. a bracketed condition), any condition in the level structure can be moved. When levels are expanded, a condition can be moved down or up through the levels. When levels are collapsed, a condition will be moved over the level structure.
To delete a condition, select it and either click the button at the top of the dialog, or use the Delete key.
When the expression for the query has been defined as required, clicking OK will load the central region of the PCBLIB Filter panel with the query, ready to apply the filter.
Additional buttons in this region of the panel provide access to previously used and favorite (stored) queries, as well as the ability to create design rules. The following drop-down sections look at these features in more detail.
As you enter and apply a new query, it will be added to a query history list. Click the History button in order to access this list - the Expression Manager dialog will open, with the History tab active.
To use an historical query from the list, either select its entry and click on the Apply Expression button, or double-click on the entry directly. The dialog will close and the expression for the query will be loaded into the central region of the PCBLIB Filter panel.
An historical query can be added to the list of favorite queries, by selecting its entry and clicking the Add To Favorites button. Use the Clear History button if you wish to 'flush' the history list. Up to nine most recently used query expressions from the list will be available for use from the panel's right-click menu.
Any defined query may be added to a list of favorite queries in two ways:
Click the Favorites button in the PCBLIB Filter panel in order to access this list - the Expression Manager dialog will appear, with the Favorites tab active.
To use a favorite query from the list, either select its entry and click on the Apply Expression button, or double-click on the entry directly. The dialog will close and the expression for the query will be loaded into the central region of the PCBLIB Filter panel.
When a query expression is added to the favorites list, it is assigned a unique name. By default, a generic name is assigned - Favorite_n
- where n
is the next available unused number. The name for an entry can be changed at any stage by using one of the following methods:
In each case, type the new name as required and click outside the Name field to effect the change.
To remove a query from the favorites list, select its entry in the list and either click on the Remove button or choose the Remove command from the available right-click menu. A dialog will appear requesting confirmation of the removal. Up to ten most recently added query expressions to the list will be available for use from the top of the panel's right-click menu. Note that the content of the Favorites list is common to (and accessible from) both the PCB Filter and PCBLIB Filter panels.
The PCBLIB Filter panel also provides the facility for creating a design rule, where its scope will use the currently defined query expression in the central region of the panel.
To add a new design rule, click on the PCBLIB Filter panel's Create Rule button. The Choose Design Rule Type dialog will appear.
This dialog lists each of the rule categories and rule types that are available in the PCB document. Simply choose the type of rule you wish to create and click OK (or double-click directly on the entry). The PCB Rules and Constraints Editor dialog will appear.
The newly created rule name can be seen selected in the left side navigation tree. The rule query expression is in the dialog's top-right pane.
A rule of the chosen type is created and the main editing window for the rule is displayed, ready for you to define specific constraints for the rule. The query expression from the PCBLIB Filter panel is entered into the Full Query region of the dialog. Refine the rule configuration settings as required, and apply the new rule.
Once you have defined your query and set up the options in the panel as required, the filter can be applied - either by clicking the panel's Apply button or pressing Enter.
An applied example of the filter used above: IsTrack OR IsArc AND NOT InPoly AND OnLayer Top Overlay
. The visual result is zoomed, dimmed and the objects are not selected.
To clear the currently-applied filter from within the panel, clear (select and delete) the query expression in the central region of the panel and either click the Apply button or press Enter. All objects in the design workspace will be restored to full visibility and be available for selection/editing.
Alternatively, to clear filtering in the workspace, but leave the query expression loaded into the central region of the panel, use the Clear button at the bottom right of the design editor window.
Right-clicking within the PCBLIB Filter panel provides access to additional options and commands via pop-up menus.
Right-clicking in the Object or Layer region of the panel opens the following context menu options:
In addition to standard Cut/Copy/Paste commands, right-clicking in the Filter region of the panel opens the following context menu options:
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||
Contact our corporate or local offices directly.