Toolbox Interactiondesign


Toolbox

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.

06.01.2013 | cgoutrie |