Index: 09_appendix/action_details.html =================================================================== --- 09_appendix/action_details.html (revision 34885) +++ 09_appendix/action_details.html (revision 34886) @@ -51,59 +51,6 @@ The second argument is temporary and optional, for a workaround of a bug in the old (to be removed) autorouter. If the value of the second argument is "manhattan", non-axis-aligned lines are ignored when looking for rat anchor points. -

AddTimer

-
-

- -
Syntax summary: -AddTimer(action, period, [repeat], [userdata]) -
Help text: -Add a new timer -
Registered by: -script plugin -
-

-This action is intended for scripts to create async timers. - -Note: - - timers do not work with the batch HID (no callback issued ever). -

- Creates a timer that executes an -action - (by name) periodically. -Period - is a real number specified in seconds. Internal timer resolution is in the order of 0.1 second. -

- If -repeat - is not specified or is less than 1, the timer is repeated indefinitely. If the optional -userdata - string is specified, it is also passed to the action. -

- The -action - is specified only by a name, call arguments are always the following: -

- -

- -Action - shall return integer 0 on success. If the action does not exist or returns anything else, the timer is uninstalled. -

- There can be any number of timers in parallel. -

-

AdjustStyle

@@ -176,28 +123,6 @@ For non-subcircuit objects: using Marks is not recommended, using Gridless is recommended.

-

AnyLoad

-
-

- -
Syntax summary: -AnyLoad([path]) -
Help text: -Load "anything" from path (or offer a file selectio dialog if no path specified) -
Registered by:n/a -
-

-Loads an anyload.lht file or any lihata document that can be handled by the anyload system (mostly settings and setting-like states, e.g. config, vendor drill map, DRC and user scripts). -

- When called without arguments a file selection dialog is popped up for selecting the file to load. -

- More info on this mechanism in the - - knowledge pool node of anyload. - - -

-

ApplyPen

@@ -374,20 +299,6 @@

-

Benchmark

-
-

- -
Syntax summary: -Benchmark() -
Help text: -Benchmark the GUI speed. -
Registered by:n/a -
-

-This action is used to speed-test the GUI rendering. It redraws the current screen as many times as possible in ten seconds. It reports the amount of time needed to draw the screen once, in average. -

-

BoardFlip

@@ -410,21 +321,6 @@ To flip the board physically, use BoardFlip(sides)

-

Center

-
-

- -
Syntax summary: -Center() -
Help text: -Moves the pointer to the center of the window. -
Registered by: -lib_hid_common plugin -
-

-Move the pointer to the center of the window, but only if it's currently within the window already. -

-

ChangeClearSize

@@ -762,86 +658,6 @@

-

Cursor

-
-

- -
Syntax summary: -Cursor(Type,DeltaUp,DeltaRight,Units) -
Help text: -Move the cursor. -
Registered by:n/a -
-

-This action moves the mouse cursor. Unlike other actions which take coordinates, this action's coordinates are always relative to the user's view of the board. Thus, a positive -DeltaUp - may move the cursor away from the board origin if the board is inverted (flipped, looked from the bottom). -

- -Type - is one of - -Pan - - or - -Warp - -. - -Pan - - causes the viewport to move such that the crosshair is under the mouse cursor. - -Warp - - causes the mouse cursor to move to be above the crosshair. -

- -Units - can be one of the following: -

- - - - - - - - - - - -
-mil -
-mm -
-The cursor is moved by that amount, in board units. -
-grid - -The cursor is moved by that many grid points. -
-view - -The values are percentages of the viewport's view. Thus, a pan of - -100 - - would scroll the viewport by exactly the width of the current view. -
-board - - The values are percentages of the board size. Thus, a move of - -50,50 - - moves you halfway across the board. -
- -

-

CycleDrag

@@ -1201,80 +1017,6 @@

-

dowindows

-
-

- -
Syntax summary:n/a -
Help text:n/a -
Registered by:n/a -
-

-Argument: -

- - - - - - - - - - - - - - - - - -
- 1 -
- Layout -
- Open the layout window. Since the layout window is always shown anyway, this has no effect. -
- 2 -
- Library -
- Open the library window. -
- 3 -
- Log -
- Open the log window. -
- 4 -
- Netlist -
- Open the netlist window. -
- 5 -
- Preferences -
- Open the preferences window. -
- 6 -
- DRC -
- Open the DRC violations window. -
- 7 -
- Search -
- Open the advanced search window. -
- -

-

DRC

@@ -1560,20 +1302,6 @@ Rotates the contents of the pastebuffer by an arbitrary angle. If no angle is given, the user is prompted for one.

-

GetXY

-
-

- -
Syntax summary: -GetXY([message, [x|y]]) -
Help text: -Get a coordinate. If x or y specified, the return value of the action is the x or y coordinate. -
Registered by:n/a -
-

-Prompts the user for a coordinate, if one is not already selected. -

-

GfxMod

@@ -1770,130 +1498,6 @@ is passed to the footprint loader. If no filename is specified a file select box will popup.

-

ListScripts

-
-

- -
Syntax summary: -ListScripts([pat]) -
Help text: -List fungw scripts, optionally filtered wiht regex pat. -
Registered by: -script plugin -
-

-Print one line in the log for each currently loaded script. If -pat - is specified, filter the list using -pat - as a case sensitive - -extended regex - - on script ID, file name and language (list only scripts that match with any of these fields). -

- -

LiveScript

-
-

- -
Syntax summary: -LiveScript([new], [name]) -LiveScript(load|save, name, [filame]) -LiveScript(run|stop|rerun|undo, name) -
Help text: -Manage a live script -
Registered by: -script plugin -
-

-The first argument determines what operation the action performs and how subsequent arguments are interpreted: -

- - - - - - - - - - - - - - - - - -
- new, [name] - - Create a new live script and open a new live script dialog. - -name - - is an unique live script name that identifies the window. If not specified, "default" is used" -
- load, name, [filename] - - Replace the script source in the LiveScript window identified by - -name - - with the content loaded from a file. If - -filename - - is not specified, open a file selector dialog. -
- save, name, [filename] - - Save the script source in the LiveScript window identified by - -name - - to a file. If - -filename - - is not specified, open a file selector dialog. -
- run, name - - Run the script in the LiveScript window identified by - -name - -. -
- stop, name - - Stop the script in the LiveScript window identified by - -name - -, if ti is running in persistent mode. -
- undo, name - - Undo the "init changes" of the script in the LiveScript window identified by - -name - -. Init changes are those board changes the script has done while running its initialization section. Live script undo is possible only if there was no user edit after the script finished. -
- rerun, name - - Stop, undo and run the script in the LiveScript window identified by - -name - -. -
- -

-

Load

@@ -1984,37 +1588,6 @@

-

LoadScript

-
-

- -
Syntax summary: -LoadScript(id, filename, [language]) -
Help text: -Load a fungw script -
Registered by: -script plugin -
-

- -id - is an arbitrary string assigned by the user. -id - must be unique per pcb-rnd session per script and may contain alphanumeric characters and undescrore. -

- -fn - is the file name of the script, which is a path. Pcb-rnd does not do any search, it only opens the path as specified. -

- -lang - is the scripting language, as in - -fungw plugin name - -. When not specified, the code makes a guess (based on the file name). -

-

LoadTtfGlyphs

@@ -2149,58 +1722,6 @@ argument is given, the mark is moved to the current cursor location.

-

Message

-
-

- -
Syntax summary: -message([ERROR|WARNING|INFO|DEBUG,] message) -
Help text: -Writes a message to the log window. -
Registered by:n/a -
-

-This action displays a message to the log window. This action is primarily provided for use by scripts and external programs which may interface with pcb-rnd. If multiple arguments are given, each one is sent to the log window followed by a newline. -

- If there are 2 or more arguments and the first argument matches, in a case sensitive manner, one of the below keywords, the message is registered on the specified error level. Else the PCB_MSG_INFO error level is used. -

- - - - - - - - - - - - - -
-first argument - -erro level -
-ERROR - - PCB_MSG_ERROR -
-WARNING - - PCB_MSG_WARNING -
-INFO - - PCB_MSG_INFO -
-DEBUG - - PCB_MSG_DEBUG -
- -

-

Mode

@@ -2538,70 +2059,6 @@ If a name is not given, one is prompted for.

-

onliner

-
-

- -
Syntax summary:n/a -
Help text:n/a -
Registered by:n/a -
-

-The -oneliner - action is designed for quick execution of short, trivial scripts, such as a for loop for repeating an action. It supports any scripting language currently availabel through fungw. Each oneliner is an independent script context - variables, functions and other global states do not persist. -

- This group of actions offers three forms: -

- -

- For example, a simple calculation using awk can be done in three ways: -

- -
-

OpenemsExcitation

@@ -2644,21 +2101,6 @@ Note: the code remembers all settings for all excitements, not only the excitement that is currently selected. The selection and all parameters are saved as board attributes.

-

Pan

-
-

