G-Code | 03 Linien frameCount
/* Experiment 3 mehrere Linie fraesen: frameCount original script robert laux modified by christine goutrie */ PrintWriter output; void setup() { size(210, 210); // Datei erzeugen output = createWriter("linienStraight.ngc"); output.println("%"); output.println("G 54"); // Framerate runtersetzen, damit man zuschauen kann frameRate(1); } void draw() { // vertikale Position der Linie abh. von frameCount line(10, 10*frameCount, 200, 10*frameCount); // Eilbewegung G0 an Anfangspunkt der Linie // X=10; Y=10*frameCount als String zusgesetzt output.println("G0 X"+(10)+" Y"+(10*frameCount)); // Vorschubbewegung G1 0,5mm ins Material hinein output.println("G1 Z "+"-0.5"+" F300"); // Vorschubbewegung G1 an Endpunkt output.println("G0 X"+(200)+" Y"+(10*frameCount)); // Eilbewegung aus dem Material heraus um 3mm nach oben output.println("G0 Z3"); } void mousePressed() { output.println("M 02"); output.println("%"); output.flush(); output.close(); exit(); }
Dieses Experiment zeigt, wie mehrere Linien gefräst werden können. Dabei wird frameCount genutzt, um eine regelmässige Anordnung zu erzeugen, indem die Y-Koordinate jeweils über 10*frameCount bestimmt wird, so dass die Linien jeweils vertikal einen Abstand von 10px haben.
Hier kann man gut sehen, dass es sinnvoll sein kann, die Frässteuerung analog zu den Zeichenbefehlen in Processing zu programmieren. Dadurch, dass das draw() hier solange durchlaufen wird, bis das Programm durch Mausklick beendet wird, werden auch so viele Linien in die Fräsdatei geschrieben wie in Processing auf die Bühne gezeichnet werden.
Die Fräsanweisungen können in Processing als Zeichenketten zusammengebaut werden. Dabei können feste Werte als auch Variablen verwendet werden.
So ergibt die Anweisung
output.println(„G0 X“+(10)+“ Y“+(10*frameCount));
den Fräsbefehl
G0 X10 Y30 (im 3. Frame)
% G 54 G0 X10 Y10 G1 Z -0.5 F300 G0 X200 Y10 G0 Z3 G0 X10 Y20 G1 Z -0.5 F300 G0 X200 Y20 G0 Z3 G0 X10 Y30 G1 Z -0.5 F300 G0 X200 Y30 G0 Z3 G0 X10 Y40 G1 Z -0.5 F300 G0 X200 Y40 G0 Z3 G0 X10 Y50 G1 Z -0.5 F300 G0 X200 Y50 G0 Z3 G0 X10 Y60 G1 Z -0.5 F300 G0 X200 Y60 G0 Z3 M 02 %
voilá: die erzeugte Fräsdatei, um die in Processing nacheinander erzeugten Linie zu fräsen. Der Abbruch erfolgt durch Mausklick und sollte so frühzeitig erfolgen, dass die Linien noch auf dem Material, das gefräst wird, liegen.
ACHTUNG
Während Processing in Pixeln rechnet, rechnet die G-Codes in mm; deshalb wird 1px in 1mm übersetzt.