Toolbox Interactiondesign


Generative Gestaltung Goes Analog

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.

08.01.2013 | cgoutrie |