Schematic Placement & Editing Techniques
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. The PCB workspace can also contain a large number of design objects that make up the board. During the course of the design process, the placement and properties of these objects need to change as you work to balance out the various design requirements.
Fundamentals of Object Placement
Grids and Cursors
Before placing objects in the Schematic Editor, set the grids to enable easier placement. Altium Designer offers three grid types: visible grids for navigation, snap grids for placement, and electrical grids for aiding the creation of connections. Grids are document options, meaning that they are saved with the individual design, and therefore, grid settings may differ between one design document and the next. Set the grids initially in the General region of the Document Options mode of the Properties panel.
Visible grids appear whenever the zoom level allows them to be sufficiently spaced, displayed as either lines or dots. The Snap Grid is the grid that the cursor is locked to when placing or moving schematic design objects. Electrical grids override snap grids since they allow connections to be made to off-grid parts. Enable Snap to Electrical Object Hotspots so that when moving an electrical object in the workspace, if it falls within the electrical grid range of another electrical object to which it could connect, it will snap to the fixed object and a hotspot (red cross) will appear. The electrical grid should be set slightly lower than the current snap grid or else it becomes difficult to position electrical objects one snap grid apart.
Grids can be quickly modified or toggled between enabled and disabled through keyboard or mouse shortcuts, for example, press G to cycle through the Snap grid settings of 10 mil, 50 mil, and 100 mil. You can also use the View » Grids sub-menu. Use the Schematic - Grids page of the Preferences dialog to set Imperial and Metric Grid Presets.
You can change the Cursor type to suit your needs in the Cursor region of the Schematic - Graphical Editing page of the Preferences dialog. For example, a large 90 degree cross that extends to the edges of the design window (Large Cursor 90 option) can be useful when placing and aligning design objects.
Placing Design Objects
The basic steps for placing schematic design objects are outlined below.
- Select the object type that you want to place by selecting an object type from the Place menu (e.g., Place » Wire) or by clicking on one of the icons on the Active toolbar. Shortcut keys for placement are also available (e.g., P, W to place a wire). To place components (parts), you can also click the Place button in the Components panel, or select the component name from an available library in the Components panel and drag it into the document.
- When an object is selected for placement, the cursor will change to a crosshair, indicating that you are in editing mode, and if relevant, the object will appear "floating" under the cursor.
- Press the Tab key to edit the properties of the object before placing it. This will open the Properties panel for that particular object, allowing you to change various options. Once you have finished setting the properties, click to return to placement mode. The advantage of editing during placement is that objects that have a numeric identifier, such as a designator, will auto-increment.
- Position the cursor then left-click or press Enter to place the object. For complex objects, such as wires or polygons, you must continue the position-and-click procedure to place all vertices of the object.
- After placing an object, you will remain in placement mode (indicated by the crosshair cursor), allowing you to immediately place another object of the same type. To end placement mode, right-click or press the Esc key. In some cases such as placing a polygon, you may need to do this twice; once to finish placing the object and once to exit placement mode. When you exit placement mode, the cursor will return to its default shape.
Repositioning an Object
Click and hold on an object to reposition it. When you do, the cursor may snap to a different location on the object from where you clicked. This is intentional and is controlled by the following options. Note that the electrical objects (such as a net label, sheet symbol, or component) behave differently from non-electrical objects (such as a rectangle, or line) because the Always Drag option is on by default.
- Center of Object - when enabled, for a graphical object move the cursor and hold at the geometric center of the object. For an electrical object, hold at the click location if the Always Drag option is enabled. If Always Drag is off, hold at the geometric center. For text strings, hold by the string reference point (determined by the string's current Justification property setting).
- Object's Electrical Hot Spot - when enabled, if the object is an electrical object, hold at its Hot Spot (the Hot Spot is the point where connectivity is created). When enabled, this option overrides the Center of Object option for electrical objects.
Re-Entrant Editing
The Schematic Editor includes a powerful feature called re-entrant editing that allows you to perform a second operation using the keyboard shortcuts without having to quit the operation you are currently carrying out. For example, pressing the Spacebar when placing a part will rotate the object but will not disrupt the placement process. Once you place the part, another part will appear ready at the cursor already rotated.
Re-entrant editing is also very useful if you start placing a wire that needs to be connected to a port that you have not placed yet. There is no need to exit Place Wire mode; just press the Place Port shortcut keys (P, R), place the port, press Esc to exit Place Port mode and then connect the wire to the port.
Measuring the Distance on a Schematic Document
The Schematic Editor has a distance tool located in the Reports menu (Reports » Measure Distance as well as the Ctrl+M shortcut keys). You can use this tool to measure the distance between two points on a schematic document. After launching the command, you are prompted to click on two points on the schematic document. Once you have chosen two points, an Information dialog appears with an overall Distance value, with the X Distance and Y Distance values displayed accurate to two decimal places.
The measurement units are determined by the Units chosen for the schematic document in the General region of the Document Options mode of the Properties panel. You also can switch to Imperial or Metric units by toggling the System units (View » Toggle Units).
Graphically Editing Placed Objects
It is generally easier to edit the look of an object graphically in the workspace. To do this, you must first select the object(s).
When an object is selected, you can move the object or edit its graphical characteristics. Click on an object to select it; its 'handles' or vertices are displayed. To graphically change a selected object, click and hold on an editing handle. That point of the object will then become attached to the cursor. Move the mouse to a new location and release to resize. Click anywhere on a selected object to move it or press the Delete key to delete it.
Using Copy and Paste
In the schematic editor, you can copy and paste objects within or between Schematic Documents, e.g. component(s) from a schematic can be copied into another Schematic Document. You can copy objects to the Windows clipboard and paste them into other documents. Text can be copied from the Windows clipboard into a schematic text frame. You can also directly copy/paste a table-type selection from another application such as Microsoft Excel or from any grid style control within Altium Designer.
More advanced copy/paste actions can be performed using the Smart Paste feature.
Select the object(s) you want to copy, click Edit » Copy (Ctrl+C) then click to set a copy reference point on the object that will be used to accurately position the object during pasting. You will only be prompted to click to set a reference point if the Clipboard Reference option is enabled on the Schematic - Graphical Editing page of the Preferences dialog.
Selecting Multiple Objects
There are 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 when there are different kinds of objects to be edited simultaneously.
To select many objects, including over a number of schematic sheets, you can use the Find Similar Objects dialog. To open the dialog, right-click on one of the objects to be edited then select Find Similar Objects from the context menu.
Now we will 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. The name of the power net is defined by the Name attribute of the Power Port object. To change the name, all of the VCC power ports on all of the schematic sheets need to have their Net attribute changed. The first step is to find a VCC power port on the schematic, right-click on it then select Find Similar Objects from the context menu.
The image above 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, and therefore, the contents of this dialog will be different if you clicked on a different object. You can see that the dialog has two columns: the column on the left shows the current properties of the object on which you clicked – near the bottom you can see that the net name Text is currently VCC
.
The second column is where you configure how to match other objects. For each property of the object, you 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.
Note that in in the image above, the matching will occur when the Object Kind is set to Same
, and when the net name Text is set to Same
. Or to say that another way, match when the other 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, all Open Documents
, or Project Documents. For the example, we will set the scope to Open Documents
.
The final step is to define what should happen after all the Power Objects that have net name Text of VCC in all Open Documents have been found. The image below shows the settings that need to be set for this operation.
The key options to be set are:
- Select Matching - to select all the Power Objects with net name Text of VCC.
- Open Properties - to open the Properties panel
Click the OK button to select the matching Power Ports. This will select the matching power ports and open the Properties panel in multiple object mode for Power Port.
Viewing the Object Properties
Both the schematic and PCB editors include a multiple object mode of the Properties panel. The basic behavior is that it lists the properties of all currently selected objects. The image above shows the properties of two power ports.
Properties that are identical for all the selected objects have their value displayed, for example, both power ports currently have the same Rotation, Name, Style, Font, and Color.
For each power port property that has a different value, an * is displayed, for example, the (X/Y) location. This means that not all the objects have the same (X/Y) value, which means they each have a different location.
Editing the Objects
So far you have selected the power objects you want to edit and have viewed their properties in the Properties panel. Now you are ready to edit them.
Click in the Name field then type in the new value. For this edit, we will be replacing all the text, so replace the entire contents of the cell with the new text '3V3'
.
The change you make to the text value is applied to all of the selected objects as soon as you press Enter on the keyboard.
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 main menus. If the edit has been applied to multiple schematic sheets, you will need to perform an Undo action in each sheet.
You can use this approach to apply an edit globally to any type of object in the schematic or PCB editors.
Editing Group Objects
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 capacitors. 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 (described in detail below):
- Select capacitors with a value of 100uF 16V.
- Change their comment to be 100uF (remove the 16V text).
- Add a new parameter to these components with a name of Voltage and a value of 16V.
- Change the visibility of this parameter so it's displayed on the schematic.
While this might seem like a complex set of edits to perform, it is actually quite straightforward.
Step 1. Selecting the Capacitors
To select all the 100uF 16V capacitors, right-click on the component symbol of one of them then select Find Similar Objects from the context menu.
We will use the approach covered in the previous example, except this time you want to match on components that have the same Comment and the same Current Footprint as shown in the image above.
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 to C*
. Click OK to select the matching capacitors.
Step 2. Changing the Comment String
After clicking OK, the Properties panel opens (if the Open Properties option in the Find Similar Objects dialog was 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, the view will be zoomed and all the objects that did not match are faded or masked out.
You can check the status line at the bottom of the Properties panel to see if the same capacitors exist on other sheets.
To change the comment string, delete 16V
from the string then press Enter to apply the change.
Step 3. Adding a New Parameter to the Component
The next change that we need to make is to add a new parameter. To do this, click Add in the Parameters region of the Properties panel in Component mode then select Parameter from the drop-down. A Parameter 1 entry will be added to the grid in the region. Enter the new parameter Name and Value.
Step 4. Setting the Voltage Parameter to be Visible
The last step is to make the new Voltage parameter visible. Click the icon to make the parameter visible (displays as ).
We have now updated the comment string for all 100uF capacitors. We have also added a new parameter called Voltage, set its value to 16V
, and made this parameter visible.
Locking Design Objects
Design objects can be locked from being moved or being edited on the schematic document by enabling their Locked attributes. For instance, if the position or size of specific objects is critical, lock them. This Locked attribute is available in the SCH List panel.
Locking Design Objects on Schematic Sheets
To lock a group of schematic objects, use the SCH List panel to toggle the Locked option as shown in the image below.
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 on the Schematic – Graphical Editing page of the Preferences dialog and the design object is Locked, the object cannot be selected or graphically edited. Disable the Protect Locked Objects option 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.
Managing Footprints Across the Entire Design
Altium Designer's Schematic Editor 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 the ECO system, updating both the schematic and the PCB if required.
Using a Query to Find and Edit Multiple Objects
Altium Designer has a powerful query engine built in that 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.
Filtering to Find the Objects
You can query the design data in a number of different ways. One way is to type the query into the Filter panel. When you apply the query, you are filtering the design database. Each object is tested to see if it complies with the query, and if it does, it is added to the result set.
The image below shows the SCHLIB Filter panel, with the query IsPin
entered. When this query is applied, every object in the library is checked (since the Whole Library option is enabled) and any object that is a pin will comply and be added to the result set. All other objects are filtered out.
How the results are presented depends on the options on the right. In the image above, 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).
The pins will also be displayed in the SCH List panel, which presents design data in a tabular grid and makes it easy to compare and edit one or more objects at once.
Editing Design Objects in the Schematic Library List Panel
There are scope controls in both the SCHLIB Filter and the SCHLIB List panels; this is because you control filtering separately from the display of the results. You can use this to do things such as 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. With the SCHLIB List panel set to Edit mode (shown below), you can use 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, click Enter to apply a change, use the Spacebar to toggle a checkbox when that cell is active, etc.
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 then select Choose Columns from the context menu.
Using a Spreadsheet Program to Edit Design Data
Not only can you edit data directly in the SCHLIB List panel, but 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, while creating a new component, you have copied the following 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:
- 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.
- Use the query
IsPin
in the Filter panel to load these pins into the List panel. - Set up the relevant pin data columns so that they correspond to the arrangement of columns in the spreadsheet program.
- Switch to the spreadsheet program, select the required block of pin data then copy it.
- Switch back to the SCHLIB List panel, select the same block of cells, right-click then select Paste from the context 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.
Creating and Editing Data as you Paste from a Spreadsheet or Table
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 by using the right-click menu in the schematic or PCB editor's List panel.
Filtering Objects in the Design Workspace - How Does It Work?
You can control the filtering process by writing a Query in the Filter panel, by configuring options in the Find Similar Objects dialog (which actually uses a query behind the scenes), or by selecting objects in the Navigator panel. 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 List panel.
Tips for Writing Queries
- Use the Query Helper to become familiar with the available query keywords. Click the Helper button in the Filter panel to display the helper. Visit the Query Language Reference section for more information about queries.
- Press F1 over a keyword to display on-line help for that query keyword.
- Use the Mask field at the bottom of the Query Helper dialog to search for possible keywords. If you include the * wildcard character at the start of the string for which you are looking, you will find all references to that text string in the keywords and also in the descriptions.
- Click the Check Syntax button before you close the Query Helper dialog.
- Include quotation marks around a variable, for example
'DIP14'
. - There is an order of precedence used to resolve queries, so include brackets to be sure that it is resolved in the correct sequence.