This section describes various techniques for applying edits to multiple objects in your design. It covers using the Find Similar Objects dialog and Inspector panel combination, as well as the Parameter Manager and the Model Manager. Finally, it introduces queries and the List panel, a powerful technique for finding and editing design objects.
Electronic design is the process of capturing a logical design in the schematic, then representing that design as a set of objects in the PCB workspace. Even for a small circuit, the schematic can include many components, each with numerous models and parameters, and the PCB workspace will end up containing a large number of design objects that make up the board. During the course of the design process, the properties of these objects will need to be changed as the designer works to balance out the various design requirements.
To support the task of editing many objects, previous versions of Altium design tools included a feature called Global Editing. The basic approach of this feature was to edit one object, and then push those changes onto other objects.
With the introduction of the DXP platform, the technique for applying an edit globally changed. The basic approach now is to select the objects to be edited, inspect their properties, and then edit them.
Keeping this select – inspect – edit sequence in mind, let's look at each step in detail.
Figure 1. Right-click and select Find Similar Objects.
There are actually a number of ways of selecting objects, for example the Windows standard mouse click shortcuts can be used. This approach is ideal when the number of objects to be selected is small, or perhaps when there are different kinds of objects to be edited simultaneously.
To select many objects, including over a number of schematic sheets, you use the Find Similar Objects dialog. To open this dialog, right-click on one of the objects to be edited, and select Find Similar Objects from the pop-up menu.
Let's walk through the process using an example. Let's say we need to change the name of a power net in the schematic from VCC to 3V3. This requires all the VCC power ports on all of the sheets to have their Net attribute changed. The first step is to find a VCC power port on the schematic, right click on it, and select Find Similar Objects from the pop-up menu.
Figure 2. Properties of the current object loaded into the Find Similar Objects dialog
Figure 2 shows the Find Similar Objects dialog after right-clicking on a schematic Power Port. It is important to note that the dialog lists the properties of the object you clicked on, so the contents of this dialog will be different if you clicked on something else.
You can see that the dialog has two columns, the column highlighted in Figure 2 shows the current properties of the object you clicked on – down the bottom you can see that the net name Text is currently VCC.
The second column in the Find Similar Objects dialog is where you instruct it how to match other objects. For each property of the object, you can instruct it to match target objects when this property value is the Same, match when the target has a Different value, or set it to Any when you are not interested in matching by this property.
Figure 3. Which properties should be used to match by?
Note that in Figure 3, the matching will occur when the Object Kind is the Same, and when the net name Text is the Same. Or to say that another way, match when the object is a Power Object with a net name of VCC .
The next step is to set the scope of the Find action, should it be on the Current Document only, or all Open Documents. In Figure 4, you can see that this has been set to Open Documents. For this editing action to apply to all the sheets in the project, they must be opened first.
The final step is to define what should happen after it has found all the Power Objects that have net name Text of VCC, in all Open Documents.
Figure 4. What documents should this edit apply to?
Figure 5 shows the important settings for this edit operation. The highlighted options are Select Matching (to select all the VCC power ports), and Run Inspector, which will open the Inspector panel with the selected objects loaded into it.
Click the OK button to select the matching Power Ports.
The Apply button will also select the matching power ports and open the Inspector, but the Find Similar Objects dialog will remain open too – use this if you are not sure you have your matching criteria correct.
Figure 5. What should be done with the found objects?
Figure 6. The SCH Inspector shows the properties of the selected objects
Both the schematic and PCB editors include a panel called the SCH Inspector. The basic behavior of the Inspector is that it lists the properties of all objects that are currently selected. The set of selected objects could be the same kind of object, for example Figure 6 shows the properties of ten power ports.
Properties that are identical for all the selected objects have their value displayed, for example all ten power ports currently have an Orientation of 90 degrees.
For each power port property that has a different value, you will see <...> instead (e.g., the X1 location). This means that not all these ten objects have the same X1 value, which makes sense since they each have a different location.
Note in Figure 6 that the SCH Inspector includes two options at the top. It is important that you set the second of these, which sets the display of where the found objects are from – from the current document, open documents, or open documents of the same project. To have all the selected power ports loaded into the Inspector, you will need to set this to open documents or open documents of the same project.
Figure 7. Editing the net name Text
So far you have selected the objects you want to edit, inspected the properties in the Inspector, so now you are ready to edit them.
When you click to edit the net name text, the ... browse button appears at the end of the Text field. You can click on this button when you want to perform a partial string substitution. For this edit, we will be replacing all the text, so we simply replace the entire contents of the cell with the new text, 3V3.
The change you make to the text value is applied to all the selected objects as soon as you press ENTER on the keyboard, or click another cell in the SCH Inspector.
If you change your mind during the edit, press the ESC key on the keyboard to abort the edit. To Undo an edit that has been applied, select Edit » Undo from the menus. If the edit has been applied to multiple schematic sheets, you will need to perform an Undo action in each sheet.
Figure 8 shows the SCH Inspector panel after changing the text and pressing ENTER, next to one of the edited power ports.
You can use this approach to apply an edit globally to any type of object in the Schematic or PCB Editors.
After performing the edit, you will probably find that all the other objects on the schematic are faded out, or masked. While something is masked it cannot be edited, to remove the mask click the Clear button at the bottom right of the workspace [shortcut: SHIFT + C].
Figure 8. One of the ten updated power ports
Figure 9. Finding the 470uF 16V capacitors
The edit that we just performed was on a primitive object, that is, one of the basic objects used in the Schematic Editor. More complex objects, such as components, are called group objects; these are essentially a collection of primitive objects. For example, a component on a schematic is a collection of drawing objects, strings, parameters, pins, and references to models. The primitive objects that belong to a group object are sometimes referred to as the child objects, and the group object is their parent object.
Let's look at a typical group object edit that you might want to perform. Your design includes several 470uF 16V capacitors, using the footprint MCCT-B. Currently the voltage is specified as part of the components' comment string. You need to change this and specify the voltage as a component parameter instead, and make this parameter visible on the schematic.
The steps we need to perform are:
1. Select capacitors with a value of 470uF 16V , and MCCT-B footprint.
2. Change their comment to be 470uF (remove the 16V text).
3. Add a new parameter to these components, with a name of Voltage, and a value of 16V.
4. Change the visibility of this parameter so its displayed on the schematic.
While this might seem a complex set of edits to perform in one go, it is actually quite straightforward.
To select all the 470uF 16V capacitors, right-click on the component symbol of one of them and select Find Similar Objects from the pop-up menu.
We will use the approach covered in the previous example, except this time you want to match on components that have the same Part Comment , and the same Current Footprint , as shown in Figure 9.
Note that we can also match on components that have a designator starting with the letter C. This is done by changing the component designator value in the Find Similar Objects dialog from what it opened as, to C* (Figure 9). Click OK to select the matching capacitors.
Figure 10. The view after performing a Find Similar Objects, showing the matching capacitors found on this sheet
After running the Find Similar Objects dialog, the SCH Inspector panel opens ( Run Inspector option in Find Similar Objects dialog enabled). Behind it will be the schematic sheet displaying the matching objects selected on that sheet. If the Zoom Matching and Mask Matching options were enabled in the Find Similar Objects dialog, then the view would be zoomed and all the objects that did not match would be faded, or masked out.
Figure 10 shows the results. There are four capacitors found on this current schematic sheet.
You can check the status line at the bottom of the SCH Inspector panel to see if the same capacitors exist on other sheets.
To change the comment string, simply delete the 16V from the string, as shown in Figure 11, and press ENTER to apply the change.
Figure 11. The capacitor value has been changed
The next change that we need to make is to add a new parameter to these four components, called Voltage, and set the value to 16V. To do this, we use the Add User Parameter feature at the bottom of the SCH Inspector panel (Figure 12). Note that we will enter the value first, then the parameter name.
Figure 12. Adding user defined parameters
1. Firstly, type in the value of the new parameter, 16V, into the Add User Parameter field in the Inspector.
2. Press ENTER to apply the change. When you do, the Add new parameter to XX objects dialog will appear.
3. Type in the new parameter name and click the OK button.
Note : Click on the red cross ( X) next to each parameter to delete it.
The SCH Inspector panel will now include the new Voltage parameter in the list at the bottom, with a value of 16V, as shown in Figure 13. You can add as many parameters as you wish using this approach.
Figure 13. User defined parameters
The last step is to make the new Voltage parameter visible on these four capacitors. The visibility of a parameter is a property of the parameter itself, not the component, so we cannot change this in the SCH Inspector panel yet because it is displaying the properties of the parent components.
To access the properties of the child parameters, click on the hyperlinked Parameter name, Voltage , in the Parameters list at the bottom of the SCH Inspector panel. When you do this, the Voltage parameter properties for the selected components will be loaded into the SCH Inspector panel, ready to edit. You can confirm this by checking the Object Kind at the top of the SCH Inspector panel – it should say 'Parameter'.
Figure 14. Change the visibility of the new parameter
Now we can make the Voltage parameter visible on the schematic. To do this, disable the Hide option, as shown in Figure 14.
If you wanted to return to the parent components, perhaps to edit some other property, you would do this by clicking the Owner hyperlink, as shown in Figure 15.
Figure 15. Returning to the parent component properties
We have now updated the comment string for all 470uF capacitors, using a MCCT-B footprint. We have also added a new parameter called Voltage, set its value to 16V, and made this parameter visible.
The PCB Inspector panel can be used to edit both multiple instances of the same object, and also used to edit common properties of different objects.
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. Let's go through the process now.
1. In the PCB, you would select all the primitives in the routed net that needs its name changed, using the Edit » Select » Connected Copper command [shortcut: CTRL + H].
2. If it is not already visible, display the PCB Inspector panel [shortcut: F11].
3. The PCB Inspector panel will only show properties that are common to all the selected objects. If you 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.
Figure 16. Changing the net name of selected tracks and vias
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:
1. Click the Layer tab for the current mechanical layer at the bottom of the PCB Editor window to make it the active layer.
2. Select all the objects on that layer using the Select » All on Layer command [shortcut: S, Y].
3. If it is not already visible, display the PCB Inspector panel [shortcut: F11].
4. Select the new layer name from the Layer list, and press ENTER to apply the change.
Figure 17. Changing the layer for selected 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 these Locked attributes can be toggled collectively in the SCH List or PCB List panels.
Figure 18. Enabled Locked property for Wires
1. To lock a group of schematic objects, you can use the SCH List panel to toggle the Locked options as shown in right side of Figure 18. You can do the same for a group of PCB objects in the PCB List panel as well.
2. To lock an individual object, double-click the object and when its properties dialog opens, enable the Locked option as shown in the left side of the Figure 18.
Figure 19. Locked design object attempting to be edited graphically
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 (Figure 19).
If the Protect Locked Objects option is enabled in the Schematic – Graphical Editing page (Figure 20) or in the PCB Editor – General page of the Preferences dialog (Tools » Schematic Preferences or Tools » Preferences in the Schematic or PCB Editors respectively) and the design object is locked , this 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 in the Graphical Editing page under the Schematic folder in the Preferences dialog to graphically edit this object.
If you attempt to select locked objects along with other objects, only those objects that are unlocked can be selected and moved as a group when the Protect Locked Objects option is enabled.
Figure 20. Protecting locked objects in the Schematic - Graphical Editing page in the Preferences dialog.
Figure 29. Use the footprint manager to review and manage the footprints across the entire design.
Altium Designer's schematic editor now includes a powerful Footprint Manager. Launched from the Schematic Editor's Tools menu (Tools » Footprint Manager), the Footprint Manager lets you review all the footprints associated with every component in the entire project. Multi-select support makes it easy to edit the footprint assignment for multiple components, change how the footprint is linked, or change the Current footprint assignment for components that have multiple footprints assigned. Design changes are applied through Altium Designer's standard ECO system, updating both the schematic and the PCB if required.
Altium Designer has a powerful query engine built into it, which is used to precisely target design objects. A query is essentially a description of something that you would like to find in the design data.
You can query the design data in a number of different ways. One of these is to type the query in to the Filter panel. When you apply the query you are filtering the design database. Each object is tested to see if complies with the query, and if it does, it is added to the result set.
Figure 28 shows the Schematic Library SCHLIB Filter panel, with the query IsPin typed in. When this query is applied, every object in the library is checked (since the Whole Library option is enabled), any object that is a pin will comply and be added to the result set. All other objects are filtered out.
Figure 30. Using the SCHLIB Filter panel to query for Pins in the entire library in the Library Editor.
How the results are presented depends on the options on the right of the SCHLIB Filter panel. In Figure 30, you can see that objects that pass the filter (pins in this case) will be selected and zoomed. All other objects that do not pass the filter will be de-selected and masked out (faded and made non-editable).
Since the Select option is enabled, the pins will be loaded into the SCH Inspector panel. This panel essentially 'stacks' the selected objects to give one view into their common properties, which is not that useful for editing component pins (unless perhaps you wanted to change their length).
The pins will also be displayed in the SCH List panel, which presents design data in a tabular grid, where it is easy to compare and edit one or more objects at once.
When you apply a filter with the Mask out option enabled, the objects that are filtered out will become faded and non-editable. To remove this filter, click the Clear button at the bottom right of the workspace [shortcut: SHIFT + C].
Figure 31. Pins of the current component, presented in the SCHLIB List panel in the Schematic Library Editor.
Figure 31 shows the Schematic Library SCHLIB List panel loaded with pins. Note that the from option at the top of the panel is currently set to current component, even though the filter was configured to select them for the whole library. There are scope controls in both the SCHLIB Filter and the SCHLIB List panels; this is because you control filtering separately from result display. You can use this to do things like find all pins in the current library, then switch between looking at all the pins, or just those in the current component.
The tabular grid of the SCHLIB List panel is ideal for reviewing and editing objects. Once you have set the SCHLIB List panel to be in Edit mode (the option at the top left of the panel), you can use keys on the keyboard to 'walk' around and edit settings. For example, use the arrow keys to move around the grid, F2 or SPACEBAR to edit the selected cell, ENTER to apply a change, SPACEBAR to toggle an option if that cell is active, and so on.
The SCHLIB List panel is completely configurable. To add or remove columns, or to change the order of columns, right-click on the column headings and select Choose Columns from the context menu.
Not only can you edit data directly in the SCHLIB List panel, you can also multi-select blocks of cells and copy them from the SCHLIB List panel into your preferred spreadsheet program, and from the spreadsheet back into the SCHLIB List panel. For example, you are creating a new component and you have copied all the pin data from the manufacturer's datasheet into a spreadsheet. Rather than entering this data into the Schematic Library editor one pin at a time, you can:
1. Place one pin in the new schematic component, copy it, then use the Paste Array command to give you the total number of pins required.
2. Use the query IsPin in the Filter panel to load these pins into the List panel.
Figure 32. Pin data in the spreadsheet editor, as it is copied onto the clipboard
3. Set up the relevant pin data columns, so that they correspond to the arrangement of columns in the spreadsheet program.
4. Switch to the spreadsheet program, select the required block of pin data and copy it.
5. Switch back to the SCHLIB List panel, select the same block of cells, right-click and select Paste from the pop-up menu
You might want to copy a block of data from the SCHLIB List panel to the spreadsheet first, to see how the data is represented in the spreadsheet. Using this approach, you can quickly configure a large number of component pins in your new component. Figure 32 to Figure 34 illustrate this sequence:.
Figure 33. Select the target block of cells in the SCHLIB List panel, right-click and select Paste.
Figure 34. The SCHLIB List panel after the pin data has been pasted in
You can also use the Smart Grid Paste tools to quickly update the design objects' attributes or to create a group of primitives quickly and easily. These tools are available via the right-click menu in the Schematic or PCB Editor's List panel.
For more information on using the Smart Grid Paste tools, refer to the Editing Attributes with Smart Grid Paste Tools sections in the Altium Designer Panels Reference document.
Figure 35. Diagram of the filtering/highlighting process
Figure 35 shows how design data is filtered and highlighted. Note how you can control the filtering process by writing a Query in the Filter panel, by configuring options in the Find Similar Objects (FSO) dialog (which actually uses a query behind the scenes), or by selecting objects in the Navigator panel. The PCB panel is not shown however, like the Navigator , it can also filter data in the PCB workspace.
The Highlighting engine determines how the filtered data will be presented.
As the user, you can access the filtered Display data in the main graphical editing window, in the Inspector (if you instructed the highlight engine to select it), or in the List panel.