The PCB Editor is a grid-based design environment - design objects are placed on what is referred to as the placement, or snap grid. Multiple snap grids can be defined, and these can be restricted to a specified area if required. Snap grids are prioritized, with the highest priority grid available at the current location, being applied automatically. Snap grids can also be restricted to Components or Non-Components.
As well as the snap grid, the software includes a number of additional snap features, designed to help you accurately position and align design objects. Together, these features are referred to as the Unified Cursor-Snap System. 'Cursor-snap' is the process whereby the physical mouse cursor's pixel position on the screen drives the position of a 'logical cursor' in the coordinate space of a design document such as a PCB. The objective is for the system to be able to place the logical cursor onto sensible and useful coordinates without the user needing to specify these in a high-resolution way. Variable geometry boards - where component pins are often placed on different metric and imperial grids - serve to add greater complexity to this objective.
The system brings together different sub-systems to collectively drive the way that the cursor snaps onto given sets of preferred coordinates:
- User-Definable Grids - available in both Cartesian and Polar formats.
- Snap Guides - that can be freely placed and provide a handy visual cue for object alignment.
- Object Snapping - enabling placed objects to pull the cursor into position, based on cursor proximity to that object's snap points (hotspots).
- Axis Snapping - a feature to pull the cursor, in either the X or Y direction, so that it axially-aligns with an object's hotspot.
These features combine to ensure streamlined placement and alignment of objects in the PCB design space.
Accessing the Unified Cursor-Snap System
The Unified Cursor-Snap System is configured in the Properties panel (accessed when there are no design objects currently selected in the design space). The images below show the regions of the panel that are used to configure the unified cursor-snap system.
Access controls for the Unified Cursor-Snap System in the Properties panel, including the Snap Options, Grid Manager and Guide Manager.
The following regions of the panel are used.
- Selection Filter - The options in this region determine which PCB objects can be selected in the design space.
- All - On – select so that all types of objects can be selected.
- Object buttons – toggle each object button to enable/disable the ability to select that object type.
- Snap Options - provides options to determine cursor snapping (first image above):
- Grids - used to toggle whether the cursor will snap to the active design space grid. When this option is enabled, the cursor will pull or snap to the nearest snap grid location. The active snap grid is displayed on the Status bar and in the PCB editor Heads Up display (Shift+H to toggle on/off).
- Guides - used to toggle whether the cursor will snap to manually placed linear or point Snap Guides. A Snap Guide will override the Snap Grid.
- Axes - used to toggle whether the cursor will axially-align (in either the X or Y direction) to the enabled Objects for snapping. The Axis Snap Range defines the distance within which X or Y axial-alignment will occur. A dynamic alignment guide line is displayed when alignment is achieved from the current cursor location to the axially-aligned object snap point (hotspot).
- Snapping - used to control whether object snapping is Off, if object snapping only occurs for the enabled objects on the Current Layer, or if object snapping occurs for the enabled objects on All Layers.
- Object for snapping - object snap points (hotspots) that will be snapped to during an edit action, such as placement or movement.
- Snap Distance - when the cursor is within this distance from an enabled object snap point (and snapping is enabled for the active layer), the cursor will snap to that point.
- Axis Snap Range - when the cursor is axially-aligned and within this distance from an enabled object snap point (and the Axes feature is enabled), a dynamic guide line will display to indicate that alignment has been achieved.
- Board information - displays the horizontal and vertical board dimensions of the board itself along with information for each listed category such as the total number of the listed item. Click Reports to open the Board Report dialog in which you can specify the content to be included when generating a detailed report for the board.
- Grid Manager - where local customized grids can be defined and managed, as well as the default Snap Grid for the board.
- Guide Manager - where a range of manual Snap Guides and Snap Points for the board can be defined and managed.
- Other
- Units - use to select the default measurement units for the current PCB document. Default units are used to display any distance related information on the screen or in reports. The default units are always used if a unit's suffix (mm or mil) is not entered when specifying any distance related information.
- Polygon Naming Scheme - select a naming system from the dropdown menu.
- Designator Display - use this field to determine how designators are to be displayed.
- Sheet Settings - if you want to add a sheet, use these options to determine the X/Y, width, and height distances that will be utilized. These options are enabled when the Get Size From Sheet Layer option is unchecked.
Snap behavior only occurs when there is an edit cursor displayed (cross-hair), such as during object placement or movement.
Select View » Toggle Units (or press the Q shortcut) to switch the design space units between imperial and metric. The current Snap Grid and design space locations are displayed on the Status bar, and also in the Heads-Up display (Shift+H to toggle on/off).
The cursor will only snap to a defined grid when the Grids option is enabled, in the Snap Options region of the Properties panel.
Understanding the Snap Behavior
The PCB editor design space is a high-precision design environment containing objects that are designed to different scales, sometimes using different units of measurement. The unified cursor-snap system simplifies the process of working in such a complex design space, providing multiple levels of cursor snapping during object placement or movement.
The Snap Points
There are three levels of cursor-snapping available, each level overrides the lower level(s):
- Grid - the active Grid provides the base-level reference plane for snapping. The logical, or editing cursor, snaps from one grid point to the next as you move the mouse cursor across the screen.
- Snap Guides - overlaying this plane of grid points, snap Guides provide a method of defining precise, localized reference lines or points.
- Objects - the third, and often the most useful points of reference for snapping, are the objects that have already been placed in the design space. Using the checkboxes in the Objects for snapping list, specific points on each object-type can be enabled as snap points, which are also referred to as object hotspots.
The Snap Strength
The strength of the snap is defined by the Snap Distance. When the mouse cursor moves within this distance from an enabled Object for snapping, the editing cursor immediately snaps to that object's hotspot. Reduce this value to weaken the snap strength, increase the value to strengthen the snap effect. Keep in mind that a large value for the Snap Distance may prevent you from positioning the cursor at certain grid locations, whenever a nearby object's hotspot is within the Snap Distance.
Interactively Controlling the Snap Behavior
As you can see in the video above, a key feature of working with the snap options is being able to reconfigure them as you work. When using this feature, you may choose which objects you'd like to enable for snapping. Click on an object once to enable it (the object button will turn blue), or click again to disable it (the button will turn gray). The Custom button allows you to freely choose the objects for snapping you wish you enable. If at least one object (but not all of them) is enabled, clicking the Custom button will enable the All - On button, which enables all objects. This feature may be disabled by clicking the All - On button, which enables the All - Off button disabling all objects chosen.
At any time you can press Ctrl+E to display a palette of snap options.
Snap Options shortcuts:
- Ctrl+E - display a palette of snap options
- Shift+E - cycle to the next Snapping mode (Off, Current Layer, All Layers)
- Ctrl - hold to inhibit object snapping
Object Snapping
It is often impossible or impractical to define a grid that all design objects fall on. In that situation, you might need to position a new design object at an off-grid location. The software supports this through a feature called Object Snap, which is essentially a range of attraction around that object's hotspot. Hotspots only exist at meaningful locations, such as the center of a pad or via and the endpoints of track segments.
Enable the required snap points in the Objects for snapping list in the Properties panel.
This is a dual-axis system where the mouse cursor must be within the Snap Distance on both the X and Y axes in order for the object to pull the cursor towards that hotspot. Object hotspot snapping provides an aid to routing electrical objects, especially those that may not fall on the active snap grid. The Snap Distance is configured in the Properties panel when there are no objects selected in the design space.
Off-grid objects can be snapped to, using the object hotspot snapping feature.
The Objects for snapping feature has three modes. Use the buttons in the Snapping region of the Properties panel to select the required mode or use the Shift+E keyboard shortcut to cycle through the modes as you work.
- Current Layer - hotspot snap is enabled for the current layer. That is, the cursor will snap to object hotspots on the current layer only. This mode is reflected in the Status Bar as (Hotspot Snap).
- All Layers - hotspot snap is enabled for all visible layers. That is, the cursor will snap to object hotspots on any layer not just the current layer. This mode is reflected in the Status Bar as (Hotspot Snap (All Layers)).
- Off - hotspot snapping is disabled. The Status Bar displays nothing about Hotspot snap in this mode.
- The Status Bar reflects the current state of object hotspot snapping.
- Hold the Ctrl shortcut key to temporarily disable object snapping.
Aligning the Editing Cursor with a Placed Object
A common design task is to align a new object with an existing object. This can be achieved by enabling the Axes feature. When this feature is enabled, a dynamic alignment guide line is displayed from the current cursor location to the X or Y aligned object's hotspot whenever the editing cursor is within the Axis Snap Range. This allows an object hotspot that is close to the mouse cursor on one axis but distant on the other axis to drive the cursor position.
With the axial alignment feature, dynamic alignment guides appear in the design space, from the cursor to the hotspots
of existing placed objects.
User-Definable Grids
Any number of user-defined grids can be configured for the design space with all grid management performed from within the Grid Manager region of the Properties panel (accessed when there are no design objects currently selected in the design space). Use the controls available to define custom local grids by which to place design objects - especially components - with greater precision.
The Grid Manager region of the Properties panel is command central for defining and organizing the
grids for use with your board.
Grid Types
The software supports the creation of the following two custom grid types:
- Cartesian Grid - create a new grid of this type using the Add Cartesian Grid command (available from the button). A new grid entry will appear in the list, initially with the default name New Cartesian Grid. To edit the grid, double-click on its entry or select its entry and click the button. The Cartesian Grid Editor dialog will open presenting options with which to define the grid.
Example Cartesian grid definition, using the Cartesian Grid Editor dialog, and resulting appearance in the design space.
Options and Controls of the Cartesian Grid Editor Dialog
For the default global snap grid, only the Settings, Steps and Display regions will be presented in the dialog.
Settings
- Name – enter a meaningful name. For example, you might name the grid using a format that reflects its purpose (e.g., Grid for Component-Side Memory).
- Unit – specifies the measurement units used for the grid either
Imperial
or Metric
.
- Rotation – specifies whether the grid is to be rotated (about the specified origin point) and by how much.
Steps
- Step X – the distance between grid lines in the X plane. Enter the required step size directly or select from a range of common sizes available in the associated drop-down.
- Step Y – the distance between grid lines in the Y plane. Enter the required step size directly or select from a range of common sizes available in the associated drop-down.
By default, the two fields are linked as indicated by the continuous chain depicted on the button to the right of the fields –
. In this state, whatever you specify for the
Step X field will be copied and used for the
Step Y field. To break this link and enter step sizes individually, click the chain link. The link will display a broken chain –
– and the
Step Y field will be available for editing.
The following controls also are available that allow you to define the X and/or Y step sizes directly from within the PCB design space. In each case, you will be taken to the design space to specify two 'calculating' locations and the resulting step size will be calculated accordingly.
- Set Step X in PCB View – the resulting size is taken as the hypotenuse of the triangle formed by the chosen points in the design space.
- Set Step Y in PCB View – the resulting size is taken as the hypotenuse of the triangle formed by the chosen points in the design space.
- Set Step X from Delta X – the resulting size is taken using just the difference in the X coordinate.
- Set Step Y from Delta Y – the resulting size is taken using just the difference in the Y coordinate.
- Set Both Steps from Delta – the resulting sizes are taken using just the differences in the X and Y coordinates.
Note that when Step Y is following Step X (with the chain "linked"), only the Set Step X in PCB View and Set Step X from Delta X controls are available.
Origin
- Show Origin – enable to show an origin marker in the design space.
- Origin X – specifies the X coordinate for the center point of the grid in the design space.
- Origin Y – specifies the Y coordinate for the center point of the grid in the design space.
- Set Origin in PCB View – click to be taken to the PCB design space, in which you can click to define the centerpoint for the grid's origin. The resulting coordinate values will be loaded into the Origin X and Origin Y fields.
Display
- Fine – use the associated drop-down to define the markers used for the fine-level display of the grid in the design space, either
Lines
, Dots
, or Do Not Draw
. Choose Do Not Draw
if you do not want to use the fine-level display grid. The step size used for the markers is that defined in the Steps region. Click on the associated color swatch to access the standard Choose Color dialog from where you can specify the color to be used for the fine-level display grid in the design space. You also can reset the color back to its default using the Reset to Default button.
- Coarse – use the associated drop-down to define the markers used for the coarse-level display of the grid in the design space, either
Lines
, Dots
, or Do Not Draw
. Choose Do Not Draw
if you do not want to use the coarse-level display grid. The coarse-level display grid is the fine-level display grid with an increased step size, in accordance with the entry selected in the Multiplier field. Click on the associated color swatch to access the standard Choose Color dialog from where you can specify the color to be used for the coarse-level display grid in the design space. You are free to choose a completely different color to that used for the fine-level display grid. You also can quickly lighten or darken the shade of the color currently used for the fine-level display grid by clicking the Lighter or Darker buttons.
The default display colors that are assigned to the
Fine and
Coarse display grids when the
Reset to Default button is clicked are defined in the
System Colors region of the
View Configuration panel (shortcut
L).
- Multiplier – use this field to specify the required multiple of the grid's step size, either
2x Grid Step
, 5x Grid Step
, or 10x Grid Step
.
Extents
- Width – use this field to define the width of one quadrant of the grid.
- Height – use this field to define the height of one quadrant of the grid.
By default, the two fields are linked, as indicated by the continuous chain depicted on the button to the right of the fields –
. In this state, whatever you specify for the
Width field will be copied and used for the
Height field. To break this link and enter values individually, click this chain link. The button will now depict a broken chain –
– and the
Height field will be available for editing.
Controls are also available that allow you to define the width and/or height directly from within the PCB design space. In each case, you will be taken to the design space to specify two 'calculating' locations, and the resulting width and/or height will be calculated accordingly.
- Set Width in PCB View – the resulting width is taken using just the difference in the X coordinate between the chosen points in the design space.
- Set Height in PCB View – the resulting height is taken using just the difference in the Y coordinate between the chosen points in the design space.
- Set Width and Height in PCB View – the resulting width and height are taken using just the differences in the X and Y coordinates.
Note that when Height is following Width (chain is linked), only the Set Width in PCB View control is available.
Quadrants
Use this region to specify which quadrants the grid is to occupy. The grid area is the same for all enabled quadrants as defined by the setting for Width and Height in the Extents region of the dialog.
Example of using the Quadrants region options. Note that only 1
, 2
, and 4
quadrants are enabled for use, and the resulted grid occupies only these quadrants relative to the grid origin.
- Polar Grid - create a new grid of this type using the Add Polar Grid command (available from the button). A new grid entry will appear in the list, initially with the default name New Polar Grid. To edit the grid, double-click on its entry or select its entry then click the button. The Polar Grid Editor dialog will open presenting options with which to define the grid.
Example Polar grid definition using the Polar Grid Editor dialog and resulting appearance in the design space.
Quickly access the relevant editor for a defined grid in the design space by hovering the cursor over an area of the board using that grid and pressing the Ctrl+G keyboard shortcut.
Default Snap Grid
A default snap grid is defined for the board, named Global Board Snap Grid
. This is the grid that is used for object placement and movement in any area of the board not covered by a dedicated local grid.
Global Board Snap Grid - used in any area of the board where a custom local grid has not been defined.
The default grid is a Cartesian-type grid. The step size and/or display for the grid can be modified, but the grid cannot be renamed, disabled, or deleted.
Changing Default Snap Grid Sizing, Measurement Units, and Overriding a Snap Grid
Within the design space, the G keyboard shortcut gives you access to a menu of commands for quickly setting the X (horizontal) and/or Y (vertical) step values for the default Global Board Snap Grid. These commands only affect the default snap grid for the board and not any custom grids (Cartesian and polar) that you may have defined. Commands are available to quickly switch to another predefined step sizing or to access the Snap Grid (1..1000) dialog, with which you can define a specific, custom sizing. Application of the predefined/custom value depends on whether you are setting both X and Y step values simultaneously or X or Y step values individually:
- Setting X and Y step values simultaneously - if the Step X and Step Y properties of the Global Board Snap Grid were previously unlinked, this command will link the two, with both set to the same predefined/custom value.
- Setting X or Y step values individually - if the Step X and Step Y properties of the Global Board Snap Grid were previously linked, this type of command will unlink the two, with only the chosen (X or Y) step value set to the predefined/custom value. The other step value will remain at its previous setting.
If you enter a snap grid setting without specifying units, the entry will be in the default measurement units employed for the PCB document. If the units are included with the value, the entered value will be converted to the current Unit-type.
The current snap grid setting for the grid (default or custom local) currently under the cursor is always displayed on the Status Bar along with the cursor location relative to the Current Origin.
The current origin is user-definable and can be located anywhere in the design space; the Absolute Origin is the bottom-left (0,0) of the design space (100X x 100Y inch, which is the maximum).
The Status Bar always displays the current snap grid and the cursor location
relative to the Current Origin.
The Status Bar also reflects the current state of object Hotspot Snapping. Object hotspot snapping provides an aid to routing electrical objects, especially those which may not fall on the default Global Board Snap Grid, or a defined custom grid. It gives you a distance, or range, in which the cursor can be away from an object but still snap to the object's hotspot (e.g., the center of a pad). Object hotspot snapping overrides a snap grid, allowing you to easily connect to an off-grid object. Use the Shift+E keyboard shortcut to cycle through the three modes (Off, Current Layer, All Layers). For more information, see Object Snapping.
Defining the Purpose of a Grid
A local grid can be used in a variety of situations:
- In the placement of non-component objects only.
- In the placement of components only.
- In the placement of both non-component objects and components.
Definition of how a grid can be used (its purpose or application) is performed using the Comp and Non Comp options associated with that grid's entry in the Grid Manager region of the Properties panel.
Use the Comp and Non Comp options to determine local grid application.
When specifying a component-only grid (Non Comp option disabled, Comp option enabled), the grid will only display when performing a component-based action, such as moving a component.
Example Grid Usage
The following animation illustrates an example of using a local Polar Grid for component placement in the PCB Editor. The grid has been defined for use with components only, and therefore, only appears when a component starts to be moved. This example also illustrates a great feature of polar grids - automatic placement rotation. As you move a component over a defined grid of this type, it will automatically rotate to the origin of the grid as you move it around the grid. Use this feature in combination with standard object rotation - Spacebar (counter-clockwise), Shift+Spacebar (clockwise) - to align your components exactly as you need them.
An example of component placement on a component-only local Polar Grid.
Defining the Grid Display
For any custom grid you define, as well as the Global Board Snap Grid
, options are provided to control how the grid is presented visually in the design space. Two levels can be defined:
- Fine - the fine-level display grid is for when you are more zoomed-in. The grid markers for this level of grid display follow directly the defined step sizes for the grid.
- Coarse - the optional coarse-level display grid comes into play as you zoom out. The grid markers for this level of grid display are based on a specified multiple of the defined step sizes.
Example Cartesian grid with fine- and coarse-level display grids presented in the design space. Left: Fine-level displayed using dots, coarse-level using Lines. Right: Both fine- and
coarse-level grids displayed using Lines.
Individual grid display coloring is defined when editing a grid in the relevant grid editor (
Cartesian Grid Editor dialog or
Polar Grid Editor dialog). Alternatively, a single nominated color can quickly be assigned for the Fine and Coarse display grids in the
Grid Manager region of the
Properties panel. To do this, click the color swatch in the grid's associated
Color field then choose the required color from the subsequent color palette that appears.
Fine and Coarse display grid colors can be reset to a specified default color by clicking the
Reset to Default link in a grid editor. Default coloring is defined in the
General Settings region on the
View Options tab of the
View Configuration panel. Click the color swatch to the right of the
Show Grid option then choose the required color from the color palette that appears. Note that this single default color will be used for both Fine and Coarse display grids. Note also, that changing the color here will affect only the default
Global Board Snap Grid
. Existing custom grids will retain the display colors set for them - only reverting to this new color if the
Reset to Default link is used.
Nesting and Grid Priority
The local grids you define in the Grid Manager region of the Properties panel can be freely stacked within the board area. By specifying origin coordinates accordingly, grids can be overlapped, creating a nested hierarchy of grids with which to fine-tune the placement of design objects as you layout your board.
Grid contention - which grid in an overlapping stackup of grids should a design object snap to - is resolved using a priority system. Each local placement grid you create and define is given a numbered priority. By default, each new grid is given the highest priority of 1
, with all existing grids moved down in priority accordingly.
The Global Board Snap Grid
is an exception. As it is the default grid that is used in all areas of the board that are not 'covered' by defined custom grids, it is given the priority setting of 50
- a low enough priority setting to ensure that it has the lowest 'snapping priority' of all defined grids.
In the design space, priority is distinguished by drawing order. The highest priority grid (priority 1
) will be drawn in front of all other grids, then the grid with priority level 2
, and so on, down to the default Global Board Snap Grid
, which is drawn behind all other custom grids.
An example of three nested Polar grids. The Yellow Polar Grid has the highest priority and appears on top. The Red Polar Grid is the next priority, appearing behind the yellow grid
but in front of the aqua grid. The default grid appears behind all of these grids, as all custom grids take precedence over it in the priority stakes.
The priority of the Global Board Snap Grid
cannot be changed; it is fixed to always have a priority of 50.
Disabling a Grid
There may be occasions where a grid is not needed while placing or moving a particular design object. Rather than deleting the grid (since it may be needed again later in the same or different area of the board), it can be 'hidden' in the design space. This can be achieved by disabling the grid's associated Comp and Non Comp attributes in the Grid Manager region of the Properties panel.
Disable a local grid to effectively hide it, therefore preventing objects from snapping to it. Using the nested grids example, the Red Polar grid has been disabled. As the grid has not
been deleted, you can re-enable and use it again when needed without having to redefine it!
The default
Global Board Snap Grid is permanently enabled, as this is the default grid that is used when no local grid has been defined for an area of the board. However, it and all defined grids can be hidden by disabling the
Show Grid option in the
General Settings region on the
View Options tab of the
View Configuration panel.
Deleting a Grid
Custom grids can be deleted by selecting their corresponding entry in the Grid Manager region of the Properties panel then clicking the button. You will be asked to confirm the deletion. Click Yes to do so.
Remember that the default Global Board Snap Grid cannot be deleted.
Snap Guides
Snap Guides are special objects that are manually placed specifically for the purpose of driving the cursor-snap on a certain axis or point - assisting in object/component placement. They can also serve as a visual indicator for general layout or alignment purposes. The following types of snap guides are supported:
- Linear Guide - a line-style guide that can be horizontal, vertical or +/- 45 Degrees.
- Point Guide - a point-style guide offering finer control over object placement. It is simply a hotspot that is manually marked within the confines of a defined grid.
Any number of snap guides can be defined for the design space with controls for placement and management available from the Guide Manager region of the Properties panel (accessed when there are no design objects currently selected in the design space). While controls are available for adding new snap guides from within this region (from the button), it is far easier to visually add them (from the button) directly in the design space then fine-tune them as required.
Snap Guides can also be placed using commands available from the Place » Work Guides sub-menu.
Snap Guides behave in the same manner as the snap grid. The cursor will snap to a guide as it passes when an object is being moved.
The Guide Manager region of the Properties panel is command central for managing visual placement guides for use in the design space.
These are examples of the various Snap Guides available to assist object placement.
During an interactive process such as placing or moving, the cursor will snap to a placed Linear Guide at the point where that guide intersects a defined grid. Using a Linear Guide, objects can quickly be aligned by dragging them until they 'snap' against the guideline. For a Point Guide, the hotspot for the object being moved will 'snap' to the guide when it passes into close proximity with it.
It can be easier to visually locate a Point Guide when the grid display is set to Dots.
Disabling a Guide
There may be occasions where a snap guide is not needed while placing or moving a particular design object. Rather than deleting the guide (since it may be needed again later in the same or different area of the board), it can be 'hidden' in the design space. This can be achieved by disabling the guide's associated Enabled attribute in the Guide Manager region of the Properties panel.
Disable a snap guide to effectively hide it, therefore preventing objects from snapping to it. In this image, the +45 and -45 guides have
been disabled. As the guides have not been deleted, you can re-enable and use them again when needed without having to redefine
them!
Deleting a Guide
To delete a snap guide, select its entry in the Guide Manager region of the Properties panel then click the button. You will be asked to confirm the deletion. Click Yes to do so.