:persist wxpoint "Geometry [X,Y] Create a wxpoint" pcbnew list swap list wxPoint callargs ; :persist toptextobj "Elements Get the top level text objects." drawings EDA_TEXT filtertype ; :persist valuetextobj "Elements Get all module's Value text objects." modules Value call ; :persist referencetextobj "Elements Get all module's Reference text objects." modules Reference call ; :persist moduletextobj "Elements Get all module's text objects that are not Value and not Reference." modules GraphicalItems calllist EDA_TEXT filtertype ; :persist drawparams "Draw [THICKNESS,WIDTH,HEIGHT LAYER] Set drawing parameters for future draw commands.\nExample: 1,5,5 mm F.Fab drawparams" 'l param t,w,h param ; :persist textfromobj "Elements [TEXTOBJECT] Get the text string from a text object." GetShownText call ; :persist valuetext "Elements Get all module's Value text as a string." modules GetValue call ; :persist referencetext "Elements Get all module's Reference text as a string." modules GetReference call ; :persist not "Programming [VALUELIST] Invert the boolean value. False, 0, None becomes True and True, non-zero, non-empty list becomes False." ' = ; :persist copy "Programming Copies the top of the stack." 0 pick ; :persist setselect "Elements [OBJECTLIST] Sets the objects as Selected." SetSelected call pop ; :persist clearselect "Elements [OBJECTLIST] Sets the objects as Unselected." ClearSelected call pop ; :persist orthogonal "Draw Make the angle between all elements a integer multiple 90 degrees." 90 makeangle ; :persist clearallselected "Elements Clear the selection of all items." modules copy GetReference call clearselect copy GetValue call clearselect copy GraphicalItems calllist clearselect clearselect pads clearselect tracks clearselect drawings clearselect ; :persist outlinepads "Draw Outline all pads using line segments with the layer and width specified by drawparams." pads copy corners swap copy GetCenter call swap GetOrientationDegrees call rotatepoints drawpoly ; :persist outlinetext "Draw Outline all text objects with the layer and width specified by drawparams." valuetextobj referencetextobj append moduletextobj append toptextobj append copy GetTextBox call corners swap copy GetCenter call swap copy GetTextAngleDegrees call swap GetParent call Cast call GetOrientationDegrees call +l rotatepoints drawpoly ; :persist outlinetoptext "Draw Outline all top text objects with the layer and width specified by drawparams." toptextobj copy GetTextBox call corners swap copy GetCenter call swap GetTextAngleDegrees call rotatepoints drawpoly ; ; :persist texttosegments "Draw [TEXTOBJLIST LAYER] Copies text objects in TEXTOBJLIST to LAYER." swap copy GetThickness call list swap topoints pairwise 2 pick tosegments copy 2 pick SetWidth callargs pop swap pop swap pop ; :persist regularsize "Draw,Geometry [SIDELENGTH] [PARALLELANGLE] regularsize takes the selected segments, joins them into a regular polygon, then sizes the edges to the specified length, and places one of the edges parallel to the specified angle Example: 30 mm 0 regularsize" drawings selected copy connect copy regular copy copy length delist stack 4 pick swap /f scale copy delist list angle delist 2 pick swap -f rotate pop pop ; :persist range "Programming [START,STOP,INC] Returns a list of numbers" builtins 'range sindex list stack swap int list fcallargs delist ; :persist len "Conversion [LIST] return the length of the list" ilist list list builtins 'len sindex list swap stack fcallargs sum stack ; :persist newboard "Elements Create a new empty board and make it the current board." pcbnew list BOARD call delist Board spush ; :persist newadd "Elements [TYPE PARENT] Add a new element of TYPE to PARENT. Returns the new module." list copy pcbnew list swap list 3 pick callargs 1 pick 1 pick list Add callargs pop swap pop swap pop delist ; :persist drawsegments "Draw [POINTSLIST] Alias for drawpoly." drawpoly ; :persist true "Programming Returns the value True." 1 bool ; :persist false "Programming Returns the value False."' bool ; :persist regexref "Filter,Comparison [MODULELIST REGULAREXPRESSION] return only those modules in MODULELIST whose reference are matched by the REGULAREXPRESSION" swap copy GetReference call 2 pick regex isnotnone filter swap pop ; :persist refobj "Elements [MODULELIST] Return the reference objects of the modules" Reference call ; :persist setvisible "Elements [OBJECTLIST] Set the objects to visible." true SetVisible callargs pop ; :persist clearvisible "Elements [OBJECTLIST] Set the objects to invisible." false SetVisible callargs pop ;