pcb-rnd scripting - Rosetta

The Rosetta Stone of pcb-rnd scripting is a collection of example scripts implemented in various scripting languages. Rosetta has multiple purposes:

Each example comes with an explanation, written in plain English about what the scripts do, step by step. Instead of trying to exploit powerful features of the language, example implementations try to be simple.

The list below is ordered from the least complex to the most complex examples. Column lvl is the complexity score. The less the score is, the simpler the example is.

Index of examples

lvlexample languages description
10 hello world (text, log) awk bash lua perl python ruby scheme stutter tcl Create a new action hello() that prints "Hello world!" in the message log.
10 hello world (popup window) awk bash lua perl python ruby scheme stutter tcl Create a new action hello() that prints "Hello world!" in a popup window.
12 hello world (popup window + submenu) awk bash lua perl python ruby scheme stutter tcl Create a new action hello() that prints "Hello world!" in a popup window, create a menu (under "Plugins/GPMI scripting/") that executes the action.
30 action: move selected objects awk bash lua perl python ruby scheme stutter tcl Create a new action mv(dx,dy) that moves selected objects relative by dx and dy mm.
35 drill list exporter awk lua tcl Create a new exporter that prints a list of drills in x,y,dia table in CSV, TSV or text format
90 animated clock on a UI layer awk Create and animate an analog clock on a dedicated UI layer.