Редактирование множества объектов
Altium Designer provides a range of editing tools and capabilities that have been designed to help with making large scale edits to a design. The designer's main tools for large scale, or global, edits are the PCB Inspector panel, PCB Filter panel, PCB List panel, and Find Similar Objects capabilities.
The process of editing multiple items in Altium Designer involves three steps:
- Select the objects to be targeted.
- Inspect the properties of those objects.
- Edit the properties that need to be amended.
With this editing paradigm in mind, the software offers a range of different ways to Select, Inspect and Edit multiple objects. Each method has its strengths and by having an understanding how they work, the designer is equipped to choose the method that is most applicable to their specific editing challenge.
Selecting Objects
Objects can be selected in a variety of ways but they all fall into two categories:
- Graphical Selection – objects are selected:
- individually by mouse clicks
- accumulatively by +mouse clicks, or
- using one of the selection commands (Edit » Select) from the main menu.
- Logical Selection – objects are selected using an interactive or query-based process that targets and filters objects using specific parameters and/or attributes as the search criteria. GUI elements that support this type of selection are:
- The Find Similar Objects dialog.
- The PCB panel.
- The PCB Filter panel.
- The PCB List panel.
Inspecting Objects
The attributes of objects can be inspected or viewed in a variety of ways:
- Direct Inspection – the attributes of one or more objects are inspected directly through the object's Properties dialog or graphically in the main editor.
- Indirect Inspection – the attributes of one or more objects that have previously been selected are viewed using one of the following panels:
- The PCB Inspector panel.
- The PCB List panel.
Editing Objects
Similarly, objects can be edited in different ways:
- Direct Editing – the attributes of one or more objects are edited directly through the object's Properties dialog or graphically in the main editor.
- Indirect Editing of Several Objects – the attributes of one or more objects that have previously been selected can be edited using one of the following panels:
- The PCB Inspector panel.
- The PCB List panel.
Examples of viewing and editing object properties directly through an associated properties dialog, or indirectly through the PCB Inspector and PCB List panels:
Locking Design Objects
Design objects can be locked from being moved or being edited on the schematic or PCB document by enabling their Locked attributes. For instance, if the position or size of specific objects are critical, lock them. This Locked attribute is available in the design objects' properties dialogs, or the Locked attributes can be toggled collectively in the PCB List panel.
- To lock a group of objects, you can use the PCB List panel to toggle the Locked options as shown in the image on the right above.
- To lock an individual object, double-click the object and when its properties dialog opens, enable the Locked option, as shown in the image on the left above.
If you attempt to move or rotate a design object that has its Locked property enabled, a dialog appears asking for confirmation to proceed with the edit.
If the Protect Locked Objects option is enabled in the PCB Editor – General page of the Preferences dialog and the design object is locked, the object cannot be selected or graphically edited. Double-click on the Locked object to disable the Locked property, or disable the Protect Locked Objects option to graphically edit this object.
Masking
Masking is a way of explicitly removing an object's eligibility for selection and/or editing. It can be faster to first mask out what is not required instead of selecting what is required.
Consider a design where all vias sitting under a specific BGA device need to have their diameter changed. One way to perform this operation would be to run a query that masks out all non-via objects on the design, then use the Edit » Select » Inside Area menu command to draw a rectangle around the BGA device to select the vias to be targeted. The via diameter could then be changed using the PCB Inspector panel.
Masked objects appear faded, where the selected object passes the applied filter and is displayed normally, with all other design objects faded in gray. The level of fading can be adjusting using the dimmer controls accessible by clicking the Mask Level control at the bottom right of the editor window.
Clearing Selections and Masks
The current selection and masking can be cleared a number of ways:
- Pressing the Shift+C shortcut.
- Clicking the Clear button in the bottom right of the editor window.
- Using one of the Edit » Deselect menu commands.
Selection Commands
The following selection-based commands are available from the Edit » Select sub-menu.
- Select overlapped - use this command to single select the next design object in a set of co-located (overlapping) objects, without utilizing a selection pop-up window.
- Select next - with an initial object selected in the design, use this command to extend the selection to include the next higher-level object (or objects), based on logical hierarchy.
- Inside Area – use this command to select design objects within a user-defined area. All objects that fall completely inside this defined area will become selected.
- Outside Area – use this command to select design objects outside of a user-defined area. All objects that fall completely inside the defined area will remain non-selected. All objects outside of this area will become selected.
- Touching Rectangle – use this command to select design objects touched by a user-defined bounding rectangle.
- Touching Line – use this command to select design objects touched by a user-defined line.
- All – use this command to select all design objects in the current document, including the board shape. (Shortcut: Ctrl+A).
- Board – use this command to select the board shape and all design objects that lay within its bounding rectangle. (Shortcut: Ctrl+B).
- Net – use this command to select all routed track and electrical objects associated with a particular net. Simply click on an object within the required net. Click on an area of the design, away from any objects, to access the Net Name dialog, from where the name of the net can be entered directly. If unsure of the name, enter
?
and click OK to access the Nets Loaded dialog, which lists all currently loaded nets for the design.
- Connected Copper – use this command to select all routed track and electrical objects that are all connected to the same piece of copper. Simply click on an electrical object (track, pad, fill etc) and all electrical objects that are connected by the same piece of copper will become selected. (Shortcut: Ctrl+H).
- Physical Connection – use this command to select all routed track between two pad objects. Simply click on a track or pad and all contiguous track between the two pads will become selected, including any vias. The pads themselves will not be included in the selection.
- Physical Connection Single Layer – use this command to select connected track segments on the current layer, i.e., to select contiguous copper until the layers change or a component pad is encountered.
- Component Connections – use this command to select all routed connections emanating from the pads of a chosen component. The component's pads, along with connected tracks and vias will be selected, up to the next encountered pad in each case.
- Component Nets – use this command to select all nets attached to a chosen component. All nets (and member net objects therein) attached to that component will be selected.
- Room Connections – use this command to select all pad-to-pad routed connections that fall completely within the boundaries of the chosen room.
- All on Layer – use this command to select all design objects on the current layer. The current layer is distinguished by the active tab at the bottom of the main design window.
- Free Objects – use this command to select all free primitive objects within the design. Group objects (such as components, coordinates, dimensions and polygons) will not be selected. These objects must be converted to their free primitives in order for this selection mode to apply.
- All Locked – use this command to select all design objects that have their Locked property enabled.
- Off Grid Pads – use this command to select all pads that are not placed on a defined snap grid.
- Toggle Selection – use this command to change the selection status of one or more design objects in the workspace. The command is used to change the status for one object at a time and not a group of objects simultaneously.
Find Similar Objects
The Find Similar Objects process uses the attributes of a target object as a reference for finding several other objects with similar characteristics. It can be accessed in the following ways:
- The Edit » Find Similar Objects menu command
- The Shift+F shortcut
- When right-clicking over an object.
The Find Similar Objects dialog is divided into two primary sections; the upper section consists of a grid that lists the attributes of the reference object, and the lower section consists of a group of check boxes that define what will happen once the Apply or OK button is clicked.
The left column lists the attributes of the reference object. The center column lists the value of those attributes and the right column defines grouping.
To search for objects with different values, enter the search pattern into the attribute value column directly; the '*
' character can be used as a wildcard for finding any group of characters. Edits made to the attribute value in the Find Similar Objects process will not alter the attributes of the reference object.
The right column of the grid contains a drop down list of options used for specifying how the associated attribute should be used to find similar objects:
- Any: Find Similar Objects with an attribute value that has any value. This is the default that will ignore the associated attribute from the filter.
- Same: Find Similar Objects with an attribute set to the same value as this one.
- Different: Find Similar Objects with an attribute set to a different value to this one.
The options in the lower section of the Find Similar Objects dialog define the action to be taken for the identified items. The check boxes and drop-down fields operate as follows once the Apply or OK button is clicked:
- Zoom Matching - Zoom the display to a window that encompasses all found objects in the workspace.
- Select Matched - Select all found objects matching the search criteria.
- Clear Existing - Clear any existing Selection or Editing Mask before performing the search. Uncheck this option if doing successive Find Similar Objects searches and it is desirable for the results to accumulate.
- Create Expression - Create an expression that matches the criteria specified by the Find Similar Objects dialog and enter it into the PCB Filter panel. The PCB Filter panel will be opened if it is not already. This option makes it possible to use the Find Similar Objects dialog as a quick way of constructing complicated filtering operations.
- Run Inspector - Display the PCB Inspector panel. For this option to produce meaningful results, it will be necessary to have the Select Matched option set since the PCB Inspector panel will only show attributes from currently selected objects.
- When Mask is selected, filtered objects will appear visible in the design editor window, with all other objects being made monochrome. When this option is applied, unfiltered objects will be unavailable for selection or editing.
- When Dim is selected, filtered objects will appear visible in the design editor window, with all other objects retaining their colors, but being shaded.
- When Normal is selected, filtered objects are highlighted, however, the appearance of unfiltered objects remains unchanged.
The effectiveness of masking and dimming is determined by the Highlighting Options set on the PCB Editor - Display page of the Preferences dialog. Controls for adjusting masking and dimming are accessed from the Mask Level button (bottom right of design editor window).
PCB Inspector Panel
Opening PCB Inspector Panel
There are several ways to display the PCB Inspector panel:
- Press the F11 shortcut key to toggle the panel on and off.
- Check the Run Inspector option to display the PCB Inspector panel after executing the Find Similar Objects dialog.
- Select the PCB Inspector item from the PCB popup button in the bottom right of the main editor window (assuming the View » Status Bar option is enabled).
- Enable the View » Workspace Panels » PCB » PCB Inspector option from the menu.
Defining Panel Display Scope
The PCB Inspector panel can be used to examine one or several objects. The scope of objects to display is managed via an underlined control in the top row of the panel. Clicking the control will reveal a selection pop-up that can be used to Display all objects or Display only objects of a particular type. The control will update to reflect the range of objects included, e.g., Pad
.
Inspecting and Editing Object Attributes
The body of the PCB Inspector panel contains the list of common attributes and values from all the currently selected objects. Attributes with a value that is the same across all selected objects will have that value displayed in the panel. Attribute values can be edited by clicking on the value and entering a new value directly. New values can be applied by pressing Enter; pressing Esc will abort the change.
Attributes that have different values across the selected objects are displayed as <…>
. These values can be edited directly too but new values will be applied to all selected objects indiscriminately. Care should therefore be exercised when updated values such as the X and Y attributes since this could inadvertently position all objects on top of each other.
When a string-based shared attribute of multiple selected design objects is focused for editing, the button will appear on the right of the control. Clicking this button launches the Smart Edit dialog which can be used to create Batch Replace or Formula based text substitutions.
Using the PCB Inspector to Make Global Edits for Different Object Types
The PCB Inspector panel can be used to edit multiple instances of the same object, and can also be used to edit common properties of different objects.
Changing the Net Name for Existing Routing
For the first example, let's assume that you have made design changes on the schematic, removing a pin from one net and adding it to another. If the nets were already routed on the PCB, then when you update the PCB you could end up with routing that has the wrong net name. This routing could include tracks and vias, as well as other kinds of objects.
There are a few ways this could be resolved. The easiest is to use the PCB Inspector panel. To do that:
- In the PCB, select all the primitives in the routed net that needs its name changed, using the Edit » Select » Connected Copper command (Ctrl+H).
- If it is not already visible, display the PCB Inspector panel (F11).
- The PCB Inspector panel will only show properties that are common to all the selected objects. If your selection was correct, one of these will be the Net name. To change this, simply select the new net name from the drop down list and press Enter to apply the change. The net property of all the different objects in the routed net will be changed.
Changing the Layer Property of Different Objects
Another example might be that you need to move all the objects that are on one mechanical layer to another mechanical layer. To do this, you would:
- Click the Layer tab for the current mechanical layer at the bottom of the PCB Editor window to make it the active layer.
- Select all the objects on that layer using the Select » All on Layer command (S, Y).
- If it is not already visible, display the PCB Inspector panel (F11).
- Select the new layer name from the Layer list, and press Enter to apply the change.
PCB List Panel
PCB List Panel Inspect and Edit
The PCB List panel displays design objects from the active document in tabular format, enabling the designer to quickly inspect and modify object attributes. When used in conjunction with the PCB Filter panel, it can be used as a powerful way to both inspect and edit multiple design objects. Unlike the PCB Inspector panel, objects do not need to be selected in order for them to be displayed (and edited) in the PCB List panel.
PCB List Panel Access
There are several ways to display the PCB List panel:
- Press the Shift+F12 shortcut key to toggle the panel on and off.
- Select the PCB List tem from the PCB popup button in the bottom right of the main editor window (assuming the View » Status Bar option is enabled).
- Enable the View » Workspace Panels » PCB » PCB List option from the menu.
Defining Panel Display Scope
Controls at the top of the panel show the current mode and control how objects are filtered.
View/Edit Mode
Select the first field to choose the PCB List panel mode. Select View to view object attributes only. Direct editing from within the panel will not be possible in this mode, as indicated by the gray background of the spreadsheet-like region. Select Edit to view and edit the attributes of design objects, directly in the tabular region of the panel.
Object Selection
Click on the next underlined control to select from the following options:
- Non-masked objects – this is the default option and causes the panel to display only design objects that are not masked-out in the workspace (i.e. only those objects that fall under the scope and specific query expression of the currently applied filter). This option is most effective when filtering is applied to the workspace and the associated masking highlight option is enabled.
- Selected objects - this option causes the panel to display only design objects that are currently selected in the workspace.
- All objects - this option causes the panel to display all design objects.
Types of Objects
The right-most underlined control specifies the type of objects that can be displayed. Clicking on the control reveals a selection pop-up.
Use the pop-up to choose which object types to include in the currently displayed list – either all objects or specific objects.
To choose one or more specific object types, enable the Display only option and then enable the check box next to the required object(s) in the list beneath. The list will only contain those object types currently displayed in the main spreadsheet region of the panel.
The control will update to reflect the range of objects included (e.g. Component
and Region
).
Making Selections from the PCB List Panel
Design objects selected in the PCB List panel become selected in the design workspace. The list supports single or multiple selection; the latter using standard Ctril+Click, Shift+Click and click-and-drag features. Double-clicking on an entry will bring up its corresponding Properties dialog which can then be edited as usual.
Double-clicking on a design rule will bring up the corresponding Edit PCB Rule dialog, which can be used to modify the scope and constraints for the rule. User-defined classes can only be edited with respect to their name. As such, double-clicking on a class entry will have no effect.
As objects are selected in the panel (or conversely, as objects are selected within the workspace), those objects will appear distinguished in the list by the use of a non-white background for all associated cells.
Inspecting and Editing Object Attributes
While in Edit Mode, edit attributes of an object by editing the relevant cell in the panel. Click on a cell to focus it and then either right-click and choose Edit, or click again to edit the attribute value directly. Depending on the attribute, either type a value, toggle a checkbox or select an option from a drop-down. The change will take effect after pressing Enter or clicking outside of the cell being edited.
An advantage of using the panel to edit object properties is that the panel will remain open, allowing attribute after attribute to be changed, as needed, without having to close and reopen a properties dialog each time.
Another advantage of using the panel for editing is that multiple objects can be edited from the one place, without having to edit, through dialogs, one object at a time. Selected objects can be of the same or differing type. Those attributes that are common to all objects in the selection will be displayed in the panel.
Simply select the required cells – across all required objects – for the shared attribute to be modified. Then either right-click and choose the Edit command or press the F2 key (or the Spacebar). Edit the value for the chosen attribute with respect to the focused object in the selection (whose cell is distinguished by a dotted outline). Clicking outside the attribute's cell or pressing Enter will effect the change, which will subsequently be applied to all remaining objects in the selection.
By using filtering, a query can be applied (an expression for the filter) to target a specific group of objects in the design and then use the PCB List panel to edit the attributes for these multiple objects, directly.
Smart Grid Tools
Smart Grid Commands
There are two Smart Grid commands available from the panel's right-click menu. These commands allow data from an external table (e.g. PDF) or spreadsheet (e.g. Microsoft Excel) to be used to either update the values of existing objects in the PCB List panel (Smart Grid Paste), or insert newly-created objects (Smart Grid Insert).
Respective dialogs (Smart Gride Paste and Smart Grid Insert) for these commands are used to map the external tabular data coming in on the Windows clipboard, to the attributes of objects in the PCB List panel, providing a preview of what changes will be made.
Smart Editing of String-based Attributes
The PCB List panel offers support for string modification through its Smart Edit feature. Simply select the cell entries pertaining to the attribute to be modified, for all required objects, right-click and choose Smart Edit from the context menu. This opens the Smart Edit dialog which can be used to create Batch Replace or Formula based text substitutions.