More information on PCB you can find in the PCB Command reference
(refcard.pdf
) containing description of all PCB shortcuts
and in the PCB Manual (pcb.pdf
or pcb.html
)
residing in the doc/
directory of your PCB installation
(its path may vary on various systems).
Key | Mnemonic | Description |
---|---|---|
Esc | select | enter select mode (same as Space, or F11) |
Esc | end of action | terminate the current action, e.g. stop drawing tracks |
Insert | insert point | enter insert point mode. Click and drag on track to insert a point |
Return | click | same as a click on the left mouse button |
Space | select | enter select mode (same as Esc, or F11) |
Tab | flip up/down | view: vertical flip |
Shift+Tab | flip left/right | view: horizontal flip |
Ctrl+Shift+Tab | far side | view: exchange the roles of front side and far side |
Del | delete | delete object under the mouse cursor |
Shift+Del | del-sel | delete objects in selection |
Backspace | del-sel | delete objects in selection |
Shift+Backspace | del-copper | deletes connected copper under the cursor. Rats are considered a connection. |
| | thin-draw | toggles thin draw mode |
A | set same | read the parameters to use for new objects from the object below the cursor. |
Alt+A | select-all | select all objects on active layers. Deactivated layers are ignored. |
Shift+Alt+A | unselect | clear selection |
B | to other side | flip object to the other side of the board |
C | center | view: center display at cursor position |
Ctrl+C | copy to buffer | copy selection to buffer and unselect |
D | display name | display pin or pad name |
Shift+D | pinout dialog | open pinout window for element under mouse cursor |
E | eliminate rats | delete all rats |
Shift+E | eliminate some rats | delete selected rats |
F | find | highlight connections to object under mouse cursor. This includes rats and objects on invisible layers |
Ctrl+F | add to found | add connections to object under mouse cursor to the set of found objects |
Shift+F | un-find | un-highlight found connections |
G | incr grid mil | increment grid by configured imperial increment |
Shift+G | decr grid mil | decrement grid by configured imperial increment |
Ctrl+G | incr grid mm | increment grid by configured metric increment |
Ctrl+Shift+G | decr grid mm | decrement grid by configured metric increment |
H | hide | toggle the visibility of the refdes or value attached to the component under the cursor |
Shift+H | hide sel | toggle the visibility of the refdes or value attached to selected components |
Ctrl+H | holeplate | toggle plating of a via. Used to produce non metalized mounting holes |
J | lineclear | toggle the polygon clear flag of the line under the cursor |
Shift+J | lineclear sel | toggle the polygon clear flag of selected lines |
K | klear | increment clearance (soldermask to copper edge) |
Shift+K | klear (-) | decrement clearance (soldermask to copper edge (NOTE: can go negative!)) |
Ctrl+K | klear sel | increment clearance of selected objects (soldermask to copper edge) |
Shift+Ctrl+K | klear sel (-) | decrement clearance of selected objects (soldermask to copper edge) |
L | increase line | increment width of the line tool, adds to the settings of the current line style |
Shift+L | decrease line | reduce the current linewidth |
M | move to layer | move the object under the cursor to the current layer |
Shift+M | move selection to layer | move selected objects to the current working layer (see pcb tip) |
Ctrl+M | move origin | set the origin to the current position of the mouse pointer |
N | name | show object refdes / pin number at mouse pointer |
Shift+N | next | Select the shortest unselected rat on the board |
O | optimize rats | optimize and redraw all rats |
Shift+O | optimize some rats | optimize and redraw selected nets only |
Ctrl+O | octagon | toggle the octagon flag of the object under the cursor |
Shift+P | polygon close | connect the first point of a polygon with the last |
Q | square toggle | toggle square/round corners on pads |
Shift+R | redo | redo what was undone with undo |
Ctrl+R | report | show object report |
S | size | increment size of the object under the cursor |
Shift+S | size (-) | decrement size of the object under the cursor |
Alt+S | sizehole | increase the hole of the object under the cursor |
Alt+Shift+S | sizehole (-) | decrease the hole of the object under the cursor |
Ctrl+S | sizehole | increase the hole of the object under the cursor |
Ctrl+Shift+S | sizehole (-) | decrease the hole size |
T | text tool size | increase the size of new text by 10 mil |
Shift+T | text tool size (-) | decrease the size of new text by 10 mil |
V | view extents | global view of working area |
Shift+V | via tool dia | increase the diameter of new vias by 5 mil |
Ctrl+V | paste buffer | paste from buffer |
Ctrl+Shift+V | via tool dia (-) | decrease the diameter of new vias by 5 mil |
Alt+V | via tool drill | increase the drill diameter of new vias by 5 mil |
Shift+Alt+V | via tool drill (-) | decrease the drill diameter of new vias by 5 mil |
Ctrl+X | cut to buffer | cut selection to buffer |
Z | zoom | view: zoom in |
Shift+Z | un-zoom | view: zoom out |
F1 | via | enter via tool |
F2 | line | enter line tool |
F3 | arc | enter arc tool |
F4 | text | enter text tool |
F5 | rectangle | enter rectangle tool |
F6 | polygon | enter polygon tool |
F7 | buffer | enter buffer mode |
F8 | delete | enter remove mode |
F9 | rotate | enter rotate mode |
F10 | file menu | file menu |
F11 | select | enter select mode (same as Space, or Esc) |
F12 | lock | enter lock mode |
Key | Mnemonic | Description |
---|---|---|
V | view extents | global view of working area |
C | center | centers view on cursor |
Z | zoom | zoom in |
Shift+Z | un-zoom | zoom out |
| | thin-draw | toggles thin draw mode |
Tab | flip up/down | vertical flip |
Shift+Tab | flip left/right | horizontal flip |
Ctrl+Shift+Tab | far side | exchange the roles of front and far side |
Key | Mnemonic | Description |
---|---|---|
1 to 9 | - | select layers 1 to 9 |
0 | - | select layer 10* |
Alt+1 to Alt+9 | - | select layers 11 to 19* |
Alt+0 | - | select layer 20* |
Ctrl+1 to Ctrl+9 | - | toggle visibility of layers 1 to 9* |
Ctrl+0 | - | toggle visibility of layer 10* |
Ctrl+Alt+1 to Ctrl+Alt+9 | - | toggle visibility of 11 to 19* |
Ctrl+Alt+0 | - | toggle visibility of 20* |
* These accels are available in PCB, GTK GUI in versions after August 2011
The Master document for footprint creation is the PCB Manual.
A pcb footprint file may contain any of the following commands:
Element [element_flags, description, pcb_name, value, mark_x, mark_y, text_x, text_y, text_direction, text_scale, text_flags]
Pad [x1 y1 x2 y2 thickness clearance mask name pad_number flags]
Pin [x y thickness clearance mask drillholedia name number flags]
ElementArc [x y r1 r2 startangle sweepangle thickness]
ElementLine [x1 y1 x2 y2 thickness] –> thickness != 1000 = 10 mils almost for all footprints
#
’-signPCB handles metric and imperial units in the following way:
Element [element_flags, description, pcb_name, value, mark_x, mark_y, text_x, text_y, text_direction, text_scale, text_flags]
Allowed value (unit = 1e-5 inches) | Allowed Value (mm) | explanation | comment | |
---|---|---|---|---|
element_flags | unsigned hex value | |||
description | string | text description of footprint | user-defined | |
pcb_name | string | generic refdes (R?, U? etc.) | user-defined | |
value | string | component value (layout specific) | user-defined (blank) | |
mark_x | “1” to ~ “78740000” | “0.000001mm” to “2000mm” | (x,y) loc. of center mark | |
mark_y | “1” to ~ “78740000” | “0.000001mm” to “2000mm” | ||
text_x | “1” to ~ “78740000” | “0.000001mm” to “2000mm” | (x,y) loc. of REFDES | |
text_y | “1” to ~ “78740000” | “0.000001mm” to “2000mm” | ||
text_direction | decimal integer | 0=horiz; 1=ccw90; 2=180; 3=cw90 | ||
text_scale | decimal integer | usu. set to 100 | ||
text_flags | unsigned hex |
Pad[x1 y1 x2 y2 thickness clearance mask name pad_number flags]
Item | Allowed Value | Explanation | Comment |
---|---|---|---|
x1 | 1/100th mil | x (1st point) | |
y1 | 1/100th mil | y (1st point) | |
x2 | 1/100th mil | x (2nd point) | |
y2 | 1/100th mils | y (2nd point) | |
thickness | 1/100 mils | width of metal surrounding line segment | see Brorson .pdf |
clearance | 1/100 mils | distance to any other copper on any layer | actually 1/2 of this number is used! |
mask | 1/100th mils | width of mask relief | actual width of the mask centered on pad copper |
name | string | name of pad (arb. string) | e.g. "pad_1" or "positive" or any other string |
pad_number | string | pad # | used for nets. it MUST be consistent with the definitions on the netlist. |
flags | hex or string | examples: |
Pin[x y thickness clearance mask drillholedia name number flags]
Item | Allowed Value | Explanation | Comment |
---|---|---|---|
x | 1/100th mils | pin x coord. | |
y | 1/100th mils | pin y coord. | |
thickness | 1/100th mils | copper diameter | |
clearance | 1/100th mils | 2*(cu to cu clearance) | if you want a 10 mil clearance, put 2000 (20 mils) here |
mask | 1/100th mils | diameter of mask aperture | actual dia. of hole in mask |
drillholedia | 1/100th mils | dia. of hole | |
name | string | arb. pin name | |
number | decimal integer | pin number used by nets/rats | |
flags | hex | xxx |
Pad[-24606 14760 -19538 14760 1181 2000 3181 "" "16" "square"]
Pad[-14760 19538 -14760 24606 1181 2000 3181 "" "17" "square,edge2"]
Pin[0 0 12000 2000 12500 6400 "" "1" 0×00000001]
ElementArc [0 0 6800 6800 0 360 1000]
ElementLine [-26696 -26696 26696 -26696 1000]
# notes within PCB Footprints go after the pound sign
:FreeRotateBuffer(degrees) | Rotate buffer arbitrarily | |
:MoveObject(x,y,unit) | Move Absolute (x,y,mil) or Relative(+x,-y,mil) | |
:ChangeClearSize(Selected,<amount>,<unit>) | Clearance Size | |
:ChangeSize(SelectedPins, SIZE) | Pin Size | |
:ChangeSize(SelectedLines,+N,mils) | Line Size | |
:MinClearGap(Selected,<amount>,<unit>) | Clearance Gap |