- -
Syntax summary: -Pan(Mode) -
Help text: -Start or stop panning (Mode = 1 to start, 0 to stop) -
Registered by: -lib_hid_common plugin -
-

-Start or stop panning. To start call with Mode = 1, to stop call with Mode = 0. -

-

PasteBuffer

@@ -2987,22 +2429,6 @@

-

Print

-
-

- -
Syntax summary: -Print() -
Help text: -Present the print export dialog for printing the layout from the GUI. -
Registered by:n/a -
-

-Open an export dialog listing all printing plugins, prompt the user for their options, and print the layout. -

- Available only with GUI HIDs: it's merely a graphical shorthand that in turn calls the export plugin for printing. -

-

PrintCalibrate

@@ -3022,20 +2448,6 @@

-

PromptFor

-
-

- -
Syntax summary: -PromptFor([message[,default[,title]]]) -
Help text: -Prompt for a string. Returns the string (or NULL on cancel) -
Registered by:n/a -
-

-UI-independent way of asking the user for a string. When GUI is available, it is a dialog box, else it's console input. Return value, unlike with other actions, is a string. The return value is NULL on cancel. -

-

Puller

@@ -3098,27 +2510,6 @@ action allows you to recover from the last undo command. You might want to do this if you thought that undo was going to revert something other than what it actually did (in case you are confused about which operations are un-doable), or if you have been backing up through a long undo list and over-shoot your stopping point. Any change that is made since the undo in question will trim the redo list. For example if you add ten lines, then undo three of them you could use redo to put them back, but if you move a line on the board before performing the redo, you will lose the ability to "redo" the three "undone" lines.

-

ReloadScript

-
-

- -
Syntax summary: -ReloadScript(id) -
Help text: -Reload a fungw script -
Registered by: -script plugin -
-

- -id - is the same that was specified for -loadscript -. If loading the new verison of the script fails, -id - is released (can be reused for a new LoadScript). -

-

RenumberBlock

@@ -3519,103 +2910,6 @@

-

ScriptCookie

-
-

- -
Syntax summary: -ScriptCookie() -
Help text: -Return a cookie specific to the current script instance during script initialization -
Registered by: -script plugin -
-

-The script: -

- -

- The function can not be called outside of script initialization. The cookie string can be used any time between script load and script unload. -

- -

ScriptPersistency

-
-

- -
Syntax summary: -ScriptPersistency(read|remove) -
Help text: -Read or remove script persistency data savd on preunload -
Registered by: -script plugin -
-

-When a script is unloaded, its action -preunload - is called. The return value is saved as script persistent data. When the script is loaded again later, it can use -scriptpersistency -( -read -) to read the data saved. -

- -scriptpersistency -( -remove -) deletes the data from disk. -

- Note: the data is per script id, not per script file name. -

- -

Scroll

-
-

- -
Syntax summary: -Scroll(up|down|left|right, [pixels]) -
Help text: -Scroll the viewport. -
Registered by: -lib_hid_common plugin -
-

-Arguments: -

- - - - - - - -
- up|down|left|right - - Specifies the direction to scroll -
- pix - - Optional. Specifies how many pixels to scroll by. If not specified: default pix is 100. -
- -

-

Select

@@ -3809,36 +3103,6 @@ Padstacks may have thermals whether or not there is a polygon available to connect with. However, they will have no visible effect until a polygon is drawn around the padstack.

-

SetUnits

-
-

- -
Syntax summary: -SetUnits(mm|mil) -
Help text: -Set the default measurement units. -
Registered by:n/a -
-

- - - - - - - -
- mil - - Sets the display units to mils (1/1000 inch). -
- mm - - Sets the display units to millimeters. -
- -

-

SetValue

@@ -3968,111 +3232,6 @@ If you pass a special layer name, the visibility of those components (silk, rats, etc) is toggled. Note that if you have a layer named the same as a special layer, the layer is chosen over the special layer.

-

Tool

-
-

- -
Syntax summary: -Tool(Arc|Arrow|Copy|InsertPoint|Line|Lock|Move|None|PasteBuffer) -Tool(Poly|Rectangle|Remove|Rotate|Text|Thermal|Via) -Tool(Press|Release|Cancel|Stroke) -Tool(Save|Restore) -
Help text: -Change or use the tool mode. -
Registered by:n/a -
-

-Selects the tool or changes tool related global states. -

- - - - - - - - - - - - - - - - - - - -
- Arc -
- Arrow -
- Copy -
- InsertPoint -
- Line -
- Lock -
- Move -
- None -
- PasteBuffer -
- Poly -
- PolyHole -
- Rectangle -
- Remove -
- Rotate -
- Text -
- Thermal -
- Via -
- ... -
- Select the indicated tool. -
- Press - - Called when you press the mouse button, or move the mouse. -
- Release - - Called when you release the mouse button. -
- Cancel - - Cancels any pending tool activity, allowing you to restart elsewhere. For example, this allows you to start a new line rather than attach a line to the previous line. -
- Escape - - Similar to Cancel but calling this action a second time will return to the Arrow tool. -
- Stroke - - If pcb-rnd was built with libstroke, this invokes the stroke input method. If not, this will restart a drawing mode if you were drawing, else it will select objects. -
- Save - - Remembers the current tool. -
- Restore - - Restores the tool to the last saved tool. -
- -

-

Undo

@@ -4122,27 +3281,6 @@

-

UnloadScript

-
-

- -
Syntax summary: -UnloadScript(id) -
Help text: -Unload a fungw script -
Registered by: -script plugin -
-

- -id - is the same that was specified for -loadscript -. After the call -id - is released (can be reused for a new LoadScript). -

-

Unselect

@@ -4347,7 +3485,872 @@

Note that zoom factors of zero are silently ignored.

+

librnd actions (common to Ringdove)

+ + +

AddTimer

+
+

+ +
Syntax summary: +AddTimer(action, period, [repeat], [userdata]) +
Help text: +Add a new timer +
Registered by: +script plugin +
+

+This action is intended for scripts to create async timers. + +Note: + + timers do not work with the batch HID (no callback issued ever). +

+ Creates a timer that executes an +action + (by name) periodically. +Period + is a real number specified in seconds. Internal timer resolution is in the order of 0.1 second. +

+ If +repeat + is not specified or is less than 1, the timer is repeated indefinitely. If the optional +userdata + string is specified, it is also passed to the action. +

+ The +action + is specified only by a name, call arguments are always the following: +

+ +

+ +Action + shall return integer 0 on success. If the action does not exist or returns anything else, the timer is uninstalled. +

+ There can be any number of timers in parallel. +

+ +

AnyLoad

+
+

+ +
Syntax summary: +AnyLoad([path]) +
Help text: +Load "anything" from path (or offer a file selectio dialog if no path specified) +
Registered by:n/a +
+

+Loads an anyload.lht file or any lihata document that can be handled by the anyload system (mostly settings and setting-like states, e.g. config, vendor drill map, DRC and user scripts). +

+ When called without arguments a file selection dialog is popped up for selecting the file to load. +

+ More info on this mechanism in the + + knowledge pool node of anyload. + + +

+ +

Benchmark

+
+

+ +
Syntax summary: +Benchmark() +
Help text: +Benchmark the GUI speed. +
Registered by:n/a +
+

+This action is used to speed-test the GUI rendering. It redraws the current screen as many times as possible in ten seconds. It reports the amount of time needed to draw the screen once, in average. +

+ +

Center

+
+

+ +
Syntax summary: +Center() +
Help text: +Moves the pointer to the center of the window. +
Registered by: +lib_hid_common plugin +
+

+Move the pointer to the center of the window, but only if it's currently within the window already. +

+ +

Cursor

+
+

+ +
Syntax summary: +Cursor(Type,DeltaUp,DeltaRight,Units) +
Help text: +Move the cursor. +
Registered by:n/a +
+

+This action moves the mouse cursor. Unlike other actions which take coordinates, this action's coordinates are always relative to the user's view of the board. Thus, a positive +DeltaUp + may move the cursor away from the board origin if the board is inverted (flipped, looked from the bottom). +

+ +Type + is one of + +Pan + + or + +Warp + +. + +Pan + + causes the viewport to move such that the crosshair is under the mouse cursor. + +Warp + + causes the mouse cursor to move to be above the crosshair. +

+ +Units + can be one of the following: +

+ + + + + + + + + + + +
+mil +
+mm +
+The cursor is moved by that amount, in board units. +
+grid + +The cursor is moved by that many grid points. +
+view + +The values are percentages of the viewport's view. Thus, a pan of + +100 + + would scroll the viewport by exactly the width of the current view. +
+board + + The values are percentages of the board size. Thus, a move of + +50,50 + + moves you halfway across the board. +
+ +

+ +

dowindows

+
+

+ +
Syntax summary:n/a +
Help text:n/a +
Registered by:n/a +
+

+Argument: +

