# pcb-rnd User Manual: Appendix

## Action Reference

\n This is pcb-rnd 2.0.1 (svn r20827) an interactive printed circuit board editor , Revision: 20880
Action | Description | Syntax | Plugin
--- | --- | --- | ---
About | Present the about box | About() | dialogs plugin
AddRats | Add one or more rat lines to the board. | AddRats(AllRats|SelectedRats|Close) |
AddTimer | Add a new timer | AddTimer(action, period, [repeat], [userdata]) | script plugin
ApplyVendor | Applies the currently loaded vendor drill table to the current design. | ApplyVendor() | vendor drill mapping
ArcNew | Create a pcb arc segment on a layer. For now data must be "pcb". Returns the ID of the new object or 0 on error. | ArcNew(data, layer, centx, centy, radiusx, radiusy, start_ang, delta_ang, thickness, clearance, flags) | act_draw
Atomic | Save or restore the undo serial number. | Atomic(Save|Restore|Close|Block) |
Attributes | Let the user edit the attributes of the layout, current or given layer, or selected subcircuit. | Attributes(Layout|Layer|Element|Subc) Attributes(Layer,layername) |
AutoPlaceSelected | Auto-place selected components. | AutoPlaceSelected() | autoplace plugin
AutoRoute | Auto-route some or all rat lines. | AutoRoute(AllRats|SelectedRats) | autoroute plugin
Backup | Backup the current layout - save using the same method that the timed backup function uses | Backup() |
Bell | Attempt to produce audible notification (e.g. beep the speaker). | Bell() | oldactions plugin
BoardFlip | Mirror the board over the x axis, optionally mirroring sides as well. | BoardFlip([sides]) | boardflip plugin
Brave | Changes brave settings. | Brave() Brave(setting, on|off) |
BrowseScripts | Present a dialog box for browsing scripts | BrowseScripts() | script plugin
ChangeAngle | Changes the start angle, delta angle or both angles of an arc. | ChangeAngle(Object, start|delta|both, delta) ChangeAngle(SelectedObjects|Selected, start|delta|both, delta) ChangeAngle(SelectedArcs, start|delta|both, delta) |
ChangeClearSize | Changes the clearance size of objects. | ChangeClearSize(Object, delta|style) ChangeClearSize(SelectedPins|SelectedPads|SelectedVias, delta|style) ChangeClearSize(SelectedLines|SelectedArcs, delta|style) ChangeClearSize(Selected|SelectedObjects, delta|style) |
ChangeDrillSize | Changes the drilling hole size of objects. | ChangeDrillSize(Object, delta|style) ChangeDrillSize(SelectedPins|SelectedVias|Selected|SelectedObjects, delta|style) |
ChangeFlag | Sets or clears flags on objects. | ChangeFlag(Object|Selected|SelectedObjects, flag, value) ChangeFlag(SelectedLines|SelectedPins|SelectedVias, flag, value) ChangeFlag(SelectedPads|SelectedTexts|SelectedNames, flag, value) ChangeFlag(SelectedElements, flag, value) flag = thermal | join value = 0 | 1 |
ChangeHole |  |  | oldactions plugin
ChangeJoin | Changes the join (clearance through polygons) of objects. | ChangeJoin(ToggleObject|SelectedLines|SelectedArcs|Selected) |
ChangeName | Sets the name, text string, terminal ID or refdes of objects. | ChangeName(Object) ChangeName(Refdes) ChangeName(Layout|Layer) |
ChangeNonetlist | Changes the nonetlist flag of subcircuits. | ChangeNonetlist(ToggleObject) ChangeNonetlist(SelectedElements) ChangeNonetlist(Selected|SelectedObjects) |
ChangeOctagon |  |  | oldactions plugin
ChangePaste |  |  | oldactions plugin
ChangePinName | Sets the name of a specific pin on a specific subcircuit. | ChangePinName(Refdes,PinNumber,PinName) |
ChangeRadius | Changes the width or height (radius) of an arc. | ChangeRadius(Object, width|x|height|y|both, delta) ChangeRadius(SelectedObjects|Selected, width|x|height|y|both, delta) ChangeRadius(SelectedArcs, width|x|height|y|both, delta) |
ChangeSize | Changes the size of objects. | ChangeSize(Object, delta|style) ChangeSize(SelectedObjects|Selected, delta|style) ChangeSize(SelectedLines|SelectedPins|SelectedVias, delta|style) ChangeSize(SelectedPads|SelectedTexts|SelectedNames, delta|style) ChangeSize(SelectedElements, delta|style) |
ChangeSizes | Changes all sizes of objects. | ChangeSizes(Object, delta|style) ChangeSizes(SelectedObjects|Selected, delta|style) ChangeSizes(SelectedLines|SelectedPins|SelectedVias, delta|style) ChangeSizes(SelectedPads|SelectedTexts|SelectedNames, delta|style) ChangeSizes(SelectedElements, delta|style) |
ChangeSquare |  |  | oldactions plugin
ChkBuffer | Return 1 if currently selected buffer's index matches idx | ChkBuffer(idx) |
ChkGridSize | Return 1 if the currently selected grid matches the expected_size. If argument is "none" return 1 if there is no grid. | ChkGridSize(expected_size) ChkGridSize(none) |
ChkGridUnits | Return 1 if currently selected grid unit matches the expected (normally mm or mil) | ChkGridUnits(expected) |
ChkLayer | Returns 1 if the specified layer is the active layer | ChkLayer(layerid) |
ChkMode | Return 1 if the currently selected mode is the expected_mode | ChkMode(expected_mode) |
ChkRst | Return 1 if route_style_id matches pen. | ChkRst(route_style_id) |
ChkSubcID | Return 1 if currently shown subc ID matches the requested pattern | ChkSubcID(pattern) |
ChkView | Return 1 if layerid is visible. | ChkView(layerid) |
ClearOctagon |  |  | oldactions plugin
ClearSquare |  |  | oldactions plugin
ClrFlag | Clears flags on objects. | ClrFlag(Object|Selected|SelectedObjects, flag) ClrFlag(SelectedLines|SelectedPins|SelectedVias, flag) ClrFlag(SelectedPads|SelectedTexts|SelectedNames, flag) ClrFlag(SelectedElements, flag) flag = thermal | join |
Connection | Searches connections of the object at the cursor position. | Connection(Find|ResetLinesAndPolygons|ResetPinsAndVias|Reset) |
CreateMenu | Creates a new menu, popup (only path specified) or submenu (at least path and action are specified) | CreateMenu(path) CreateMenu(path, action, tooltip, cookie) |
CreateText | Create a new text object | CreateText(layer, fontID, X, Y, direction, scale, text) |
Cursor | Move the cursor. | Cursor(Type,DeltaUp,DeltaRight,Units) |
CycleDrag | Cycle through which object is being dragged | CycleDrag() |
DRC | Invoke the DRC check. | DRC() |
Debug | Debug action. | Debug(...) | oldactions plugin
DebugXY | Debug action, with coordinates | DebugXY(...) | oldactions plugin
DelGroup | Remove a layer group; if the first argument is not specified, the current group is removed | DelGroup([@group]) |
Delete | Delete stuff. | Delete(Object|Selected) Delete(AllRats|SelectedRats) |
DeleteRats | Delete rat lines. | DeleteRats(AllRats|Selected|SelectedRats) |
DisableVendor | Disables automatic drill size mapping. | DisableVendor() | oldactions plugin
DisperseElements | Disperses subcircuits. | DisperseElements(All|Selected) |

