G-Code | 05 Linien for-Schleife
/* Experiment 5 mehrere Linie fraesen: for Schleife original script robert laux modified by christine goutrie */ PrintWriter output; void setup() { background(255); size(210, 210); output = createWriter("linesFor.ngc"); output.println("%"); output.println("G 54"); // Framerate runtersetzen, damit man zuschauen kann frameRate(1); } void draw() { // 50 Linien im Abstand von 4px for (int i=1; i<=50; i++) { line(10, 4*i, 200, 4*i); // Eilbewegung G0 an Anfangspunkt der Linie // X=10; Y=10*frameCount als String zusgesetzt output.println("G0 X"+10+" Y"+(4*i)); // Vorschubbewegung G1 0,5mm ins Material hinein output.println("G1 Z "+"-0.5"+" F300"); // Vorschubbewegung G1 an Endpunkt output.println("G0 X"+(200)+" Y"+(4*i)); // Eilbewegung aus dem Material heraus um 3mm nach oben output.println("G0 Z3"); } noLoop(); } void mousePressed() { saveFrame("linesFor.png"); output.println("M 02"); output.println("%"); output.flush(); output.close(); exit(); }
Dieses Experiment zeigt wie die G-Codes innerhalb einer for
Schleife erzeugt werden können.
Dabei können die Parameter des line
Befehls fast direkt in Parameter der G-Codes übersetzt werden.
% G 54 G0 X10 Y4 G1 Z -0.5 F300 G0 X200 Y4 G0 Z3 G0 X10 Y8 G1 Z -0.5 F300 G0 X200 Y8 G0 Z3 G0 X10 Y12 G1 Z -0.5 F300 G0 X200 Y12 G0 Z3 G0 X10 Y16 G1 Z -0.5 F300 G0 X200 Y16 G0 Z3 …45x… G0 X10 Y200 G1 Z -0.5 F300 G0 X200 Y200 G0 Z3 M 02 %
Die G-Code Datei für das Fräsen von 50 Linien im Abstand von 4mm; wobei 45 Blöcke nur angedeutet wurden.
ACHTUNG
Während Processing in Pixeln rechnet, rechnet die G-Codes in mm; deshalb wird 1px in 1mm übersetzt.