+ + + + + + + + + + + + + + + + + +
+ 1 +
+ Layout +
+ Open the layout window. Since the layout window is always shown anyway, this has no effect. +
+ 2 +
+ Library +
+ Open the library window. +
+ 3 +
+ Log +
+ Open the log window. +
+ 4 +
+ Netlist +
+ Open the netlist window. +
+ 5 +
+ Preferences +
+ Open the preferences window. +
+ 6 +
+ DRC +
+ Open the DRC violations window. +
+ 7 +
+ Search +
+ Open the advanced search window. +
+ +

+ +

GetXY

+
+

+ +
Syntax summary: +GetXY([message, [x|y]]) +
Help text: +Get a coordinate. If x or y specified, the return value of the action is the x or y coordinate. +
Registered by:n/a +
+

+Prompts the user for a coordinate, if one is not already selected. +

+ +

ListScripts

+
+

+ +
Syntax summary: +ListScripts([pat]) +
Help text: +List fungw scripts, optionally filtered wiht regex pat. +
Registered by: +script plugin +
+

+Print one line in the log for each currently loaded script. If +pat + is specified, filter the list using +pat + as a case sensitive + +extended regex + + on script ID, file name and language (list only scripts that match with any of these fields). +

+ +

LiveScript

+
+

+ +
Syntax summary: +LiveScript([new], [name]) +LiveScript(load|save, name, [filame]) +LiveScript(run|stop|rerun|undo, name) +
Help text: +Manage a live script +
Registered by: +script plugin +
+

+The first argument determines what operation the action performs and how subsequent arguments are interpreted: +

+ + + + + + + + + + + + + + + + + +
+ new, [name] + + Create a new live script and open a new live script dialog. + +name + + is an unique live script name that identifies the window. If not specified, "default" is used" +
+ load, name, [filename] + + Replace the script source in the LiveScript window identified by + +name + + with the content loaded from a file. If + +filename + + is not specified, open a file selector dialog. +
+ save, name, [filename] + + Save the script source in the LiveScript window identified by + +name + + to a file. If + +filename + + is not specified, open a file selector dialog. +
+ run, name + + Run the script in the LiveScript window identified by + +name + +. +
+ stop, name + + Stop the script in the LiveScript window identified by + +name + +, if ti is running in persistent mode. +
+ undo, name + + Undo the "init changes" of the script in the LiveScript window identified by + +name + +. Init changes are those board changes the script has done while running its initialization section. Live script undo is possible only if there was no user edit after the script finished. +
+ rerun, name + + Stop, undo and run the script in the LiveScript window identified by + +name + +. +
+ +

+ +

LoadScript

+
+

+ +
Syntax summary: +LoadScript(id, filename, [language]) +
Help text: +Load a fungw script +
Registered by: +script plugin +
+

+ +id + is an arbitrary string assigned by the user. +id + must be unique per pcb-rnd session per script and may contain alphanumeric characters and undescrore. +

+ +fn + is the file name of the script, which is a path. Pcb-rnd does not do any search, it only opens the path as specified. +

+ +lang + is the scripting language, as in + +fungw plugin name + +. When not specified, the code makes a guess (based on the file name). +

+ +

Message

+
+

+ +
Syntax summary: +message([ERROR|WARNING|INFO|DEBUG,] message) +
Help text: +Writes a message to the log window. +
Registered by:n/a +
+

+This action displays a message to the log window. This action is primarily provided for use by scripts and external programs which may interface with pcb-rnd. If multiple arguments are given, each one is sent to the log window followed by a newline. +

+ If there are 2 or more arguments and the first argument matches, in a case sensitive manner, one of the below keywords, the message is registered on the specified error level. Else the PCB_MSG_INFO error level is used. +

+ + + + + + + + + + + + + +
+first argument + +erro level +
+ERROR + + PCB_MSG_ERROR +
+WARNING + + PCB_MSG_WARNING +
+INFO + + PCB_MSG_INFO +
+DEBUG + + PCB_MSG_DEBUG +
+ +

+ +

onliner

+
+

+ +
Syntax summary:n/a +
Help text:n/a +
Registered by:n/a +
+

+The +oneliner + action is designed for quick execution of short, trivial scripts, such as a for loop for repeating an action. It supports any scripting language currently availabel through fungw. Each oneliner is an independent script context - variables, functions and other global states do not persist. +

+ This group of actions offers three forms: +

+ +

+ For example, a simple calculation using awk can be done in three ways: +

+ +
+ +

Pan

+
+

+ +
Syntax summary: +Pan(Mode) +
Help text: +Start or stop panning (Mode = 1 to start, 0 to stop) +
Registered by: +lib_hid_common plugin +
+

+Start or stop panning. To start call with Mode = 1, to stop call with Mode = 0. +

+ +

Print

+
+

+ +
Syntax summary: +Print() +
Help text: +Present the print export dialog for printing the layout from the GUI. +
Registered by:n/a +
+

+Open an export dialog listing all printing plugins, prompt the user for their options, and print the layout. +

+ Available only with GUI HIDs: it's merely a graphical shorthand that in turn calls the export plugin for printing. +

+ +

PromptFor

+
+

+ +
Syntax summary: +PromptFor([message[,default[,title]]]) +
Help text: +Prompt for a string. Returns the string (or NULL on cancel) +
Registered by:n/a +
+

+UI-independent way of asking the user for a string. When GUI is available, it is a dialog box, else it's console input. Return value, unlike with other actions, is a string. The return value is NULL on cancel. +

+ +

ReloadScript

+
+

+ +
Syntax summary: +ReloadScript(id) +
Help text: +Reload a fungw script +
Registered by: +script plugin +
+

+ +id + is the same that was specified for +loadscript +. If loading the new verison of the script fails, +id + is released (can be reused for a new LoadScript). +

+ +

ScriptCookie

+
+

+ +
Syntax summary: +ScriptCookie() +
Help text: +Return a cookie specific to the current script instance during script initialization +
Registered by: +script plugin +
+

+The script: +

+ +

+ The function can not be called outside of script initialization. The cookie string can be used any time between script load and script unload. +

+ +

ScriptPersistency

+
+

+ +
Syntax summary: +ScriptPersistency(read|remove) +
Help text: +Read or remove script persistency data savd on preunload +
Registered by: +script plugin +
+

+When a script is unloaded, its action +preunload + is called. The return value is saved as script persistent data. When the script is loaded again later, it can use +scriptpersistency +( +read +) to read the data saved. +

+ +scriptpersistency +( +remove +) deletes the data from disk. +

+ Note: the data is per script id, not per script file name. +

+ +

Scroll

+
+

+ +
Syntax summary: +Scroll(up|down|left|right, [pixels]) +
Help text: +Scroll the viewport. +
Registered by: +lib_hid_common plugin +
+

+Arguments: +

+ + + + + + + +
+ up|down|left|right + + Specifies the direction to scroll +
+ pix + + Optional. Specifies how many pixels to scroll by. If not specified: default pix is 100. +
+ +

+ +

SetUnits

+
+

+ +
Syntax summary: +SetUnits(mm|mil) +
Help text: +Set the default measurement units. +
Registered by:n/a +
+

+ + + + + + + +
+ mil + + Sets the display units to mils (1/1000 inch). +
+ mm + + Sets the display units to millimeters. +
+ +

+ +

Tool

+
+

+ +
Syntax summary: +Tool(Arc|Arrow|Copy|InsertPoint|Line|Lock|Move|None|PasteBuffer) +Tool(Poly|Rectangle|Remove|Rotate|Text|Thermal|Via) +Tool(Press|Release|Cancel|Stroke) +Tool(Save|Restore) +
Help text: +Change or use the tool mode. +
Registered by:n/a +
+

+Selects the tool or changes tool related global states. +

+ + + + + + + + + + + + + + + + + + + +
+ Arc +
+ Arrow +
+ Copy +
+ InsertPoint +
+ Line +
+ Lock +
+ Move +
+ None +
+ PasteBuffer +
+ Poly +
+ PolyHole +
+ Rectangle +
+ Remove +
+ Rotate +
+ Text +
+ Thermal +
+ Via +
+ ... +
+ Select the indicated tool. +
+ Press + + Called when you press the mouse button, or move the mouse. +
+ Release + + Called when you release the mouse button. +
+ Cancel + + Cancels any pending tool activity, allowing you to restart elsewhere. For example, this allows you to start a new line rather than attach a line to the previous line. +
+ Escape + + Similar to Cancel but calling this action a second time will return to the Arrow tool. +
+ Stroke + + If pcb-rnd was built with libstroke, this invokes the stroke input method. If not, this will restart a drawing mode if you were drawing, else it will select objects. +
+ Save + + Remembers the current tool. +
+ Restore + + Restores the tool to the last saved tool. +
+ +

+ +

UnloadScript

+
+

+ +
Syntax summary: +UnloadScript(id) +
Help text: +Unload a fungw script +
Registered by: +script plugin +
+

+ +id + is the same that was specified for +loadscript +. After the call +id + is released (can be reused for a new LoadScript). +

