==================================== **Debugging-commands in the script** ==================================== .. role:: red Befehle, die die Skript-Programmierung vereinfachen oder die Fehlersuche erleichtern. Deaktivieren von Skript-Teilen ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **Block-Kommentierung** +-----+-----------------------+ | -[[ | Blockkommentar Beginn | +-----+-----------------------+ | -]] | Blockkommentar Ende | +-----+-----------------------+ Beispiel für einen auskommentierten, inaktiven Skript-Teil :: --[[ run_models("pm_sym_fast"); post_models("r_torque","T") --]] Debugging-Befehle ^^^^^^^^^^^^^^^^^ Siehe hierzu auch Befehle des Abschnitts :any:`script-exe`. .. admonition:: Command: debug.fsl ( ) Unterbricht die Skriptausführung und aktiviert den interaktiven Debugger, **Example:** :: nc_line_cont(x[11],y[11],0) nc_line_cont(x[2],y[2],0) -- DEBUGGING debug.fsl() -- activate the FSL debugger debug() -- ... deprecated since FEMAG version 8.4 create_mesh_se(Da/2-hj/2,0+hj/2) .. admonition:: Command: set_break ( *Z* ) Setzt Haltepunkt auf die angegebene Zeile, **Parameter** :red:`Z` Zeilennummer oder here für die aktuelle Zeile (Angabe "here" in Anführungszeichen ist zu bevorzugen). **Example:** :: nc_circle(x[1],y[1],x[2],y[2],360/P/agnp+1) nc_circle(x[3],y[3],x[4],y[4],0) nc_circle(x[5],y[5],x[6],y[6],0) nc_circle(x[7],y[7],x[8],y[8],0) -- DEBUGGING sleep(3) -- wait for 3 seconds set_break(157) -- set breakpoint at line 157 nc_line(x[7],y[7],x[5],y[5],0) nc_line_cont(x[3],y[3],0) **Example:** :: x0,y0 = pd2c(Di/2-ag*2/3,360*Pm/P) x1,y1 = pd2c(Di/2-ag/3,360*Pm/P) nc_line(x0,y0,x1,y1,0) -- DEBUGGING set_break("here") -- set breakpoint here create_mesh_se(Di/2-ag/2,ag) Befehle zur grafischen Ausgabe ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **Bemerkungen** Punkt- oder Farbattribute sollten in aktuellen FEMAG-Versionen in Form von Zeichenketten angegeben werden, z. B. "red" anstatt red. .. admonition:: Command: point ( x1, y1, color, type ) Stellt einen Punkt im Grafikfenster dar **Parameter** | :red:`x1/y1` Koordinaten | :red:`color` Farbe (red, green, blue, black, ... ) | :red:`type` Typ (1, "dot", "." oder 2, "cross", "x" oder 3, "star", "*" oder 4, "circle", "o" ...) **Beispiel**:: point(3.5,9.7,red,1) -- deprecated version point(3.5,9.7,"red","dot") -- to prefer point(3.5,9.7,"red",".") -- ... with symbolic point-type specifier .. admonition:: Command: line ( x1, y1, x2, y2, colot ) Stellt eine Gerade im Grafikfenster dar **Parameter** | :red:`x1/y1` Koordinaten Anfang | :red:`x2/y2` Koordinaten Ende | :red:`colot` Farbe (red, green, blue, black, ... ) .. admonition:: Command: text ( x1, y1, "Text", color, size ) Stellt den angegebenen Text im Grafikfenster dar **Parameter** | :red:`x1/y1` Koordinaten | :red:`Text` Auszugebender Text | :red:`color` Farbe (red, green, blue, black, ...) | :red:`size` Größe **Example:** :: nc_line_cont(x[11],y[11],0) nc_line_cont(x[2],y[2],0) -- DEBUGGING point(x[2],y[2],"red",".") -- Ausgaben im Grafikfenster zur Überprüfung text(x[2],y[2],"P2","red",1) -- charakteristischer Geometriepunkte point(x[11],y[11],"red",".") text(x[11],y[11],"P11","red",1) line(x[11],y[11],x[2],y[2],"red") debug.fsl() -- Aktiviere Debugger