Display

Several display-related actions.

Display(SubcID, template)
Display(Grid|Redraw|Pinout|PinOrPadName)
Display(CycleClip|CycleCrosshair|ToggleAllDirections|ToggleStartDirection)
Display(ToggleGrid|ToggleRubberBandMode|ToggleUniqueNames)
Display(ToggleName|ToggleClearLine|ToggleFullPoly|ToggleSnapPin)
Display(ToggleSnapOffGridLine|ToggleHighlightOnPoint|ToggleCheckPlanes)
Display(ToggleThindraw|ToggleThindrawPoly|ToggleOrthoMove|ToggleLocalRef)
Display(ToggleLiveRoute|ToggleShowDRC|ToggleAutoDRC|LockNames|OnlyNames)

DumpActions | Dump all actions available. | DumpActions() |
DumpCsect | Print the cross-section of the board (layer stack) | DumpCsect() | draw_csect
DumpLibrary | Display the entire contents of the libraries. | DumpLibrary() | oldactions plugin
DumpObjFlags | Print a script processable digest of all flags, per object type | DumpObjFlags() |
DumpPluginDirs | Print plugins directories in a format digestable by scripts. | DumpPluginDirs() |
DumpPlugins | Print plugins loaded in a format digestable by scripts. | DumpPlugins() |
DupGroup | Duplicate a layer group; if the first argument is not specified, the current group is duplicated | DupGroup([@group]) |
EditGroup | Change a property or attribute of a layer group. If the first argument starts with @, it is taken as the group name to manipulate, else the action uses the current layer's group. Without arguments or if only a layer name is specified, interactive runs editing. | Editgroup([@group], [name=text|type=+bit|type=-bit])] Editlayer([@layer], attrib, key=value) |
EditLayer | Change a property or attribute of a layer. If the first argument starts with @, it is taken as the layer name to manipulate, else the action uses the current layer. Without arguments or if only a layer name is specified, interactive runs editing. | Editlayer([@layer], [name=text|auto=[0|1]|sub=[0|1])] Editlayer([@layer], attrib, key=value) |
ElementList | Adds the given element if it doesn't already exist. | ElementList(Start|Done|Need,<refdes>,<footprint>,<value>) |
ElementSetAttr | Sets or clears an element-specific attribute. | ElementSetAttr(refdes,name[,value]) |
EnableVendor | Enables automatic drill size mapping. | EnableVendor() | oldactions plugin
EvalConf | Perform various operations on the configuration tree. | EvalConf(path) - evaluate a config path in different config sources to figure how it ended up in the native database | diag plugin
ExecCommand | Run shell command | System(shell_cmd) |
ExecuteFile | Run actions from the given file. | ExecuteFile(filename) |
ExpFeatTmp | Experimental Feature Template. | ExpFeatTmp(...) | experimental features plugin
Export | Export the current layout, e.g. Export(png, --dpi, 600) | Export(exporter, [exporter-args]) |
ExportGUI | Open the export dialog. | ExportGUI() | dialogs plugin
ExportScadPoly | exports all selected polygons to an openscad script; only the outmost contour of each poly is exported | ScadExportPoly(filename) | openscad HID
ExportcpcbTo | Dumps the current board in c-pcb format. | ExportcpcbTo(filename) | cpcb plugin
FlagEdit | Change the layer binding. | FlagEdit(object) | dialogs plugin
Flip | Flip a subcircuit to the opposite side of the board. | Flip(Object|Selected) |
FontEdit | Convert the current font to a PCB for editing. | FontEdit() | fontmode plugin
FontSave | Convert the current PCB back to a font. | FontSave() | fontmode plugin
FreeRotateBuffer | Rotates the current paste buffer contents by the specified angle. The angle is given in degrees. If no angle is given, the user is prompted for one. | FreeRotateBuffer([Angle]) |
FullScreen | Hide widgets to get edit area full screen | FullScreen(on|off|toggle) |
GetStyle | Return integer index (>=0) of the currently active style or -1 if no style is selected (== custom style) | GetStyle() |
GetValue | Convert a coordinate value. Returns an unitless double or FGW_ERR_ARG_CONV. The 3rd parameter controls whether to require relative coordinates (+- prefix). Wraps pcb_get_value_ex(). | GetValue(input, units, relative, default_unit) | act_draw
GetXY | Get a coordinate. | GetXY() |
GlobalPuller | Pull all traces tight. | pcb_act_GlobalPuller([Found|Selected]) | puller plugin
Grid | Set the grid. | grid(set, [name:]size[@offs][!unit]) grid(+|up) grid(-|down) grid(#N) grid(idx, N) |
GroupPropGui | Change group flags and properties | GroupPropGui(groupid) | dialogs plugin
Import | Import schematics. | Import() Import([gnetlist|make[,source,source,...]]) Import(setnewpoint[,(mark|center|X,Y)]) Import(setdisperse,D,units) | import_sch plugin
ImportcpcbFrom | Loads the auto-routed tracks from the specified c-pcb output. | ImportcpcbFrom(filename) | cpcb plugin
LayerBinding | Change the layer binding. | LayerBinding(object) LayerBinding(selected) LayerBinding(buffer) | dialogs plugin
LayerPropGui | Change layer flags and properties | LayerPropGui(layerid) | dialogs plugin
LibraryChanged | Tells the GUI that the libraries have changed. | LibraryChanged() | oldactions plugin
LineNew | Create a pcb line segment on a layer. For now data must be "pcb". Returns the ID of the new object or 0 on error. | LineNew(data, layer, X1, Y1, X2, Y2, Thickness, Clearance, Flags) | act_draw
ListRotations |  |  | oldactions plugin
ListScripts | List fungw scripts, optionally filtered wiht regex pat. | ListScripts([pat]) | script plugin
LoadDsnFrom | Loads the specified routed dsn file. | LoadDsnFrom(filename) | dsn importer
LoadEeschemaFrom | Loads the specified eeschema .net file - the netlist must be an s-expression. | LoadEeschemaFrom(filename) | kicad plugin
LoadFontFrom | Load PCB font from a file | LoadFontFrom([file, id]) |
LoadFootprint | Loads a single footprint by name. | pcb_load_footprint(filename[,refdes,value]) |
LoadFpcbnlFrom | Loads the specified freepcb netlist. | LoadFpcbnlFrom(filename) | fpcb_nl importer
LoadFrom | Load layout data from a file. | LoadFrom(Layout|LayoutToBuffer|SubcToBuffer|Netlist|Revert,filename[,format]) |
LoadHpglFrom | Loads the specified hpgl plot file to the current buffer | LoadHpglFrom(filename) | hpgl importer
LoadIpc356From | Loads the specified IPC356-D netlist | LoadIpc356From(filename, [nonet], [nopad], [nosubc]) | ipcd356 importer
LoadLtspiceFrom | Loads the specified ltspice .net and .asc file - the netlist must be mentor netlist. | LoadLtspiceFrom(filename) | ltspice importer
LoadMentorFrom | Loads the specified Mentor Graphics Design Capture schematics flat .edf file. | LoadMentorFrom(filename) | mentor_sch importer
LoadMucsFrom | Loads the specified mucs routing file. | LoadMucsFrom(filename) | mucs importer
LoadScript | Load a fungw script | LoadScript(id, filename, [language]) | script plugin
LoadTedaxFrom | Loads the specified block from a tedax file. Type can be: netlist or footprint. | LoadTedaxFrom(netlist|footprint, filename) | tEDAx IO
LoadTinycadFrom | Loads the specified tinycad .net file - the netlist must be tinycad netlist output. | LoadTinycadFrom(filename) | tinycad importer
LoadTtfGlyphs | Loads glyphs from an outline ttf in the specified source range, optionally remapping them to dstchars range in the pcb-rnd font | LoadTtfGlyphs(filename, srcglyps, [dstchars]) | ttf importer
LoadVendorFrom | Loads the specified vendor lihata file. | LoadVendorFrom(filename) | vendor drill mapping
LoadhypFrom | Loads the specified Hyperlynx file. | LoadhypFrom(filename[, "debug"]...) | hyp importer
ManagePlugins | Manage plugins dialog. | ManagePlugins() |
MarkCrosshair | Set/Reset the pcb_crosshair mark. | MarkCrosshair() MarkCrosshair(Center) |
Message | Writes a message to the log window. | message(message) |
MinClearGap | Ensures that polygons are a minimum distance from objects. | MinClearGap(delta) MinClearGap(Selected, delta) |
MinMaskGap |  |  | oldactions plugin
Mode | Change or use the tool mode. | Mode(Arc|Arrow|Copy|InsertPoint|Line|Lock|Move|None|PasteBuffer) Mode(Polygon|Rectangle|Remove|Rotate|Text|Thermal|Via) Mode(Notify|Release|Cancel|Stroke) Mode(Save|Restore) |
MorphPolygon | Converts dead polygon islands into separate polygons. | pcb_poly_morph(Object|Selected) |
MoveLayer | Moves/Creates/Deletes Layers. | MoveLayer(old,new) MoveLayer(lid,group,gid) |
MoveObject | Moves the object under the crosshair. | pcb_move_obj(X,Y,[units]) |
MoveToCurrentLayer | Moves objects to the current layer. | MoveToCurrentLayer(Object|SelectedObjects) |
NetlistChanged | Tells the GUI that the netlist has changed. | NetlistChanged() | oldactions plugin
New | Starts a new layout. | New([name]) |
NewGroup | Create a new layer group with a single, positive drawn layer in it | NewGroup(type [,location [, purpose[, auto|sub]]]) |
Normalize | Move all objects within the drawing area, align the drawing to 0;0 | Normalize() |
Oneliner | Execute a script one-liner using a specific language | Oneliner(lang, script) | script plugin
OptAutoOnly | Toggles the optimize-only-autorouted flag. | OptAutoOnly() | oldactions plugin
PCBChanged | Tells the GUI that the whole PCB has changed. The optional "revert"parameter can be used as a hint to the GUI that the same design is beingreloaded, and that it might keep some viewport settings | PCBChanged([revert]) | oldactions plugin
PadstackBreakup | Break up a padstack into one non-padstack object per layer type (the hole is ignored) | PadstackBreakup(buffer|selected|objet) |
PadstackConvert | Convert selection or current buffer to padstack | PadstackConvert(buffer|selected, [originx, originy]) |
PadstackEdit | interactive pad stack editor | PadstackEdit(object, [tab]) | dialogs plugin
PadstackPlace | Place a pad stack (either proto_id, or if not specified, the default for style) | PadstackPlace([proto_id|default], [x, y]) |
PasteBuffer | Various operations on the paste buffer. | PasteBuffer(AddSelected|Clear|1..PCB_MAX_BUFFER) PasteBuffer(Rotate, 1..3) PasteBuffer(Convert|Restore|Mirror) PasteBuffer(ToLayout, X, Y, units) PasteBuffer(ToLayout, crosshair) PasteBuffer(Save, Filename, [format], [force]) PasteBuffer(Push) PasteBuffer(Pop) |
Pinout2 | Present the subcircuit pinout box | Pinout() | dialogs plugin
PolyCombine |  |  | polycombine plugin
PolyHatch | hatch the selected polygon(s) with lines of the current style; lines are drawn on the current layer; flags are h:horizontal, v:vertical, c:contour, p:poly | PolyHatch([spacing], [hvcp]) PolyHatch(interactive) | lib_polyhelp
PolyNew | Create an empty polygon. For now data must be "pcb". Use PolyNewPoint to add points. Returns a polygon pointer valid until PolyNewEnd() is called. | PolyNew(data, layer, ptlist, clearance, flags) | act_draw
PolyNewEnd | Close and place a polygon started by PolyNew. Returns the ID of the new object or 0 on error. | PolyNewEnd(data, layer, poly) | act_draw
PolyNewFromPoints | Create a polygon. For now data must be "pcb". ptlist is a comma separated list of coordinates (untiless coordinates are treated as mm). Returns the ID of the new object or 0 on error. | PolyNewFromRectangle(data, layer, ptlist, clearance, flags) | act_draw
PolyNewFromRectangle | Create a rectangular polygon. For now data must be "pcb". Returns the ID of the new object or 0 on error. | PolyNewFromRectangle(data, layer, x1, y1, x2, y2, clearance, flags) | act_draw
PolyNewPoints | Add a list of points to a polygon created by PolyNew. Returns 0 on success. | PolyNewPoints(poly, ptlist) | act_draw
PolyOffs | replicate the outer contour of the selected polygon(s) with growing or shrinking them by offset; the new polygon is drawn on the current layer | PolyOffs(offset) | lib_polyhelp
PolyStitch |  |  | polystitch plugin
Polygon | Some polygon related stuff. | Polygon(Close|CloseHole|PreviousPoint) |
Preferences | Present the preferences dialog, optionally opening the tab requested. | Preferences([tabname]) | dialogs plugin
PrintActions | Print all actions available. | PrintActions() |
PrintCalibrate | Calibrate the printer. | PrintCalibrate() |
PrintCopyright | Print copyright notice. | PrintCopyright() |
PrintFiles | Print files currently loaded. | PrintFiles() |
PrintPaths | Print full paths and search paths. | PrintPaths() |
PrintUsage | Print command line arguments of pcb-rnd or a plugin loaded. | PrintUsage() PrintUsage(plugin) |
PrintVersion | Print version. | PrintVersion() |
PromptFor | Prompt for a response. | PromptFor([message[,default]]) |
PstkNew | Create a padstack. For now data must be "pcb". glob_clearance=0 turns off global clearance. Returns the ID of the new object or 0 on error. | PstkNew(data, protoID, x, y, glob_clearance, flags) | act_draw
Puller | Pull an arc-line junction tight. | pcb_act_Puller() | puller plugin
Quit | Quits the application after confirming. | Quit() |
Redo | Redo recent "undo" operations. | redo() |
ReloadScript | Reload a fungw script | ReloadScript(id) | script plugin
RemoveMenu | Recursively removes a new menu, popup (only path specified) or submenu. | RemoveMenu(path|cookie) |
RemoveSelected | Removes any selected objects. | pcb_remove_selected() |
Renumber | Renumber all subcircuits. The changes will be recorded to filename for use in backannotating these changes to the schematic. | Renumber() Renumber(filename) | renumber plugin
RenumberBlock | TODO | RenumberBlock(old_base,new_base) | renumber plugin
RenumberBuffer | TODO | RenumberBlock(old_base,new_base) | renumber plugin
ReplaceFootprint | Replace the footprint of the selected components with the footprint specified. | ReplaceFootprint() |
Report | Produce various report. | Report(Object|DrillReport|FoundPins|NetLength|NetLengthTo|AllNetLengths|[,name]) | report plugin
ReportObject | Report on the object under the crosshair | ReportObject() | report plugin
RipUp | Ripup auto-routed tracks | RipUp(All|Selected|Element) |
Rotate90 | Rotates the object under the crosshair by 90 degree steps. | pcb_move_obj(steps) |
RouteStyle | Copies the indicated routing style into the current pen. | RouteStyle(style_id|style_name) |
RouteStylesChanged | Tells the GUI that the routing styles have changed. | RouteStylesChanged() | oldactions plugin
SaveFontTo | Save PCB font to a file | SaveFontTo([file, id]) |
SavePatch | Save netlist patch for back annotation. | SavePatch(filename) |
SaveTedax | Saves the specific type of data in a tEDAx file. Type can be: board-footprints | SaveTedax(board-footprints, filename) | tEDAx IO
SaveTo | Saves data to a file. | SaveTo(Layout|LayoutAs,filename,[fmt]) SaveTo(AllConnections|AllUnusedPins|ElementConnections,filename) SaveTo(PasteBuffer,filename,[fmt]) |
ScaleBuffer | Scales the buffer by multiplying all coordinates by a floating point number. If only x is given, it is also used for y and thickness too. If subc is not empty, subcircuits are also scaled | ScaleBuffer(x [,y [,thickness [,subc]]]) |
ScriptCookie | Return a cookie specific to the current script instance during script initialization | ScriptCookie() | script plugin
ScriptPersistency | Read or remove script persistency data savd on preunload | ScriptPersistency(read|remove) | script plugin
Select | Toggles or sets the selection. | Select(Object|ToggleObject) Select(All|Block|Connection) Select(Convert) |
SelectLayer | Select which layer is the current layer. | SelectLayer(1..MAXLAYER|Silk|Rats) |
SetFlag | Sets flags on objects. | SetFlag(Object|Selected|SelectedObjects, flag) SetFlag(SelectedLines|SelectedPins|SelectedVias, flag) SetFlag(SelectedPads|SelectedTexts|SelectedNames, flag) SetFlag(SelectedElements, flag) flag = thermal | join |
SetOctagon |  |  | oldactions plugin
SetSame | Sets current layer and sizes to match indicated item. | SetSame() |
SetSquare |  |  | oldactions plugin

SetThermal

Set the thermal (on the current layer) of padstacks to the given style.
Style = 0 means no thermal.
Style = 1 has diagonal fingers with sharp edges.
Style = 2 has horizontal and vertical fingers with sharp edges.
Style = 3 is a solid connection to the plane.
Style = 4 has diagonal fingers with rounded edges.
Style = 5 has horizontal and vertical fingers with rounded edges.

SetThermal(Object|SelectedPins|SelectedVias|Selected, Style)

SetUnits | Set the default measurement units. | SetUnits(mm|mil) |
SetValue | Change various board-wide values and sizes. | SetValue(Grid|Line|LineSize|Text|TextScale, delta) |
SwitchHID | Switch to another HID. | SwitchHID(lesstif|gtk|batch) |
System | Run shell command | System(shell_cmd) |
Teardrops |  |  | teardrops plugin
TextNew | Create a pcb text on a layer. For now data must be "pcb". Font id 0 is the default font. Thickness 0 means default, calculated thickness. Scale=100 is the original font size. Returns the ID of the new object or 0 on error. | TextNew(data, layer, x, y, rot, scale, thickness, test_string, flags) | act_draw
ToPoly | convert a closed loop of lines and arcs into a polygon | ToPoly() ToPoly(outline) | lib_polyhelp
ToggleHideName |  |  | oldactions plugin
ToggleVendor | Toggles the state of automatic drill size mapping. | ToggleVendor() | oldactions plugin
ToggleView | Toggle the visibility of the specified layer or layer group. | ToggleView(1..MAXLAYER) ToggleView(layername) ToggleView(Silk|Rats|Pins|Vias|BackSide) ToggleView(All, Open|Vis, Set|Clear|Toggle) |
Undo | Undo recent changes. | undo() undo(ClearList) |
UndoDialog | Open the undo dialog. | UndoDialog() | dialogs plugin
UnloadScript | Unload a fungw script | UnloadScript(id) | script plugin
UnloadVendor | Unloads the current vendor drill mapping table. | UnloadVendor() | vendor drill mapping
Unselect | Unselects the object at the pointer location or the specified objects. | Unselect(All|Block|Connection) |
acompnet | Attempt to auto-complete the current network | acompnet() | acompnet plugin
align | Align subcircuits | Align(X/Y, [Lefts/Rights/Tops/Bottoms/Centers/Marks, [First/Last/pcb_crosshair/Average[, Gridless]]]) | distalign plugin
aligntext | Align Text Elements | AlignText(X/Y, [Lefts/Rights/Tops/Bottoms/Centers, [First/Last/pcb_crosshair/Average[, Gridless]]]) | distaligntext plugin
asm | Interactive assembly assistant | asm() | asm plugin
autocrop | Autocrops the board dimensions to (extants + a margin of 1 grid), keeping the move and board size grid aligned | autocrop() | autocrop plugin
awk | Execute a script one-liner using a specific language | Oneliner(lang, script) | script plugin
cam | Export jobs for feeding cam processes | cam(exec, script) cam(call, jobname) | cam exporter
circle | Generate a filled circle (zero length round cap line) | circle([where,] diameter) | shape plugin

conf

Perform various operations on the configuration tree.

conf(set, path, value, [role], [policy]) - change a config setting to an absolute value
conf(delta, path, value, [role], [policy]) - change a config setting by a delta value (numerics-only)
conf(toggle, path, [role]) - invert boolean value of a flag; if no role given, overwrite the highest prio config
conf(reset, role) - reset the in-memory lihata of a role
conf(iseq, path, value) - returns whether the value of a conf item matches value (for menu checked's)

constraint | Configure or remove a drawing constraint | constraint(type, off) constraint(type, value, [value...]) | ddraft plugin
cpcb | Executed external autorouter cpcb to route the board or parts of the board | cpcb(board|selected, [command]) | cpcb plugin
d1 | debug action for development | d1() | diag plugin

dad

Manipulate Dynamic Attribute Dialogs

dad(dlgname, new) - create new dialog
dad(dlgname, label, text) - append a label widget
dad(dlgname, button, text) - append a button widget
dad(dlgname, enum, choices) - append an enum (combo box) widget; choices is a tab separated list
dad(dlgname, bool, [label]) - append an checkbox widget (default off)
dad(dlgname, integer|real|coord, min, max, [label]) - append an input field
dad(dlgname, string) - append a single line text input field
dad(dlgname, progress) - append a progress bar (set to 0)
dad(dlgname, tree, cols, istree, [header]) - append tree-table widget; header is like enum values
dad(dlgname, tree_append, row, cells) - append after row (0 means last item of the root); cells is like enum values; returns a row pointer
dad(dlgname, tree_append_under, row, cells) - append at the end of the list under row (0 means last item of the root); cells is like enum values; returns a row pointer
dad(dlgname, tree_insert, row, cells) - insert before row (0 means first item of the root); cells is like enum values; returns a row pointer
dad(dlgname, begin_hbox) - begin horizontal box
dad(dlgname, begin_vbox) - begin vertical box
dad(dlgname, begin_hpane) - begin horizontal paned box
dad(dlgname, begin_vpane) - begin vertical paned box
dad(dlgname, begin_table, cols) - begin table layout box
dad(dlgname, begin_tabbed, tabnames) - begin a view with tabs; tabnames are like choices in an enum; must have as many children widgets as many names it has
dad(dlgname, end) - end the last begin
dad(dlgname, flags, flg1, flg2, ...) - change the flags of the last created widget
dad(dlgname, onchange, action) - set the action to be called on widget change
dad(dlgname, run, longname, shortname) - present dlgname as a non-modal dialog
dad(dlgname, run_modal, longname, shortname) - present dlgname as a modal dialog
dad(dlgname, exists) - returns wheter the named dialog exists (0 or 1)
dad(dlgname, set, widgetID, val) - changes the value of a widget in a running dialog
dad(dlgname, get, widgetID, [unit]) - return the current value of a widget

dialogs plugin

ddraft | Enter 2d drafting CLI mode or execute command | ddraft([command]) | ddraft plugin
distribute | Distribute subcircuits | Distribute(X/Y, [Lefts/Rights/Tops/Bottoms/Centers/Marks/Gaps, [First/Last/pcb_crosshair, First/Last/pcb_crosshair[, Gridless]]]) | distalign plugin
distributetext | Distribute Text Elements | DistributeText(Y, [Lefts/Rights/Tops/Bottoms/Centers/Gaps, [First/Last/pcb_crosshair, First/Last/pcb_crosshair[, Gridless]]]) | distaligntext plugin
djopt | Perform various optimizations on the current board. | djopt(debumpify|unjaggy|simple|vianudge|viatrim|orthopull) djopt(auto) - all of the above djopt(miter) | djopt
dlg_test | test the attribute dialog | dlg_test() | dialogs plugin
dumpconf | Perform various operations on the configuration tree. | dumpconf(native, [verbose], [prefix]) - dump the native (binary) config tree to stdout dumpconf(lihata, role, [prefix]) - dump in-memory lihata representation of a config tree | diag plugin
dumpdata | Dump an aspect of the data | dumpdata() | diag plugin
dumpflags | dump flags, optionally using the format string provided by the user | dumpflags([fmt]) | diag plugin
dumpfonts | Print info about fonts | dumpfonts() | diag plugin
dumplayers | Print info about each layer | dumplayers([all]) | diag plugin
dumpundo | Print info about fonts | dumpfonts() | diag plugin
estutter | Execute a script one-liner using a specific language | Oneliner(lang, script) | script plugin
extedit | extedit(object|selected, [interactive|method]) | Invoke an external program to edit a specific part of the current board. | extedit plugin
forcecolor | change selected objects' color to #RRGGBB, reset if does not start with '#' | forcecolor(#RRGGBB) | diag plugin
fp_rehash | Flush the library index; rescan all library search paths and rebuild the library index. Useful if there are changes in the library during a pcb-rnd session. | fp_rehash() |
gpmi_scripts | Manage gpmi scripts | TODO | GPMI plugin cookie
h | Print a help message for commands. | h | shand_cmd plugin
integrity | perform integrirty check on the current board and generate errors if needed | integrity() | diag plugin
javascript | Execute a script one-liner using a specific language | Oneliner(lang, script) | script plugin
jostle | Make room by moving wires away. | Jostle(diameter) | jostle plugin
js | Execute a script one-liner using a specific language | Oneliner(lang, script) | script plugin
l | Loads layout data. | l [name] [format] | shand_cmd plugin
le | Loads an element (subcircuit, footprint) into the current buffer. | le [name] | shand_cmd plugin
lua | Execute a script one-liner using a specific language | Oneliner(lang, script) | script plugin
m | Loads a layout into the current buffer. | m [name] | shand_cmd plugin
mawk | Execute a script one-liner using a specific language | Oneliner(lang, script) | script plugin
mesh | generate a mesh for simulation | mesh() | openems HID
mill | Calculate toolpath for milling away copper | mill() | millpath plugin
mruby | Execute a script one-liner using a specific language | Oneliner(lang, script) | script plugin
net | Perform various actions on netlists. | Net(find|select|rats|norats|clear[,net[,pin]]) Net(freeze|thaw|forcethaw) Net(swap) Net(add,net,pin) |
netlist | Perform various actions on netlists. | Net(find|select|rats|norats|clear[,net[,pin]]) Net(freeze|thaw|forcethaw) Net(swap) Net(add,net,pin) |
paral | Draw a line perpendicular to another line | perp() | ddraft plugin
perl | Execute a script one-liner using a specific language | Oneliner(lang, script) | script plugin
perp | Draw a line perpendicular to another line | perp() | ddraft plugin
propedit | Run the property editor | propedit() | propedit
propset | Change the named property of all selected objects to/by value | propset(name, value) | propedit
pscalib |  |  | ps HID
pstklib | Present the padstack library dialog on board padstacks or the padstacks of a subcircuit | pstklib([board|subcid|object]) | dialogs plugin
py | Execute a script one-liner using a specific language | Oneliner(lang, script) | script plugin
python | Execute a script one-liner using a specific language | Oneliner(lang, script) | script plugin
q! | Quits the application without confirming. | q! | shand_cmd plugin
q | Quits the application after confirming. | q | shand_cmd plugin
query | Perform various queries on PCB data. | query(dump, expr) - dry run: compile and dump an expression |
regpoly | Generate regular polygon. Where is x;y and radius is either r or rx;ry. Rotation is in degrees. | regpoly([where,] corners, radius [,rotation]) | shape plugin
rehash | Reload all gpmi scripts | TODO | GPMI plugin cookie
rn | Reads netlist. | rn [name] | shand_cmd plugin
roundrect | Generate a rectangle with round corners | roundrect([where,] width[;height] [,rx[;ry] [,rotation]]) | shape plugin
ruby | Execute a script one-liner using a specific language | Oneliner(lang, script) | script plugin
s | Saves layout data. | s [name] w [name] | shand_cmd plugin
shape | Interactive shape generator. | shape() | shape plugin
skline | Tool for drawing sketch lines | skline() | sketch_route plugin
skretriangulate | Reconstruct CDT on all layer groups | skretriangulate() | sketch_route plugin
sktransform | Transform sketch to geometrical wiring | sktransform(rect|oct|alldir) | sketch_route plugin
smartdisperse | Disperse subcircuits into clusters, by netlist connections | SmartDisperse([All|Selected]) | smartdisperse plugin
split | Use one or more objects as cutting edge and trim or split other objects. First argument is the cutting edge | trim([selected|found|object], [selected|found|object]) split([selected|found|object], [selected|found|object]) | ddraft plugin
stroke | Various gesture recognition related functions | stroke(gesture, seq) | stroke plugin
stt | Execute a script one-liner using a specific language | Oneliner(lang, script) | script plugin
subc | Various operations on subc | subc(hash, [board|selected]) subc(loose, on|off|toggle|check) |
tang | Draw a line to be tangential to a circle | tang() | ddraft plugin
tcl | Execute a script one-liner using a specific language | Oneliner(lang, script) | script plugin
trim | Use one or more objects as cutting edge and trim or split other objects. First argument is the cutting edge | trim([selected|found|object], [selected|found|object]) split([selected|found|object], [selected|found|object]) | ddraft plugin
w | Saves layout data. | s [name] w [name] | shand_cmd plugin
wq | Saves the layout data and quits. | wq | shand_cmd plugin