+ Index: 09_appendix/action_reference.html =================================================================== --- 09_appendix/action_reference.html (revision 34885) +++ 09_appendix/action_reference.html (revision 34886) @@ -13,7 +13,7 @@ @@ -20,11 +20,11 @@ - + - + @@ -34,16 +34,15 @@ - - + - + @@ -83,7 +82,7 @@ - + @@ -115,7 +114,6 @@ - @@ -137,7 +135,6 @@ - @@ -170,7 +167,7 @@ - + @@ -200,9 +197,7 @@ - - @@ -216,8 +211,8 @@ - - + + @@ -237,7 +232,7 @@ - + @@ -245,15 +240,13 @@ - - - + @@ -264,7 +257,6 @@ - @@ -282,7 +274,7 @@ - + @@ -299,7 +291,6 @@ - @@ -315,7 +306,7 @@ - + @@ -324,7 +315,7 @@ - + @@ -335,8 +326,6 @@ - - @@ -349,7 +338,7 @@ - + @@ -360,6 +349,17 @@ + + + + + + + + + + + @@ -367,7 +367,6 @@ - @@ -376,9 +375,9 @@ - - - + + + @@ -388,7 +387,7 @@ - + @@ -395,12 +394,10 @@ - - @@ -407,13 +404,13 @@ - + - + @@ -422,5 +419,6 @@
-This is pcb-rnd 2.3.2 (svn r34678) an interactive printed circuit board editor , Revision: 34697 +This is pcb-rnd 3.0.0-dev (svn r34858) an interactive printed circuit board editor , Revision: 34885
Action Description Syntax Plugin
AboutPresent the about boxAbout()dialogs plugin
acompnetAttempt to auto-complete the current networkacompnet()acompnet plugin
ActionStringExecute a pcb-rnd action parsing a string; syntac: "action(arg,arg,arg)"ActionString(action)script plugin
AddRatsAdd one or more rat lines to the board.AddRats(AllRats|SelectedRats|Close, [manhattan])
AddTimerAdd a new timerAddTimer(action, period, [repeat], [userdata])script plugin
AddTimer (RND)Add a new timerAddTimer(action, period, [repeat], [userdata])script plugin
AdjustStyleOpen the dialog box for editing the route styles.AdjustStyle([routestyle_idx])lib_hid_pcbui/route_style
alignAlign objectsAlign(X/Y, [Lefts/Rights/Tops/Bottoms/Centers/Marks, [First/Last/pcb_crosshair/Average[, Gridless]]])distalign plugin
aligntextAlign objectsAlign(X/Y, [Lefts/Rights/Tops/Bottoms/Centers/Marks, [First/Last/pcb_crosshair/Average[, Gridless]]])distalign plugin
AnyLoadLoad "anything" from path (or offer a file selectio dialog if no path specified)AnyLoad([path])
AnyLoad (RND)Load "anything" from path (or offer a file selectio dialog if no path specified)AnyLoad([path])
ApplyPenSet properties of the selected object or object under the cursor to match current drawing style ("pen"), e.g. thickness, clearance.ApplyPen([selected|object])
ApplyVendorApplies the currently loaded vendor drill table to the current design.ApplyVendor()vendor drill mapping
ArcNewCreate a pcb arc segment on a layer. For now data must be "pcb". Returns the idpath of the new object or 0 on error.ArcNew([noundo,] data, layer, centx, centy, radiusx, radiusy, start_ang, delta_ang, thickness, clearance, flags)act_draw
autocropAutocrops the board dimensions to (extants + a margin of 1 grid), keeping the move and board size grid alignedautocrop()autocrop plugin
AutoPlaceSelectedAuto-place selected components.AutoPlaceSelected()autoplace plugin
AutoRouteAuto-route some or all rat lines.AutoRoute(AllRats|SelectedRats)autoroute plugin
awkExecute a script one-liner using a specific languageOneliner(lang, script)script plugin
BackupBackup the current layout - save using the same method that the timed backup function usesBackup()
basExecute a script one-liner using a specific languageOneliner(lang, script)script plugin
BellAttempt to produce audible notification (e.g. beep the speaker).Bell()oldactions plugin
BenchmarkBenchmark the GUI speed.Benchmark()
Benchmark (RND)Benchmark the GUI speed.Benchmark()
BoardFlipMirror the board over the x axis, optionally mirroring sides as well.BoardFlip([sides])
BraveChanges brave settings.Brave()
Brave(setting, on|off)
BrowseScriptsPresent a dialog box for browsing scriptsBrowseScripts()script plugin
camExport jobs for feeding cam processescam(exec, script, [options])
cam(call, jobname, [options])
cam([gui])
cam exporter
CenterMoves the pointer to the center of the window.Center()lib_hid_common plugin
Center (RND)Moves the pointer to the center of the window.Center()lib_hid_common plugin
ChangeAngleChanges 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)
ChangeClearSizeChanges 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)
ChangeDrillSizeChanges the drilling hole size of objects.ChangeDrillSize(Object, delta|style)
ChangeDrillSize(SelectedPins|SelectedVias|Selected|SelectedObjects, delta|style)
cpcbExecuted external autorouter cpcb to route the board or parts of the boardcpcb(board|selected, [command])cpcb plugin
CreateMenuCreates a new menu, popup (only path specified) or submenu (at least path and action are specified)CreateMenu(path)
CreateMenu(path, action, tooltip, cookie, [accel])
CreateTextCreate a new text objectCreateText(layer, fontID, X, Y, direction, scale, text)
CursorMove the cursor.Cursor(Type,DeltaUp,DeltaRight,Units)
Cursor (RND)Move the cursor.Cursor(Type,DeltaUp,DeltaRight,Units)
CycleDragCycle through which object is being draggedCycleDrag()
d1debug action for developmentd1()diag plugin
dadManipulate Dynamic Attribute Dialogsdad(dlgname, new) - create new dialog
dad(dlgname, label, text) - append a label widget
dad(dlgname, button, text) - append a button widget
dad(dlgname, button_closes, label, retval, ...) - standard close buttons
dad(dlgname, enum, choices) - append an enum (combo box) widget; choices is a tab separated list
dad(dlgname, bool) - append an checkbox widget (default off)
dad(dlgname, integer|real|coord, min, max) - append an input field
dad(dlgname, string) - append a single line text input field
dad(dlgname, default, val) - set the default value of a widet while creating the dialog
dad(dlgname, help, tooltip) - set the help (tooltip) text for the current widget
dad(dlgname, progress) - append a progress bar (set to 0)
dad(dlgname, preview, cb_act_prefix, minsize_x, minsize_y, [ctx]) - append a preview with a viewbox of 10*10mm, minsize in pixels
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, title) - present dlgname as a non-modal dialog
dad(dlgname, run_modal, title) - 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
lib_hid_common plugin
DrcQueryImportImport a rule and related definitions from a file.DrcQueryImport([filename])drc_query
DrcQueryListRulesList all drc rules implemented in drc_queryDrcQueryListRules()drc_query
DrcQueryRuleModAutomated DRC rule editing (for scripting and import)DrcQueryRuleMod(clear, source)
DrcQueryRuleMod(create, rule_name)
DrcQueryRuleMod(get, rule_name, field_name)
DrcQueryRuleMod(set, rule_name, field_name, value)
drc_query
duktapeExecute a script one-liner using a specific languageOneliner(lang, script)script plugin
DumpActionsDump all actions available.DumpActions()
dumpconfPerform 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
DumpCsectPrint the cross-section of the board (layer stack)DumpCsect()draw_csect
ElementListAdds the given element if it doesn't already exist.ElementList(Start|Done|Need,,,)
ElementSetAttrSets or clears an element-specific attribute.ElementSetAttr(refdes,name[,value])
EnableVendorEnables automatic drill size mapping.EnableVendor()oldactions plugin
estutterExecute a script one-liner using a specific languageOneliner(lang, script)script plugin
EvalConfPerform 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 databasediag plugin
ExecCommandRun shell commandSystem(shell_cmd)
ExecuteFileRun actions from the given file.ExecuteFile(filename)
GetParentDataReturn the closest upstream pcb_data_t * parent of an objectGetParentData([root_data,] idpath)act_read
GetStyleReturn integer index (>=0) of the currently active style or -1 if no style is selected (== custom style)GetStyle()
GetValueConvert a coordinate value. Returns an unitless double or FGW_ERR_ARG_CONV. The 3rd parameter controls whether to require relative coordinates (+- prefix). Wraps rnd_get_value_ex().GetValue(input, units, relative, default_unit)act_read
GetXYGet a coordinate. If x or y specified, the return value of the action is the x or y coordinate.GetXY([message, [x|y]])
GetXY (RND)Get a coordinate. If x or y specified, the return value of the action is the x or y coordinate.GetXY([message, [x|y]])
GfxModModify a gfx object: set transparent pixel on the pixmap or resize by measurementGfxMod(transparent, [idpath, [#rrggbb]])
GfxMod(transparent, [idpath, [x, y]])
GfxMod(resize, [idpath, [pdx, pdy1, len]])
GlobalPullerPull all traces tight. With no argument it runs on the current layer.pcb_act_GlobalPuller([Found|Selected])puller plugin
GridSet the grid.grid(set, [name:]size[@offs][!unit])
grid(+|up)
grid(-|down)
grid(#N)
grid(idx, N)
grid(get)
grid(ask)
ircnon-modal, single-instance, single-server, single-channel irc window for online supportirc()irc plugin
IsPointOnArcReturns 1 if point x;y with radius r is on the arc addressed by idpath, 0 else.IsPointOnArc(x, y, r, idpath)act_read
IsPointOnLineReturns 1 if point x;y with radius r is on the line addressed by idpath, 0 else.IsPointOnLine(x, y, r, idpath)act_read
javascriptExecute a script one-liner using a specific languageOneliner(lang, script)script plugin
jostleMake room by moving wires away.Jostle(diameter)jostle plugin
jsExecute a script one-liner using a specific languageOneliner(lang, script)script plugin
lLoads layout data.l [name] [format]shand_cmd plugin
LayerBindingChange the layer binding.LayerBinding(object)
LayerBinding(buffer)
dialogs plugin
LayerByStackLayer operations based on physical layer stackingLayerByStack(select, prev|next)
LibraryDialogOpen the library dialog.libraryDialog()dialogs plugin
LineNewCreate a pcb line segment on a layer. For now data must be "pcb". Returns the idpath of the new object or 0 on error.LineNew([noundo,] data, layer, X1, Y1, X2, Y2, Thickness, Clearance, Flags)act_draw
ListRotationsoldactions plugin
ListScriptsList fungw scripts, optionally filtered wiht regex pat.ListScripts([pat])script plugin
LiveScriptManage a live scriptLiveScript([new], [name])
LiveScript(load|save, name, [filame])
LiveScript(run|stop|rerun|undo, name)
script plugin
ListScripts (RND)List fungw scripts, optionally filtered wiht regex pat.ListScripts([pat])script plugin
LiveScript (RND)Manage a live scriptLiveScript([new], [name])
LiveScript(load|save, name, [filame])
LiveScript(run|stop|rerun|undo, name)
script plugin
LoadLoad layout data from a user-selected file.Load()
Load(Layout|LayoutToBuffer|ElementToBuffer|Netlist|Revert)
dialogs plugin
LoadAccelNetFromLoads the specified Accel EDA netlist file.LoadAccelNetFrom(filename)accel_net importer
LoadCalayFromLoads the specified calay netlist/component file pair.LoadCalayFrom(filename)calay importer
LoadPadsNetFromLoads the specified pads ascii netlist .asc file.LoadPadsNetFrom(filename)pads_net importer
LoadPixmapLoads a pixmap image from disk and creates a gfx object in buffer.LoadPixmap([filename])
LoadProtelNetFromLoads the specified protel netlist 2.0 file.LoadProtelNetFrom(filename)protel_net importer
LoadScriptLoad a fungw scriptLoadScript(id, filename, [language])script plugin
LoadScript (RND)Load a fungw scriptLoadScript(id, filename, [language])script plugin
LoadTedaxFromLoads the specified block from a tedax file.LoadTedaxFrom(netlist|board|footprint|stackup|layer|drc|drc_query|route_res, filename, [block_id, [silent, [src]]])tEDAx IO
LoadTinycadFromLoads the specified tinycad .net file - the netlist must be tinycad netlist output.LoadTinycadFrom(filename)tinycad importer
LoadTtfPresents a GUI dialog for interactively loading glyphs from from a ttf fileLoadTtf()ttf importer
LoadVendorFromLoads the specified vendor lihata file. If second argument is "yes" or "pure", load in pure mode without side effects: do not reset or apply, only incrementally load.LoadVendorFrom(filename, [yes|no])vendor drill mapping
LogManages the central, in-memory log.Log(clear, [fromID, [toID])
Log(export, [filename, [text|lihata])
LogDialogOpen the log dialog.LogDialog()lib_hid_common plugin
luaExecute a script one-liner using a specific languageOneliner(lang, script)script plugin
mLoads a layout into the current buffer.m [name]shand_cmd plugin
ManagePluginsManage plugins dialog.ManagePlugins()dialogs plugin
MarkCrosshairSet/Reset the pcb_crosshair mark.MarkCrosshair()
MarkCrosshair(Center)
mawkExecute a script one-liner using a specific languageOneliner(lang, script)script plugin
MenuDebugMenu debug helpers: save the merged menu in a fileMenuDebug(save, path)
MenuPatchManage menu patchesMenuPatch(load, cookie, path, desc)
MenuPatch(unload, cookie)
MenuPatch(list)
MenuPatch(InhibitInc|InhibitDec)
meshgenerate a mesh for simulationmesh()openems HID
MessageWrites a message to the log window.message([ERROR|WARNING|INFO|DEBUG,] message)
Message (RND)Writes a message to the log window.message([ERROR|WARNING|INFO|DEBUG,] message)
MessageBoxOpen a modal message dialog box with title and label. If icon string is not empty, display the named icon on the left. Present one or more window close buttons with different text and return value.MessageBox(icon, title, label, button_txt, button_retval, ...)
millCalculate toolpath for milling away coppermill([script])millpath plugin
MinClearGapEnsures that polygons are a minimum distance from objects.MinClearGap(delta)
MinClearGap(Selected, delta)
oldactions plugin
MoveLayerMoves/Creates/Deletes Layers.MoveLayer(old,new)
MoveLayer(lid,group,gid)
MoveObjectMoves the object under the crosshair.pcb_move_obj(X,Y,[units])
MoveToCurrentLayerMoves objects to the current layer.MoveToCurrentLayer(Object|SelectedObjects)
mrubyExecute a script one-liner using a specific languageOneliner(lang, script)script plugin
netPerform various actions on netlists.Net(find|select|rats|norats||ripup|addrats|clear[,net[,pin]])
Net(freeze|thaw|forcethaw)
Net(swap)
Net(add,net,pin)Net([rename|merge],srcnet,dstnet)
NetLengthReport physical network lengthNetLength(clear)
NetLength(object)
report plugin
netlistPerform various actions on netlists.Net(find|select|rats|norats||ripup|addrats|clear[,net[,pin]])
Net(freeze|thaw|forcethaw)
Net(swap)
Net(add,net,pin)Net([rename|merge],srcnet,dstnet)
PadstackConvertConvert selection or current buffer to padstackPadstackConvert(buffer|selected, [originx, originy])
PadstackEditinteractive pad stack editorPadstackEdit(object, [tab])dialogs plugin
PadstackPlacePlace a pad stack (either proto_id, or if not specified, the default for style)PadstackPlace([proto_id|default], [x, y])
PanStart or stop panning (Mode = 1 to start, 0 to stop)Pan(Mode)lib_hid_common plugin
Pan (RND)Start or stop panning (Mode = 1 to start, 0 to stop)Pan(Mode)lib_hid_common plugin
paralDraw a line perpendicular to another lineperp()ddraft plugin
pasExecute a script one-liner using a specific languageOneliner(lang, script)script plugin
PasteBufferVarious operations on the paste buffer.PasteBuffer(AddSelected|MoveSelected|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(SaveAll, Filename, [format])
PasteBuffer(LoadAll, Filename)
PasteBuffer(Push)
PasteBuffer(Pop)
PasteBuffer(GetSource, [1..PCB_MAX_BUFFER])
pcb_sqrtscript plugin
pcb_srandscript plugin
pcb_tanscript plugin
perlExecute a script one-liner using a specific languageOneliner(lang, script)script plugin
perpDraw a line perpendicular to another lineperp()ddraft plugin
PinoutPresent the subcircuit pinout boxPinout()dialogs plugin
PolyBoolPerform polygon boolean operation on the clipped polygons referred. A poly is either and idpath, selected, found or object (for the object under the cursor). When not specified, two object polygons are used.PstkProto([noundo,] unite|isect|sub, [poly1, poly2, [poly...]])act_draw
PolyStitchpolystitch plugin
PopupBring up the popup menu specified by MenuName, optionally modified with the object type under the cursor.Popup(MenuName, [obj-type])lib_hid_pcbui/actions
PreferencesPresent the preferences dialog, optionally opening the tab requested.Preferences([tabname])dialogs plugin
PrintPresent the print export dialog for printing the layout from the GUI.Print()
Print (RND)Present the print export dialog for printing the layout from the GUI.Print()
PrintActionsPrint all actions available.PrintActions()
PrintCalibrateDEPRECATED: Calibrate the printer.PrintCalibrate()dialogs plugin
PrintCopyrightPrint copyright notice.PrintCopyright()
PrintPathsPrint full paths and search paths.PrintPaths()
PrintUsagePrint command line arguments of pcb-rnd or a plugin loaded.PrintUsage()
PrintUsage(plugin)
PrintVersionPrint version.PrintVersion()
PromptForPrompt for a string. Returns the string (or NULL on cancel)PromptFor([message[,default[,title]]])
PromptFor (RND)Prompt for a string. Returns the string (or NULL on cancel)PromptFor([message[,default[,title]]])
propeditpropedit(object[:id]|layer[:id]|layergrp[:id]|pcb|subc|selection|selected)propedit
propgetReturn the named property of scope or all selected objects to/by value. Scope is documented at PropEdit().propget([scope], name, [stattype])propedit
propprintPrint a property map of objects matching the scope. Scope is documented at PropEdit().PropPrint([scope])propedit
PstkProtoEditEdit a padstack prototype specified by its pointer.PstkProto([noundo,] proto, remove, layer_type)
PstkProto([noundo,] proto, copy, dst_layer_type, src_layer_type)
PstkProto([noundo,] proto, hdia, dia)
PstkProto([noundo,] proto, shape:line, layer_type, x1, y1, x2, y2, th, [square])
act_draw
PstkProtoTmpAllocate, insert or free a temporary padstack prototypePstkProto([noundo,] new)
PstkProto([noundo,] dup, idpath)
PstkProto([noundo,] dup, data, src_proto_id)
PstkProto([noundo,] insert, idpath|data, proto)
PstkProto([noundo,] insert_dup, idpath|data, proto)
PstkProto([noundo,] free, proto)
act_draw
PullerPull an arc-line junction tight.pcb_act_Puller()puller plugin
pyExecute a script one-liner using a specific languageOneliner(lang, script)script plugin
pythonExecute a script one-liner using a specific languageOneliner(lang, script)script plugin
q!Quits the application without confirming.q!shand_cmd plugin
qQuits the application after confirming.qshand_cmd plugin
queryPerform various queries on PCB data.query(dump, expr) - dry run: compile and dump an expression
query(eval|evalidp, expr) - compile and evaluate an expression and print a list of results on stdout
query(count, expr) - compile and evaluate an expression and return the number of matched objects (-1 on error)
query(select|unselect|view, expr) - select or unselect or build a view of objects matching an expression
query(setflag:flag|unsetflag:flag, expr) - set or unset a named flag on objects matching an expression
query(append, idplist, expr) - compile and run expr and append the idpath of resulting objects on idplist
query plugin
RedoRedo recent "undo" operations.redo()
RedrawRedraw the entire screenRedraw()
regpolyGenerate 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
ReloadScriptReload a fungw scriptReloadScript(id)script plugin
ReloadScript (RND)Reload a fungw scriptReloadScript(id)script plugin
RemoveMenuRecursively removes a new menu, popup (only path specified) or submenu. RemoveMenu(path, cookie)
RemoveSelectedRemoves any selected objects.pcb_remove_selected()
RenumberRenumber all subcircuits. The changes will be recorded to filename
for use in backannotating these changes to the schematic.
Renumber()
Renumber(filename)
renumber plugin
ReportObjectReport on the object under the crosshairReportObject()report plugin
RipUpRipup auto-routed tracksRipUp(All|Selected|Element)
rnReads netlist.rn [name]shand_cmd plugin
rnd_acosscript plugin
rnd_asinscript plugin
rnd_atan2script plugin
rnd_atanscript plugin
rnd_cosscript plugin
rnd_dlg_xpm_by_nameIntenal: GUI frontend action. Do not use directly.lib_hid_common plugin
rnd_randscript plugin
rnd_sinscript plugin
rnd_sqrtscript plugin
rnd_srandscript plugin
rnd_tanscript plugin
rnd_toolbar_initFor ringdove apps: initialize the toolbar.lib_hid_common plugin
rnd_toolbar_uninitFor ringdove apps: uninitialize the toolbar.lib_hid_common plugin
rnd_zoomChange zoom level (relative, absolute, window, ...)Zoom()
Zoom([+|-|=]factor)
Zoom(x1, y1, x2, y2)
Zoom(?)
Zoom(get)
lib_hid_common plugin
roundrectGenerate a rectangle with round cornersroundrect([where,] width[;height] [,rx[;ry] [,rotation [,cornstyle [,roundness]]]])shape plugin
RouteStyleWithout second argument: copies the indicated routing style into the current pen; with second argument sets or gets a field of the routing style.RouteStyle(style_id|style_name|@current, [set|get|del], [trace-thickness|trace-clearance|text-thickness|text-scale|font|via-proto|name], [value]])
RouteStyle(new, [name])
RouteStylesChangedTells the GUI that the routing styles have changed.RouteStylesChanged()oldactions plugin
rubyExecute a script one-liner using a specific languageOneliner(lang, script)script plugin
sSaves layout data.s [name]
w [name]
shand_cmd plugin
SaveSave layout data to a user-selected file.Save()
Save(Layout|LayoutAs)
Save(AllConnections|AllUnusedPins|ElementConnections)
Save(PasteBuffer)
Save(DialogByPattern, pcb|footprint|font|buffer, none|board|fp, prompt, [default_pattern])
dialogs plugin
SaveFontToSave PCB font to a fileSaveFontTo([file, id])
SaveTedaxSaves the specific type of data in a tEDAx file.SaveTedax(netlist|board-footprints|stackup|layer|board|drc|etest, filename)
SaveTedax(drc_query, filename, [rule_name])SaveTedax(route_req, filename, [confkey=value, confkey=value, ...])
tEDAx IO
SaveToSaves data to a file.SaveTo(Layout|LayoutAs,filename,[fmt])
SaveTo(PasteBuffer,filename,[fmt])
ScaleBufferScales 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]]])
ScriptCookieReturn a cookie specific to the current script instance during script initializationScriptCookie()script plugin
ScriptPersistencyRead or remove script persistency data savd on preunloadScriptPersistency(read|remove)script plugin
ScrollScroll the viewport.Scroll(up|down|left|right, [pixels])lib_hid_common plugin
ScriptCookie (RND)Return a cookie specific to the current script instance during script initializationScriptCookie()script plugin
ScriptPersistency (RND)Read or remove script persistency data savd on preunloadScriptPersistency(read|remove)script plugin
Scroll (RND)Scroll the viewport.Scroll(up|down|left|right, [pixels])lib_hid_common plugin
SearchDialogOpen the log dialog.SearchDialog()query plugin
SelectToggles or sets the selection.Select(Object, [idpath])
Select(ToggleObject)
Select(All|Block|Connection|Invert)
Select(Convert)
SelectLayerSelect which layer is the current layer.SelectLayer(1..MAXLAYER|Silk|Rats)
SetSameSets current layer and sizes to match indicated item.SetSame()
SetSquareoldactions plugin
SetThermalSet the thermal (on the current layer) of padstacks to the given style. Style is one of:
0: means no thermal.
1: horizontal/vertical, round.
2: horizontal/vertical, sharp.
3: is a solid connection to the polygon.
4: (invalid).
5: diagonal, round.
6: diagonal, sharp.
noshape: no copper shape on layer
SetThermal(Object|SelectedPins|SelectedVias|Selected, Style)
SetUnitsSet the default measurement units.SetUnits(mm|mil)
SetUnits (RND)Set the default measurement units.SetUnits(mm|mil)
SetValueChange various board-wide values and sizes.SetValue(Grid|Line|LineSize|Text|TextScale, delta)
shapeInteractive shape generator.shape()shape plugin
smartdisperseDisperse subcircuits into clusters, by netlist connectionsSmartDisperse([All|Selected])smartdisperse plugin
splitUse one or more objects as cutting edge and trim or split other objects. First argument is the cutting edgetrim([selected|found|object], [selected|found|object])
split([selected|found|object], [selected|found|object])
ddraft plugin
StatusSetTextReplace status printout with text temporarily; turn status printout back on if text is not provided.StatusSetText([text])lib_hid_pcbui/status
strokeVarious gesture recognition related functionsstroke(gesture, seq)stroke plugin
sttExecute a script one-liner using a specific languageOneliner(lang, script)script plugin
subcVarious operations on subcsubc(hash, [board|selected])
subc(loose, on|off|toggle|check)
SwapSidesSwaps the side of the board you're looking at.SwapSides(|v|h|r, [S])lib_hid_pcbui/actions
SystemRun shell commandSystem(shell_cmd)
tangDraw a line to be tangential to a circletang()ddraft plugin
tclExecute a script one-liner using a specific languageOneliner(lang, script)script plugin
Teardropsteardrops plugin
TedaxTestParseReturns 1 if the file looks like tEDAx (0 if not)TedaxTestParse(filename|FILE*)tEDAx IO
TextNewCreate 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 idpath of the new object or 0 on error.TextNew([noundo,] data, layer, fontID, x, y, rot, scale, thickness, text_string, flags)act_draw
ToggleHideNameoldactions plugin
ToggleVendorToggles the state of automatic drill size mapping.ToggleVendor()oldactions plugin
ToggleViewToggle 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)
ToolChange or use the tool mode.Tool(Arc|Arrow|Copy|InsertPoint|Line|Lock|Move|None|PasteBuffer)
Tool(Poly|Rectangle|Remove|Rotate|Text|Thermal|Via)
Tool(Press|Release|Cancel|Stroke)
Tool(Save|Restore)
Tool (RND)Change or use the tool mode.Tool(Arc|Arrow|Copy|InsertPoint|Line|Lock|Move|None|PasteBuffer)
Tool(Poly|Rectangle|Remove|Rotate|Text|Thermal|Via)
Tool(Press|Release|Cancel|Stroke)
Tool(Save|Restore)
ToPolyconvert a closed loop of lines and arcs into a polygonToPoly()
ToPoly(outline)
lib_polyhelp
trimUse one or more objects as cutting edge and trim or split other objects. First argument is the cutting edgetrim([selected|found|object], [selected|found|object])
split([selected|found|object], [selected|found|object])
ddraft plugin
UILayerCreate or free UI layers. 'New' returns a layer ID that cna be used for addressing.UILayer(new, name, color)
UILayer(free, layer)
act_draw
UndoUndo recent changes.undo()
undo(ClearList|FreezeSerial|UnfreezeSerial|FreezeAdd|UnfreezeAdd|IncSerial|GetSerial|Above)
UndoDialogOpen the undo dialog.UndoDialog()dialogs plugin
UnloadScriptUnload a fungw scriptUnloadScript(id)script plugin
UnloadScript (RND)Unload a fungw scriptUnloadScript(id)script plugin
UnloadVendorUnloads the current vendor drill mapping table.UnloadVendor()vendor drill mapping
UnselectUnselects the object at the pointer location or the specified objects.Unselect(All|Block|Connection)
ViewListPresent a new empty view listviewlist([name, [winid, [listptr]]])dialogs plugin
ZoomGUI zoomZoom()
Zoom([+|-|=]factor)
Zoom(x1, y1, x2, y2)
Zoom(?)
Zoom(get)
Zoom(found|selected)
lib_hid_pcbui/actions
ZoomToGUI zoomZoom()
Zoom([+|-|=]factor)
Zoom(x1, y1, x2, y2)
Zoom(?)
Zoom(get)
Zoom(found|selected)
lib_hid_pcbui/actions
+

RND: this action comes from librnd and is common to all ringdove applications. Index: 09_appendix/action_src/livescript.html =================================================================== --- 09_appendix/action_src/livescript.html (revision 34885) +++ 09_appendix/action_src/livescript.html (nonexistent) @@ -1,40 +0,0 @@ -The first argument determines what operation the action performs and -how subsequent arguments are interpreted: -

- -
new, [name] - Create a new live script and open a new live script dialog. name - is an unique live script name that identifies the window. If not - specified, "default" is used" - -
load, name, [filename] - Replace the script source in the LiveScript window identified by - name with the content loaded from a file. If filename - is not specified, open a file selector dialog. - -
save, name, [filename] - Save the script source in the LiveScript window identified by - name to a file. If filename is not specified, open a - file selector dialog. - -
run, name - Run the script in the LiveScript window identified by - name. - -
stop, name - Stop the script in the LiveScript window identified by - name, if ti is running in persistent mode. - -
undo, name - Undo the "init changes" of the script in the LiveScript window - identified by name. Init changes are those board changes - the script has done while running its initialization section. - Live script undo is possible only if there was no user edit after - the script finished. - -
rerun, name - Stop, undo and run the script in the LiveScript window identified by - name. - -
- Index: 09_appendix/action_src/listscripts.html =================================================================== --- 09_appendix/action_src/listscripts.html (revision 34885) +++ 09_appendix/action_src/listscripts.html (nonexistent) @@ -1,6 +0,0 @@ -Print one line in the log for each currently loaded script. If pat -is specified, filter the list using pat as a case sensitive -extended regex -on script ID, file name and language (list only scripts that match with -any of these fields). - Index: 09_appendix/action_src/unloadscript.html =================================================================== --- 09_appendix/action_src/unloadscript.html (revision 34885) +++ 09_appendix/action_src/unloadscript.html (nonexistent) @@ -1,2 +0,0 @@ -id is the same that was specified for LoadScript. -After the call id is released (can be reused for a new LoadScript). Index: 09_appendix/action_src/dowindows.html =================================================================== --- 09_appendix/action_src/dowindows.html (revision 34885) +++ 09_appendix/action_src/dowindows.html (nonexistent) @@ -1,27 +0,0 @@ -Argument: -

- -
1
Layout -
Open the layout window. Since the layout window is always shown anyway, this has no effect. - -
2
Library -
Open the library window. - -
3
Log -
Open the log window. - -
4
Netlist -
Open the netlist window. - -
5
Preferences -
Open the preferences window. - -
6
DRC -
Open the DRC violations window. - -
7
Search -
Open the advanced search window. - -
- - Index: 09_appendix/action_src/scroll.html =================================================================== --- 09_appendix/action_src/scroll.html (revision 34885) +++ 09_appendix/action_src/scroll.html (nonexistent) @@ -1,12 +0,0 @@ -Arguments: -

- - -
up|down|left|right - Specifies the direction to scroll - -
pix - Optional. Specifies how many pixels to scroll by. If not specified: - default pix is 100. -
- Index: 09_appendix/action_src/reloadscript.html =================================================================== --- 09_appendix/action_src/reloadscript.html (revision 34885) +++ 09_appendix/action_src/reloadscript.html (nonexistent) @@ -1,4 +0,0 @@ -id is the same that was specified for LoadScript. -If loading the new verison of the script fails, id is released -(can be reused for a new LoadScript). - Index: 09_appendix/action_src/addtimer.html =================================================================== --- 09_appendix/action_src/addtimer.html (revision 34885) +++ 09_appendix/action_src/addtimer.html (nonexistent) @@ -1,24 +0,0 @@ -This action is intended for scripts to create async timers. Note: -timers do not work with the batch HID (no callback issued ever). -

-Creates a timer that executes an action (by name) periodically. -Period is a real number specified in seconds. Internal timer -resolution is in the order of 0.1 second. -

-If repeat is not specified or is less than 1, the timer is repeated -indefinitely. If the optional userdata string is specified, it is -also passed to the action. -

-The action is specified only by a name, call arguments are always -the following: -

-

-Action shall return integer 0 on success. -If the action does not exist or returns anything else, the timer is -uninstalled. -

-There can be any number of timers in parallel. Index: 09_appendix/action_src/center.html =================================================================== --- 09_appendix/action_src/center.html (revision 34885) +++ 09_appendix/action_src/center.html (nonexistent) @@ -1,2 +0,0 @@ -Move the pointer to the center of the window, but only if it's -currently within the window already. Index: 09_appendix/action_src/scriptcookie.html =================================================================== --- 09_appendix/action_src/scriptcookie.html (revision 34885) +++ 09_appendix/action_src/scriptcookie.html (nonexistent) @@ -1,9 +0,0 @@ -The script: -

-

-The function can not be called outside of script initialization. The cookie -string can be used any time between script load and script unload. Index: 09_appendix/action_src/pan.html =================================================================== --- 09_appendix/action_src/pan.html (revision 34885) +++ 09_appendix/action_src/pan.html (nonexistent) @@ -1,3 +0,0 @@ -Start or stop panning. To start call with Mode = 1, to stop call with -Mode = 0. - Index: 09_appendix/action_src/print.html =================================================================== --- 09_appendix/action_src/print.html (revision 34885) +++ 09_appendix/action_src/print.html (nonexistent) @@ -1,8 +0,0 @@ -Open an export dialog listing all printing plugins, prompt the user for their -options, and print the layout. -

-Available only with GUI HIDs: it's merely a graphical shorthand that in turn -calls the export plugin for printing. - - - Index: 09_appendix/action_src/getxy.html =================================================================== --- 09_appendix/action_src/getxy.html (revision 34885) +++ 09_appendix/action_src/getxy.html (nonexistent) @@ -1 +0,0 @@ -Prompts the user for a coordinate, if one is not already selected. Index: 09_appendix/action_src/benchmark.html =================================================================== --- 09_appendix/action_src/benchmark.html (revision 34885) +++ 09_appendix/action_src/benchmark.html (nonexistent) @@ -1,3 +0,0 @@ -This action is used to speed-test the GUI rendering. It -redraws the current screen as many times as possible in ten seconds. -It reports the amount of time needed to draw the screen once, in average. Index: 09_appendix/action_src/setunits.html =================================================================== --- 09_appendix/action_src/setunits.html (revision 34885) +++ 09_appendix/action_src/setunits.html (nonexistent) @@ -1,7 +0,0 @@ - -
mil - Sets the display units to mils (1/1000 inch). - -
mm - Sets the display units to millimeters. -
Index: 09_appendix/action_src/scriptpersistency.html =================================================================== --- 09_appendix/action_src/scriptpersistency.html (revision 34885) +++ 09_appendix/action_src/scriptpersistency.html (nonexistent) @@ -1,8 +0,0 @@ -When a script is unloaded, its action preunload is called. The -return value is saved as script persistent data. When the script is loaded -again later, it can use ScriptPersistency(read) to -read the data saved. -

-ScriptPersistency(remove) deletes the data from disk. -

-Note: the data is per script id, not per script file name. Index: 09_appendix/action_src/cursor.html =================================================================== --- 09_appendix/action_src/cursor.html (revision 34885) +++ 09_appendix/action_src/cursor.html (nonexistent) @@ -1,29 +0,0 @@ -This action moves the mouse cursor. Unlike other actions which take -coordinates, this action's coordinates are always relative to the -user's view of the board. Thus, a positive DeltaUp may move the -cursor away from the board origin if the board is inverted (flipped, -looked from the bottom). -

-Type is one of Pan or Warp. Pan causes the -viewport to move such that the crosshair is under the mouse cursor. -Warp causes the mouse cursor to move to be above the crosshair. -

-Units can be one of the following: -

- -
mil
mm -
The cursor is moved by that amount, in board units. - -
grid - The cursor is moved by that many grid points. - -
view - The values are percentages of the viewport's view. Thus, a pan of - 100 would scroll the viewport by exactly the width of the current view. - - -
board - The values are percentages of the board size. Thus, a move of - 50,50 moves you halfway across the board. - -
Index: 09_appendix/action_src/message.html =================================================================== --- 09_appendix/action_src/message.html (revision 34885) +++ 09_appendix/action_src/message.html (nonexistent) @@ -1,17 +0,0 @@ -This action displays a message to the log window. This action is primarily -provided for use by scripts and external programs which may interface with -pcb-rnd. If multiple arguments are given, each one is sent to the log window -followed by a newline. -

-If there are 2 or more arguments and the first argument matches, in a case -sensitive manner, one of the below keywords, the message is registered on -the specified error level. Else the PCB_MSG_INFO error level is used. -

- -
first argumenterro level -
ERROR PCB_MSG_ERROR -
WARNING PCB_MSG_WARNING -
INFO PCB_MSG_INFO -
DEBUG PCB_MSG_DEBUG -
- Index: 09_appendix/action_src/loadscript.html =================================================================== --- 09_appendix/action_src/loadscript.html (revision 34885) +++ 09_appendix/action_src/loadscript.html (nonexistent) @@ -1,10 +0,0 @@ -id is an arbitrary string assigned by the user. id -must be unique per pcb-rnd session per script and may contain alphanumeric characters -and undescrore. -

-fn is the file name of the script, which is a path. Pcb-rnd does not -do any search, it only opens the path as specified. -

-lang is the scripting language, as in -fungw plugin name. -When not specified, the code makes a guess (based on the file name). Index: 09_appendix/action_src/anyload.html =================================================================== --- 09_appendix/action_src/anyload.html (revision 34885) +++ 09_appendix/action_src/anyload.html (nonexistent) @@ -1,12 +0,0 @@ -Loads an anyload.lht file or any lihata document that can be handled by -the anyload system (mostly settings and setting-like states, e.g. -config, vendor drill map, DRC and user scripts). -

-When called without arguments a file selection dialog is popped up for -selecting the file to load. -

-More info on this mechanism in the - -knowledge pool node of anyload. - - Index: 09_appendix/action_src/tool.html =================================================================== --- 09_appendix/action_src/tool.html (revision 34885) +++ 09_appendix/action_src/tool.html (nonexistent) @@ -1,35 +0,0 @@ -Selects the tool or changes tool related global states. -

- -
Arc
Arrow
Copy
InsertPoint
Line
Lock -
Move
None
PasteBuffer
Poly
PolyHole
Rectangle -
Remove
Rotate
Text
Thermal
Via
... -
Select the indicated tool. - -
Press - Called when you press the mouse button, or move the mouse. - -
Release - Called when you release the mouse button. - -
Cancel - Cancels any pending tool activity, allowing you to restart elsewhere. - For example, this allows you to start a new line rather than attach a - line to the previous line. - -
Escape - Similar to Cancel but calling this action a second time will return - to the Arrow tool. - -
Stroke - If pcb-rnd was built with libstroke, this invokes the stroke - input method. If not, this will restart a drawing mode if you were - drawing, else it will select objects. - -
Save - Remembers the current tool. - -
Restore - Restores the tool to the last saved tool. - -
Index: 09_appendix/action_src/promptfor.html =================================================================== --- 09_appendix/action_src/promptfor.html (revision 34885) +++ 09_appendix/action_src/promptfor.html (nonexistent) @@ -1,5 +0,0 @@ -UI-independent way of asking the user for a string. When GUI is available, -it is a dialog box, else it's console input. Return value, unlike with other -actions, is a string. The return value is NULL on cancel. - - Index: 09_appendix/action_src/onliner.html =================================================================== --- 09_appendix/action_src/onliner.html (revision 34885) +++ 09_appendix/action_src/onliner.html (nonexistent) @@ -1,19 +0,0 @@ -The oneliner action is designed for quick execution of short, -trivial scripts, such as a for loop for repeating an action. It supports -any scripting language currently availabel through fungw. Each oneliner is -an independent script context - variables, functions and other global states -do not persist. -

-This group of actions offers three forms: -

-

-For example, a simple calculation using awk can be done in three ways: -

Index: 09_appendix/src/Makefile =================================================================== --- 09_appendix/src/Makefile (revision 34885) +++ 09_appendix/src/Makefile (revision 34886) @@ -5,12 +5,15 @@ all: $(CLEANFILES) -../action_details.html: ./action_compiler.sh ../action_src/*.html - ./action_compiler.sh ../action_src/*.html > ../action_details.html +../action_details.html: ./action_compiler.sh ../action_src/*.html librnd_acts + ./action_compiler.sh ../action_src/*.html LIBRND librnd_acts/*.html > ../action_details.html -../action_reference.html : ./dump_actions_to_html.sh $(PCBRND) ../action_details.html +../action_reference.html : ./dump_actions_to_html.sh $(PCBRND) ../action_details.html librnd_acts ./dump_actions_to_html.sh > ../action_reference.html +librnd_acts: FORCE + svn checkout svn://svn.repo.hu/librnd/trunk/doc/action librnd_acts + ../bridges.svg: bridges.txt aagraph -Tsvg bridges.txt > ../bridges.svg @@ -20,5 +23,8 @@ ../dialogs.html: $(PCBRND) ./gen_dialogs.sh ./dialog_extra.awk ./gen_dialogs.sh > ../dialogs.html +FORCE: + clean: rm $(CLEANFILES) + -rm -rf librnd_acts Index: 09_appendix/src/action_compiler.sh =================================================================== --- 09_appendix/src/action_compiler.sh (revision 34885) +++ 09_appendix/src/action_compiler.sh (revision 34886) @@ -1,13 +1,15 @@ #!/bin/sh SEP="<@@@@>" +SEPH="<@@H@@>" compile() { - awk -v "SEP=$SEP" ' + awk -v "SEP=$SEP" -v "SEPH=$SEPH" ' BEGIN { q="\"" SEP="^" SEP + SEPH="^" SEPH } function strip(s) { @@ -63,6 +65,16 @@ next } + + ($0 ~ SEPH) { + end_act() + action = "" + $1="" + print "

" $0 "

" + aname="" + next + } + (current == "") && (/^A/) { # reading the action list: new action action=strip($0) @@ -150,9 +162,15 @@ ) for fn in "$@" do - echo "" - echo "$SEP $fn" - tr "\n\r\t" " " < $fn | sed "s@<@\n<@g;s@>@>\n@g;" + if test "$fn" = "LIBRND" + then + echo "" + echo "$SEPH librnd actions (common to Ringdove)" + else + echo "" + echo "$SEP $fn" + tr "\n\r\t" " " < $fn | sed "s@<@\n<@g;s@>@>\n@g;" + fi done ) | compile Index: 09_appendix/src/dump_actions_to_html.sh =================================================================== --- 09_appendix/src/dump_actions_to_html.sh (revision 34885) +++ 09_appendix/src/dump_actions_to_html.sh (revision 34886) @@ -3,6 +3,7 @@ # collates the pcb-rnd action table into a html doc page asrc="../action_src" +lsrc="librnd_acts" cd ../../../../src pcb_rnd_ver=`./pcb-rnd --version` @@ -82,7 +83,7 @@ next } -' | sort -fu | awk -v "asrc=$asrc" ' +' | sort -fu | awk -v "asrc=$asrc" -v "lsrc=$lsrc" ' # insert links around actions where applicable BEGIN { q = "\"" @@ -97,11 +98,15 @@ sub(".*", "", act) loact = tolower(act) fn = asrc "/" loact ".html" + lfn = lsrc "/" loact ".html" if ((getline < fn) == 1) print pre "" act "" post + else if ((getline < lfn) == 1) + print pre "" act " (RND)" post else print pre "" act "" post close(fn) + close(lfn) next } @@ -109,6 +114,7 @@ END { print "" + print "

RND: this action comes from librnd and is common to all ringdove applications." print "" print "" }