Toolbox Interactiondesign


Generative Gestaltung

Line opens space in surfaces

Lena Hellmann, 01.08.2013 | Generative Gestaltung Goes Analog bei Prof. Dr. Christine Goutrié

Bei dem Projekt „line opens space in surfaces“ handelt es sich um eine durch 3D-Experimente entwickelte Schriftart, die lediglich durch gleichmäßig lange und im selben Winkel stehende Linien konstruiert und programmiert wurde.

Bereits zum Zeitpunkt der Recherche interessierte mich der Einsatz simpler Linienzüge aus denen sich Muster, Schriften und dreidimensionale Gebilde ergeben.

Präsentation

Lena Hellmann, 01.08.2013 | Generative Gestaltung Goes Analog bei Prof. Dr. Christine Goutrié

Das Projekt wurde zunächst im internen Kreis mit PDF und den analogen Arbeiten präsentiert. Zur SINNflut wurden dann die gelungenen und die beabsichtigt fehlgeschlagenen analogen Ergebnisse in einer kleinen Ausstellung gezeigt. Das Besondere an dieser SINNflut war, dass die Besucher gemeinsam mit den Studenten an der Fräse arbeiten durften und so den Prozesses „vom Code ins Analoge“ hautnah miterleben konnten.

Konzept

Lena Hellmann, 01.08.2013 | Generative Gestaltung Goes Analog bei Prof. Dr. Christine Goutrié

Das Projekt „line opens space in surfaces“ ist eine Weiterführung meiner Versuchsreihen, Muster mit dreidimensionaler Wirkung zu erschaffen und ins Analoge zu übertragen. Ein weiterer Grund für die Projektfindung war die Faszination „Linie“. Sie erschafft Dinge „auf dem Blatt“ ohne diese konkret umreißen zu müssen.

Zudem kam die Erkenntnis dazu, mit Unterfunktionen programmierte Konstrukte konkret anzusprechen und dann auf der Bühne zu positionieren. Ich entwickelte das Alphabet, in dem jeder Buchstabe aus der Anordnung mehrerer gleicher Linien mit einer bestimmten Länge und einem fix angelegten Winkel bestand. Durch die Unterteilung der Bühne in Rasterzellen durch for- Schleifen konnte man nun die Buchstaben beliebig aneinander reihen und Worte bilden.

Da die Übertragung vieler einzelner Linien, allein nur für einen Buchstaben, viel Zeit in Anspruch nahm, kam bislang nur das Material Papier zum Einsatz, welches mit dem Stift bemalt oder mit dem Fräskopf „angekratzt“ wurde.

Die Schrift ist klar und wirkt trotz der eher abstrakten Annäherung an das Alphabet sehr steril. Unterstützt wird diese Wirkung zusätzlich durch die mit der Fräse überdurchschnittlich präzise gezogenen Linien. Die Schrift ist bereits in mehreren Größen vorhanden (siehe Programmcode). Die Größenvielfalt lässt sich durch einen Austausch der Variablen beliebig weiter fortführen.

Ausblick

Lena Hellmann, 01.08.2013 | Generative Gestaltung Goes Analog bei Prof. Dr. Christine Goutrié

Wenn ich …

  • heute noch einmal beginnen müsste, würde ich mich wieder ähnlich an die Materie herantasten. Zunächst würde ich versuchen den Grundbaustein zu verstehen, mit dem ich dann später riesige abstrakte Codes gestalten könnte. Mein Interesse den Programmierungen auf den Grund zu gehen, wurde durch das Projekt „GGG Analog“ geweckt. Nun gilt es sich erweiterten Programmierungen zu widmen.
  • noch 3 Monate mehr Zeit bekäme, würde ich mich damit beschäftigen für die Buchstaben ein Programm zu schreiben, in dem man lediglich einen Satz niederschreiben müsste, der sich dann selbstständig auf der Bühne anordnet würde, ohne wie bislang jeden Buchstaben separat anordnen zu müssen. Außerdem würde ich mich an andere komplexe Programmierungen bzgl. Schriften und Schriftgestaltung wagen und in einem weiteren Projekt noch einmal Linien als Gestaltungsbasis in eine Schrift einfließen lassen.
  • dann noch mit 100.000 Euro gefördert werde würde, würde ich die Schriften in großer Vielfalt in die verschiedensten Materialien analog übertragen. Der Sprung in den dreidimensionalen Bereich für Schrift wäre gegeben. Und es würde definitiv nicht bei einer maximalen Größe von DIN A2 bleiben.

Programmcode

Lena Hellmann, 01.08.2013 | Generative Gestaltung Goes Analog bei Prof. Dr. Christine Goutrié

Der folgende Code hat feste Unterfunktionen, die die einzelnen Buchstaben bilden. Ruft man die Unterfunktionen nun im void draw() über simple Aufführung und zugeordneter Position auf der Bühne auf , kann ganz einfach der eigene Schriftzug formuliert werden. Ändert man zusätzlich die Größen int RasterB, int RasterH, int abstand und proportional dazu int abstandSchraeg, kann man die Buchstaben vergrößern und verkleinern.

Ausprobieren! Processing herunterladen, den folgenden Code einfügen und deinen eigenen Satz formulieren.

/*Schriftzug: In gold we trust.
gespiegelt für die Fräse im Format 192/240 (Breite/Hoehe)
_hier wurde das komplette Alphabet in die Datei geschrieben mit Unterfunktionen
 es werden jedoch nur fuer den Satz relevante Buchstaben im void draw angesprochen
_Informationen über den Aufbau der einzelnen Buchstaben siehe Ordner "AbisZ"
*/

int RasterB = 48/3*2;            //3.2cm
int RasterH = 72/3*2;            //4.8cm
int abstand = 2 ;
float abstandSchraeg = 1.42;            //Abstand für die schraegen Ausrichtungen
int kasten = 2*abstand ;                //zwei Linien pro Kasten
int kBreite = 8*kasten ;                /*Schriftbreite mit Abstand zum naechsten 
                                        Buchstaben // nach rechts*/
int kHoehe =14*kasten ;                 /*Schrifthoehe mit Abstand zur naechsten 
                                        Zeile // nach unten berechnet*/ 
int zehn = 10*kasten ;                  //zehn Kaestchen Laenge
int neun = 9*kasten ;                   //neun Kaestchen Laenge
int acht = 8*kasten ;                   //acht Kaestchen Laenge
int sieben = 7*kasten ;                 //sieben Kaestchen Laenge
int sechs = 6*kasten ;                  //sechs Kaestchen Laenge
int fuenf = 5*kasten ;                  //fuenf Kaestchen Laenge
int vier = 4*kasten ;                   //vier Kaestchen Laenge
int drei = 3*kasten ;                   //drei Kaestchen Laenge
int zwei = 2*kasten ;                   //zwei Kaestchen Laenge
int eins = 1*kasten ;                   //ein Kaestchen Laenge

PrintWriter output;
void setup() {
  background(255);
  stroke(0);
  size(6*RasterB, RasterH*5);
  output = createWriter("in_gold_we_trust.ngc");
  output.println("%");
  output.println("G 54");
}

//verwendete Buchstaben werden aufgerufen und an Koordinaten/Positionen gebunden

void draw() {                                          
  I (RasterB*4+RasterB/2, RasterH*0);
  N (RasterB*3+RasterB/2, RasterH*0);
  G (RasterB*4+RasterB/2, RasterH*1);
  O (RasterB*3+RasterB/2, RasterH*1);
  L (RasterB*2+RasterB/2, RasterH*1);
  D (RasterB*1+RasterB/2, RasterH*1);
  W (RasterB*4+RasterB/2, RasterH*2);
  E (RasterB*3+RasterB/2, RasterH*2);
  T (RasterB*4+RasterB/2, RasterH*3);
  R (RasterB*3+RasterB/2, RasterH*3);
  U (RasterB*2+RasterB/2, RasterH*3);
  S (RasterB*1+RasterB/2, RasterH*3);
  T (RasterB*0+RasterB/2, RasterH*3);
  Punkt (RasterB*4+RasterB/2, RasterH*4-RasterB/2);
  
 noLoop(); 
}


/* Beginn der "Unterfunktionen" von A bis Z incl. Punkt beliebig 
aufzurufen im void draw() */

void Punkt (int e, int f) {
          for (int m=0; m<= zwei; m+=abstand){
            line (e+sieben-m, f+acht,  e+sechs-m, f+sieben);
            output.println("G0 X"+(e+sieben-m)+" Y"+(f+acht));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-m)+" Y"+(f+sieben));
            output.println("G0 Z2");
            line (e+fuenf, f+acht+m, e+vier, f+sieben+m);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+acht+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+sieben+m));
            output.println("G0 Z2");
          }
}

void A (int e, int f) {
          for (int i=0; i<= acht; i+=abstand){
            line (e+eins, f+zwei+i, e+0, f+eins+i);
            output.println("G0 X"+(e+eins)+" Y"+(f+zwei+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+eins+i));
            output.println("G0 Z2");
          }
          for (int j=0; j<= vier; j+=abstand){
            line (e+sechs-j, f+eins, e+fuenf-j, f+0);
            output.println("G0 X"+(e+sechs-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenf-j)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          for (int k=0; k<= eins; k+=abstand){
            line (e+fuenf-k, f+fuenf, e+vier-k, f+vier);
            output.println("G0 X"+(e+fuenf-k)+" Y"+(f+fuenf));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-k)+" Y"+(f+vier));
            output.println("G0 Z2");
            line (e+fuenf, f+fuenf-k, e+vier, f+vier-k);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+fuenf-k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+vier-k));
            output.println("G0 Z2");
          }
          for (int m=0; m<= zwei; m+=abstand){
            line (e+fuenf, f+acht+m, e+vier, f+sieben+m);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+acht+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+sieben+m));
            output.println("G0 Z2");
          }
          for (int l=0; l<= eins; l+=abstandSchraeg){
            line (e+zwei-l, f+eins+l, e+eins-l, f+0+l);
            output.println("G0 X"+(e+zwei-l)+" Y"+(f+eins+l));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-l)+" Y"+(f+0+l));
            output.println("G0 Z2");
          }
          line (e+sieben, f+zwei, e+sechs, f+eins);
          output.println("G0 X"+(e+sieben)+" Y"+(f+zwei));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+sechs)+" Y"+(f+eins));
          output.println("G0 Z2");
}

void B (int e, int f) {
          for (int i=0; i<= fuenf; i+=abstand){
            line (e+sieben-i, f+eins,  e+sechs-i, f+0);
            output.println("G0 X"+(e+sieben-i)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-i)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          for (int j=0; j<= drei; j+=abstand){
            line (e+eins, f+sechs+j, e+0, f+fuenf+j);
            output.println("G0 X"+(e+eins)+" Y"+(+sechs+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+fuenf+j));
            output.println("G0 Z2");
          }
          for (int k=0; k<= eins; k+=abstand){
            line (e+fuenf-k, f+vier, e+vier-k, f+drei);
            output.println("G0 X"+(e+fuenf-k)+" Y"+(f+vier));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-k)+" Y"+(f+drei));
            output.println("G0 Z2");
            line (e+fuenf-k, f+acht, e+vier-k, f+sieben);
            output.println("G0 X"+(e+fuenf-k)+" Y"+(f+acht));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-k)+" Y"+(f+sieben));
            output.println("G0 Z2");
            line (e+fuenf, f+acht-k, e+vier, f+sieben-k);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+acht-k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+sieben-k));
            output.println("G0 Z2");
          }
          for (int l=0; l<= zwei; l+=abstand){
            line (e+eins, f+zwei+l, e+0, f+eins+l);
            output.println("G0 X"+(e+eins)+" Y"+(f+zwei+l));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+eins+l));
            output.println("G0 Z2");
          }
          for (int m=0; m<= eins; m+=abstandSchraeg){
            line (e+zwei-m, f+eins+m, e+eins-m, f+0+m);
            output.println("G0 X"+(e+zwei-m)+" Y"+(f+eins+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
            line (e+zwei-m, f+fuenf+m, e+eins-m, f+vier+m);
            output.println("G0 X"+(e+zwei-m)+" Y"+(f+fuenf+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-m)+" Y"+(f+vier+m));
            output.println("G0 Z2");
          }
          line (e+zwei, f+zehn, e+eins, f+neun);
          output.println("G0 X"+(e+zwei)+" Y"+(f+zehn));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+eins)+" Y"+(f+neun));
          output.println("G0 Z2");
}

void C (int e, int f) {
            for (int j=0; j<= vier; j+=abstand){
            line (e+sechs-j, f+eins,  e+fuenf-j, f+0);
            output.println("G0 X"+(e+sechs-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenf-j)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          for (int k=0; k<= drei; k+=abstand){
            line (e+eins, f+sechs+k, e+0, f+fuenf+k);
            output.println("G0 X"+(e+eins)+" Y"+(f+sechs+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+fuenf+k));
            output.println("G0 Z2");
            line (e+fuenf, f+vier+k, e+vier, f+drei+k);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+vier+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+drei+k));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= zwei; l+=abstand){
            line (e+drei-l, f+sechs, e+zwei-l, f+fuenf);
            output.println("G0 X"+(e+drei-l)+" Y"+(f+sechs));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+zwei-l)+" Y"+(f+fuenf));
            output.println("G0 Z2");
            line (e+eins, f+zwei+l, e+0, f+eins+l);
            output.println("G0 X"+(e+eins)+" Y"+(f+zwei+l));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+eins+l));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= eins; m+=abstandSchraeg){
            line (e+zwei-m, f+eins+m, e+eins-m, f+0+m);
            output.println("G0 X"+(e+zwei-m)+" Y"+(f+eins+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
            line (e+fuenf-m, f+sieben+m, e+vier-m, f+sechs+m);
            output.println("G0 X"+(e+fuenf-m)+" Y"+(f+sieben+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-m)+" Y"+(f+sechs+m));
            output.println("G0 Z2");
          }
          
          line (e+sieben, f+zwei, e+sechs, f+eins);
          output.println("G0 X"+(e+sieben)+" Y"+(f+zwei));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+sechs)+" Y"+(f+eins));
          output.println("G0 Z2");
          line (e+zwei, f+zehn, e+eins, f+neun);
          output.println("G0 X"+(e+zwei)+" Y"+(f+zehn));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+eins)+" Y"+(f+neun));
          output.println("G0 Z2");
}

void D (int e, int f) {
          for (int i=0; i<= fuenf; i+=abstand){
            line (e+sieben-i, f+eins,  e+sechs-i, f+0);
            output.println("G0 X"+(e+sieben-i)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-i)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= sieben; j+=abstand){
            line (e+eins, f+zwei+j,  e+0, f+eins+j);
            output.println("G0 X"+(e+eins)+" Y"+(f+zwei+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+eins+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= eins; k+=abstand){
            line (e+fuenf-k, f+acht, e+vier-k, f+sieben);
            output.println("G0 X"+(e+fuenf-k)+" Y"+(f+acht));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-k)+" Y"+(f+sieben));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= vier; l+=abstand){
            line (e+fuenf, f+vier+l, e+vier, f+drei+l);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+vier+l));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+drei+l));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= eins; m+=abstandSchraeg){
            line (e+zwei-m, f+eins+m, e+eins-m, f+0+m);
            output.println("G0 X"+(e+zwei-m)+" Y"+(f+eins+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
            
          }
          
          line (e+zwei, f+zehn, e+eins, f+neun);
          output.println("G0 X"+(e+zwei)+" Y"+(f+zehn));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+eins)+" Y"+(f+neun));
          output.println("G0 Z2");
}

void E (int e, int f) {
          for (int i=0; i<= sechs; i+=abstand){
            line (e+sieben-i, f+eins,  e+sechs-i, f+0);
            output.println("G0 X"+(e+sieben-i)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-i)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+eins, f+eins+j,  e+0, f+0+j);
            output.println("G0 X"+(e+eins)+" Y"+(f+eins+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+j));
            output.println("G0 Z2");
            line (e+eins, f+zehn-j,  e+0, f+neun-j);
            output.println("G0 X"+(e+eins)+" Y"+(f+zehn-j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+neun-j));
            output.println("G0 Z2");
            line (e+zwei, f+vier+j,  e+eins, f+drei+j);
            output.println("G0 X"+(e+zwei)+" Y"+(f+vier+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins)+" Y"+(f+drei+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= eins; k+=abstand){
            line (e+fuenf, f+acht-k, e+vier, f+sieben-k);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+acht-k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+sieben-k));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= vier; l+=abstand){
            line (e+fuenf-l, f+acht, e+vier-l, f+sieben);
            output.println("G0 X"+(e+fuenf-l)+" Y"+(f+acht));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-l)+" Y"+(f+sieben));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= drei; m+=abstand){
            line (e+fuenf-m, f+vier, e+vier-m, f+drei);
            output.println("G0 X"+(e+fuenf-m)+" Y"+(f+vier));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-m)+" Y"+(f+drei));
            output.println("G0 Z2");
          }
}

void F (int e, int f) {
            for (int i=0; i<= sechs; i+=abstand){
            line (e+sieben-i, f+eins,  e+sechs-i, f+0);
            output.println("G0 X"+(e+sieben-i)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-i)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+eins, f+eins+j,  e+0, f+0+j);
            output.println("G0 X"+(e+eins)+" Y"+(f+eins+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+j));
            output.println("G0 Z2");
            line (e+zwei, f+vier+j,  e+eins, f+drei+j);
            output.println("G0 X"+(e+zwei)+" Y"+(f+vier+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins)+" Y"+(f+drei+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= drei; k+=abstand){
            line (e+fuenf-k, f+vier, e+vier-k, f+drei);
            output.println("G0 X"+(e+fuenf-k)+" Y"+(f+vier));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-k)+" Y"+(f+drei));
            output.println("G0 Z2");
            line (e+fuenf, f+sieben+k, e+vier, f+sechs+k);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+sieben+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+sechs+k));
            output.println("G0 Z2");
          }
}

void G (int e, int f) {
          for (int j=0; j<= vier; j+=abstand){
            line (e+sechs-j, f+eins,  e+fuenf-j, f+0);
            output.println("G0 X"+(e+sechs-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenf-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+fuenf, f+vier+j,  e+vier, f+drei+j);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+vier+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+drei+j));
            output.println("G0 Z2");
            line (e+eins, f+fuenf+j,  e+0, f+vier+j);
            output.println("G0 X"+(e+eins)+" Y"+(f+fuenf+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+vier+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= drei; k+=abstand){
            line (e+vier-k, f+fuenf, e+drei-k, f+vier);
            output.println("G0 X"+(e+vier-k)+" Y"+(f+fuenf));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+drei-k)+" Y"+(f+vier));
            output.println("G0 Z2");
          }
          
          for (int n=0; n<= eins; n+=abstand){
            line (e+fuenf-n, f+acht, e+vier-n, f+sieben);
            output.println("G0 X"+(e+fuenf-n)+" Y"+(f+acht));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-n)+" Y"+(f+sieben));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= zwei; l+=abstand){
            line (e+eins, f+zwei+l, e+0, f+eins+l);
            output.println("G0 X"+(e+eins)+" Y"+(f+zwei+l));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+eins+l));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= eins; m+=abstandSchraeg){
            line (e+zwei-m, f+eins+m, e+eins-m, f+0+m);
            output.println("G0 X"+(e+zwei-m)+" Y"+(f+eins+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
          }
          
          line (e+sieben, f+zwei, e+sechs, f+eins);
          output.println("G0 X"+(e+sieben)+" Y"+(f+zwei));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+sechs)+" Y"+(f+eins));
          output.println("G0 Z2");
          line (e+zwei, f+zehn, e+eins, f+neun);
          output.println("G0 X"+(e+zwei)+" Y"+(f+zehn));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+eins)+" Y"+(f+neun));
          output.println("G0 Z2");
}

void H (int e, int f) {
          for (int i=0; i<= neun; i+=abstand){
            line (e+eins, f+eins+i,  e+0, f+0+i);
            output.println("G0 X"+(e+eins)+" Y"+(f+eins+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+sieben-j, f+eins, e+sechs-j, f+0);
            output.println("G0 X"+(e+sieben-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+drei-j, f+eins, e+zwei-j, f+0);
            output.println("G0 X"+(e+drei-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+zwei-j)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= drei; k+=abstand){
            line (e+fuenf, f+eins+k, e+vier, f+0+k);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+eins+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+0+k));
            output.println("G0 Z2");
            line (e+fuenf, f+sieben+k, e+vier, f+sechs+k);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+sieben+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+sechs+k));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= eins; l+=abstand){
            line (e+fuenf-l, f+vier,  e+vier-l, f+drei);
            output.println("G0 X"+(e+fuenf-l)+" Y"+(f+vier));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-l)+" Y"+(f+drei));
            output.println("G0 Z2");
          }
}

void I (int e, int f) {
          for (int i=0; i<= zwei; i+=abstand){
            line (e+sechs-i, f+eins,  e+fuenf-i, f+0);
            output.println("G0 X"+(e+sechs-i)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenf-i)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= neun; j+=abstand){
            line (e+vier, f+eins+j,  e+drei, f+0+j);
            output.println("G0 X"+(e+vier)+" Y"+(f+eins+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+drei)+" Y"+(f+0+j));
            output.println("G0 Z2");
          }
}

void J (int e, int f) {
          for (int i=0; i<= sechs; i+=abstand){
            line (e+sieben-i, f+eins,  e+sechs-i, f+0);
            output.println("G0 X"+(e+sieben-i)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-i)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+sieben-j, f+sechs,  e+sechs-j, f+fuenf);
            output.println("G0 X"+(e+sieben-j)+" Y"+(f+sechs));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-j)+" Y"+(f+fuenf));
            output.println("G0 Z2");
            line (e+fuenf, f+sechs+j,  e+vier, f+fuenf+j);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+sechs+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+fuenf+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= acht; k+=abstand){
            line (e+eins, f+eins+k, e+0, f+0+k);
            output.println("G0 X"+(e+eins)+" Y"+(f+eins+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+k));
            output.println("G0 Z2");
          }
          
           for (int l=0; l<= eins; l+=abstand){
            line (e+fuenf-l, f+acht, e+vier-l, f+sieben);
            output.println("G0 X"+(e+fuenf-l)+" Y"+(f+acht));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-l)+" Y"+(f+sieben));
            output.println("G0 Z2");
          }
          
          line (e+zwei, f+zehn, e+eins, f+neun);
          output.println("G0 X"+(e+zwei)+" Y"+(f+zehn));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+eins)+" Y"+(f+neun));
          output.println("G0 Z2");
}

void K (int e, int f) {
          for (int i=0; i<= vier; i+=abstand){
            line (e+eins, f+sechs+i,  e+0, f+fuenf+i);
            output.println("G0 X"+(e+eins)+" Y"+(f+sechs+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+fuenf+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+sieben-j, f+eins,  e+sechs-j, f+0);
            output.println("G0 X"+(e+sieben-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+drei-j, f+eins,  e+zwei-j, f+0);
            output.println("G0 X"+(e+drei-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+zwei-j)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= drei; k+=abstand){
            line (e+fuenf, f+eins+k, e+vier, f+0+k);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+eins+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+0+k));
            output.println("G0 Z2");
            line (e+fuenf, f+sieben+k, e+vier, f+sechs+k);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+sieben+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+sechs+k));
            output.println("G0 Z2");
            line (e+eins, f+eins+k, e+0, f+0+k);
            output.println("G0 X"+(e+eins)+" Y"+(f+eins+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+k));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= eins; l+=abstand){
            line (e+fuenf-l, f+vier,  e+vier-l, f+drei);
            output.println("G0 X"+(e+fuenf-l)+" Y"+(f+vier));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-l)+" Y"+(f+drei));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= eins; m+=abstandSchraeg){
            line (e+zwei-m, f+fuenf+m, e+eins-m, f+vier+m);
            output.println("G0 X"+(e+zwei-m)+" Y"+(f+fuenf+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-m)+" Y"+(f+vier+m));
            output.println("G0 Z2");
          }
}

void L (int e, int f) {
          for (int i=0; i<= sieben; i+=abstand){
            line (e+fuenf, f+eins+i,  e+vier, f+0+i);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+eins+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+0+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+sieben-j, f+eins,  e+sechs-j, f+0);
            output.println("G0 X"+(e+sieben-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+eins, f+acht+j, e+0, f+sieben+j);
            output.println("G0 X"+(e+eins)+" Y"+(f+acht+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+sieben+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= vier; k+=abstand){
            line (e+fuenf-k, f+acht, e+vier-k, f+sieben);
            output.println("G0 X"+(e+fuenf-k)+" Y"+(f+acht));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-k)+" Y"+(f+sieben));
            output.println("G0 Z2");
          }
}

void M (int e, int f) {
          for (int i=0; i<= neun; i+=abstand){
            line (e+eins, f+eins+i, e+0, f+0+i);
            output.println("G0 X"+(e+eins)+" Y"+(f+eins+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+sieben-j, f+eins,  e+sechs-j, f+0);
            output.println("G0 X"+(e+sieben-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+drei-j, f+eins,  e+zwei-j, f+0);
            output.println("G0 X"+(e+drei-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+zwei-j)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= vier; k+=abstand){
            line (e+fuenf, f+sechs+k, e+vier, f+fuenf+k);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+sechs+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+fuenf+k));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= eins; m+=abstandSchraeg){
            line (e+fuenf-m, f+eins+m, e+vier-m, f+0+m);
            output.println("G0 X"+(e+fuenf-m)+" Y"+(f+eins+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
          }
          
          line (e+vier, f+fuenf, e+drei, f+vier);
          output.println("G0 X"+(e+vier)+" Y"+(f+fuenf));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+drei)+" Y"+(f+vier));
          output.println("G0 Z2");
}

void N (int e, int f) {
          for (int i=0; i<= neun; i+=abstand){
            line (e+eins, f+eins+i, e+0, f+0+i);
            output.println("G0 X"+(e+eins)+" Y"+(f+eins+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+drei-j, f+eins,  e+zwei-j, f+0);
            output.println("G0 X"+(e+drei-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+zwei-j)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= drei; k+=abstand){
            line (e+fuenf, f+sieben+k, e+vier, f+sechs+k);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+sieben+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+sechs+k));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= eins; l+=abstand){
            line (e+sieben-l, f+eins, e+sechs-l, f+0);
            output.println("G0 X"+(e+sieben-l)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-l)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= zwei; m+=abstandSchraeg){
            line (e+sechs-m, f+eins+m, e+fuenf-m, f+0+m);
            output.println("G0 X"+(e+sechs-m)+" Y"+(f+eins+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenf-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
          }
}

void O (int e, int f) {
          for (int i=0; i<= sieben; i+=abstand){
            line (e+eins, f+zwei+i,  e+0, f+eins+i);
            output.println("G0 X"+(e+eins)+" Y"+(f+zwei+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+eins+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= vier; j+=abstand){
            line (e+sechs-j, f+eins, e+fuenf-j, f+0);
            output.println("G0 X"+(e+sechs-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenf-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+fuenf, f+vier+j,  e+vier, f+drei+j);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+vier+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+drei+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= eins; k+=abstand){
            line (e+fuenf-k, f+acht, e+vier-k, f+sieben);
            output.println("G0 X"+(e+fuenf-k)+" Y"+(f+acht));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-k)+" Y"+(f+sieben));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= eins; m+=abstandSchraeg){
            line (e+zwei-m, f+eins+m, e+eins-m, f+0+m);
            output.println("G0 X"+(e+zwei-m)+" Y"+(f+eins+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
          }
          
          line (e+sieben, f+zwei, e+sechs, f+eins);
          output.println("G0 X"+(e+sieben)+" Y"+(f+zwei));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+sechs)+" Y"+(f+eins));
          output.println("G0 Z2");
          line (e+zwei, f+zehn, e+eins, f+neun);
          output.println("G0 X"+(e+zwei)+" Y"+(f+zehn));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+eins)+" Y"+(f+neun));
          output.println("G0 Z2");
}

void P (int e, int f) {
          for (int i=0; i<= fuenf; i+=abstand){
            line (e+sieben-i, f+eins,  e+sechs-i, f+0);
            output.println("G0 X"+(e+sieben-i)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-i)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= vier; j+=abstand){
            line (e+eins, f+zwei+j,  e+0, f+eins+j);
            output.println("G0 X"+(e+eins)+" Y"+(f+zwei+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+eins+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= eins; k+=abstand){
            line (e+fuenf-k, f+fuenf, e+vier-k, f+vier);
            output.println("G0 X"+(e+fuenf-k)+" Y"+(f+fuenf));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-k)+" Y"+(f+vier));
            output.println("G0 Z2");
            line (e+fuenf, f+vier+k, e+vier, f+drei+k);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+vier+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+drei+k));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= zwei; l+=abstand){
            line (e+fuenf, f+acht+l, e+vier, f+sieben+l);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+acht+l));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+sieben+l));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= eins; m+=abstandSchraeg){
            line (e+zwei-m, f+eins+m, e+eins-m, f+0+m);
            output.println("G0 X"+(e+zwei-m)+" Y"+(f+eins+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
          }
          
          line (e+zwei, f+sieben, e+eins, f+sechs);
          output.println("G0 X"+(e+zwei)+" Y"+(f+sieben));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+eins)+" Y"+(f+sechs));
          output.println("G0 Z2");
}

void Q (int e, int f) {
          for (int i=0; i<= fuenf; i+=abstand){
            line (e+eins, f+zwei+i,  e+0, f+eins+i);
            output.println("G0 X"+(e+eins)+" Y"+(f+zwei+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+eins+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= vier; j+=abstand){
            line (e+sechs-j, f+eins,  e+fuenf-j, f+0);
            output.println("G0 X"+(e+sechs-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenf-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+fuenf, f+vier+j,  e+vier, f+drei+j);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+vier+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+drei+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= eins; k+=abstand){
            line (e+zwei-k, f+acht, e+eins-k, f+sieben);
            output.println("G0 X"+(e+zwei-k)+" Y"+(f+acht));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-k)+" Y"+(f+sieben));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= zwei; l+=abstand){
            line (e+eins, f+acht+l, e+0, f+sieben+l);
            output.println("G0 X"+(e+eins)+" Y"+(f+acht+l));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+sieben+l));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= eins; m+=abstandSchraeg){
            line (e+zwei-m, f+eins+m, e+eins-m, f+0+m);
            output.println("G0 X"+(e+zwei-m)+" Y"+(f+eins+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
          }
          
          line (e+sieben, f+zwei, e+sechs, f+eins);
          output.println("G0 X"+(e+sieben)+" Y"+(f+zwei));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+sechs)+" Y"+(f+eins));
          output.println("G0 Z2");
          line (e+vier, f+sieben, e+drei, f+sechs);
          output.println("G0 X"+(e+vier)+" Y"+(f+sieben));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+drei)+" Y"+(f+sechs));
          output.println("G0 Z2");
}

void R (int e, int f) {
          for (int i=0; i<= fuenf; i+=abstand){
            line (e+sieben-i, f+eins,  e+sechs-i, f+0);
            output.println("G0 X"+(e+sieben-i)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-i)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= eins; j+=abstand){
            line (e+fuenf-j, f+vier, e+vier-j, f+drei);
            output.println("G0 X"+(e+fuenf-j)+" Y"+(f+vier));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-j)+" Y"+(f+drei));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= drei; k+=abstand){
            line (e+eins, f+zwei+k, e+0, f+eins+k);
            output.println("G0 X"+(e+eins)+" Y"+(f+zwei+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+eins+k));
            output.println("G0 Z2");
            line (e+eins, f+sieben+k, e+0, f+sechs+k);
            output.println("G0 X"+(e+eins)+" Y"+(f+sieben+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+sechs+k));
            output.println("G0 Z2");
            line (e+fuenf, f+sieben+k, e+vier, f+sechs+k);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+sieben+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+sechs+k));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= eins; m+=abstandSchraeg){
            line (e+zwei-m, f+eins+m, e+eins-m, f+0+m);
            output.println("G0 X"+(e+zwei-m)+" Y"+(f+eins+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
            line (e+zwei-m, f+sechs+m, e+eins-m, f+fuenf+m);
            output.println("G0 X"+(e+zwei-m)+" Y"+(f+sechs+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-m)+" Y"+(f+fuenf+m));
            output.println("G0 Z2");
          }
}

void S (int e, int f) {
          for (int i=0; i<= fuenf; i+=abstand){
            line (e+sechs-i, f+eins,  e+fuenf-i, f+0);
            output.println("G0 X"+(e+sechs-i)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenf-i)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+eins, f+eins+j,  e+0, f+0+j);
            output.println("G0 X"+(e+eins)+" Y"+(f+eins+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+j));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= eins; l+=abstand){
            line (e+fuenf, f+vier+l,  e+vier, f+drei+l);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+vier+l));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+drei+l));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= drei; k+=abstand){
            line (e+fuenf-k, f+fuenf, e+vier-k, f+vier);
            output.println("G0 X"+(e+fuenf-k)+" Y"+(f+fuenf));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-k)+" Y"+(f+vier));
            output.println("G0 Z2");
            line (e+eins, f+sechs+k, e+0, f+fuenf+k);
            output.println("G0 X"+(e+eins)+" Y"+(f+sechs+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+fuenf+k));
            output.println("G0 Z2");
            line (e+sieben-k, f+acht, e+sechs-k, f+sieben);
            output.println("G0 X"+(e+sieben-k)+" Y"+(f+acht));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-k)+" Y"+(f+sieben));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= eins; m+=abstandSchraeg){
            line (e+zwei-m, f+fuenf+m, e+eins-m, f+vier+m);
            output.println("G0 X"+(e+zwei-m)+" Y"+(f+fuenf+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-m)+" Y"+(f+vier+m));
            output.println("G0 Z2");
          }
          
          line (e+sieben, f+zwei, e+sechs, f+eins);
          output.println("G0 X"+(e+sieben)+" Y"+(f+zwei));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+sechs)+" Y"+(f+eins));
          output.println("G0 Z2");
          line (e+zwei, f+zehn, e+eins, f+neun);
          output.println("G0 X"+(e+zwei)+" Y"+(f+zehn));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+eins)+" Y"+(f+neun));
          output.println("G0 Z2");
}

void T (int e, int f) {
          for (int i=0; i<= sechs; i+=abstand){
            line (e+sieben-i, f+eins,  e+sechs-i, f+0);
            output.println("G0 X"+(e+sieben-i)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-i)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+drei, f+vier+i,  e+zwei, f+drei+i);
            output.println("G0 X"+(e+drei)+" Y"+(f+vier+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+zwei)+" Y"+(f+drei+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+eins, f+eins+j,  e+0, f+0+j);
            output.println("G0 X"+(e+eins)+" Y"+(f+eins+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+j));
            output.println("G0 Z2");
          }
}

void U (int e, int f) {
          for (int i=0; i<= sieben; i+=abstand){
            line (e+fuenf, f+eins+i, e+vier, f+0+i);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+eins+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+0+i));
            output.println("G0 Z2");
          }
          for (int l=0; l<= acht; l+=abstand){
            line (e+eins, f+eins+l, e+0, f+0+l);
            output.println("G0 X"+(e+eins)+" Y"+(f+eins+l));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+l));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+sieben-j, f+eins, e+sechs-j, f+0);
            output.println("G0 X"+(e+sieben-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+drei-j, f+eins, e+zwei-j, f+0);
            output.println("G0 X"+(e+drei-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+zwei-j)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= eins; k+=abstand){
            line (e+fuenf-k, f+acht, e+vier-k, f+sieben);
            output.println("G0 X"+(e+fuenf-k)+" Y"+(f+acht));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-k)+" Y"+(f+sieben));
            output.println("G0 Z2");
          }
          
          line (e+zwei, f+zehn, e+eins, f+neun);
          output.println("G0 X"+(e+zwei)+" Y"+(f+zehn));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+eins)+" Y"+(f+neun));
          output.println("G0 Z2");
}

void V (int e, int f) {
          for (int i=0; i<= sechs; i+=abstand){
            line (e+fuenf, f+eins+i,  e+vier, f+0+i);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+eins+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+0+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+sieben-j, f+eins,  e+sechs-j, f+0);
            output.println("G0 X"+(e+sieben-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+drei-j, f+eins,  e+zwei-j, f+0);
            output.println("G0 X"+(e+drei-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+zwei-j)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= sieben; k+=abstand){
            line (e+eins, f+eins+k, e+0, f+0+k);
            output.println("G0 X"+(e+eins)+" Y"+(f+eins+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+k));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= eins; m+=abstandSchraeg){
            line (e+fuenf-m, f+sieben+m, e+vier-m, f+sechs+m);
            output.println("G0 X"+(e+fuenf-m)+" Y"+(f+sieben+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-m)+" Y"+(f+sechs+m));
            output.println("G0 Z2");
          }
          
          line (e+zwei, f+neun, e+eins, f+acht);
          output.println("G0 X"+(e+zwei)+" Y"+(f+neun));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+eins)+" Y"+(f+acht));
          output.println("G0 Z2");
          line (e+drei, f+zehn, e+zwei, f+neun);
          output.println("G0 X"+(e+drei)+" Y"+(f+zehn));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+zwei)+" Y"+(f+neun));
          output.println("G0 Z2");
}

void W (int e, int f) {
          for (int i=0; i<= sechs; i+=abstand){
            line (e+fuenf, f+eins+i,  e+vier, f+0+i);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+eins+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+0+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+sieben-j, f+eins, e+sechs-j, f+0);
            output.println("G0 X"+(e+sieben-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+drei-j, f+eins, e+zwei-j, f+0);
            output.println("G0 X"+(e+drei-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+zwei-j)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= neun; k+=abstand){
            line (e+eins, f+eins+k, e+0, f+0+k);
            output.println("G0 X"+(e+eins)+" Y"+(f+eins+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+k));
            output.println("G0 Z2");
          }
          
          line (fuenf, zehn, vier, neun);
          output.println("G0 X"+(e+fuenf)+" Y"+(f+zehn));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+vier)+" Y"+(f+neun));
          output.println("G0 Z2");
}

void X (int e, int f) {
          for (int i=0; i<= eins; i+=abstand){
            line (e+fuenf, f+eins+i,  e+vier, f+0+i);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+eins+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+0+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+sieben-j, f+eins,  e+sechs-j, f+0);
            output.println("G0 X"+(e+sieben-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+drei-j, f+eins,  e+zwei-j, f+0);
            output.println("G0 X"+(e+drei-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+zwei-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+eins, f+eins+j,  e+0, f+0+j);
            output.println("G0 X"+(e+eins)+" Y"+(f+eins+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+j));
            output.println("G0 Z2");
            line (e+fuenf, f+acht+j,  e+vier, f+sieben+j);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+acht+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+sieben+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= drei; k+=abstand){
            line (e+eins, f+sieben+k, e+0, f+sechs+k);
            output.println("G0 X"+(e+eins)+" Y"+(f+sieben+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+sechs+k));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= eins; m+=abstandSchraeg){
            line (e+fuenf-m, f+zwei+m, e+vier-m, f+eins+m);
            output.println("G0 X"+(e+fuenf-m)+" Y"+(f+zwei+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-m)+" Y"+(f+eins+m));
            output.println("G0 Z2");
          }
          
          for (int n=0; n<= zwei; n+=abstandSchraeg){
            line (e+drei-n, f+fuenf+n, e+zwei-n, f+vier+n);
            output.println("G0 X"+(e+drei-n)+" Y"+(f+fuenf+n));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+zwei-n)+" Y"+(f+vier+n));
            output.println("G0 Z2");
          }
          
          line (e+sieben, f+sieben, e+sechs, f+sechs);
          output.println("G0 X"+(e+sieben)+" Y"+(f+sieben));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+sechs)+" Y"+(f+sechs));
          output.println("G0 Z2");
          line (e+sechs, f+sechs, e+fuenf, f+fuenf);
          output.println("G0 X"+(e+sechs)+" Y"+(f+sechs));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+fuenf)+" Y"+(f+fuenf));
          output.println("G0 Z2");
          line (e+zwei, f+vier, e+eins, f+drei);
          output.println("G0 X"+(e+zwei)+" Y"+(f+vier));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+eins)+" Y"+(f+drei));
          output.println("G0 Z2");
}

void Y (int e, int f) {
          for (int i=0; i<= vier; i+=abstand){
            line (e+zwei, f+fuenf+i, e+drei, f+sechs+i);
            output.println("G0 X"+(e+zwei)+" Y"+(f+fuenf+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+drei)+" Y"+(f+sechs+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+sieben-j, f+eins,  e+sechs-j, f+0);
            output.println("G0 X"+(e+sieben-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+drei-j, f+eins, e+zwei-j, f+0);
            output.println("G0 X"+(e+drei-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+zwei-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+fuenf, f+eins+j,  e+vier, f+0+j);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+eins+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+0+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= drei; k+=abstand){
            line (e+eins, f+eins+k, e+0, f+0+k);
            output.println("G0 X"+(e+eins)+" Y"+(f+eins+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+k));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= eins; m+=abstandSchraeg){
            line (e+fuenf-m, f+drei+m, e+vier-m, f+zwei+m);
            output.println("G0 X"+(e+fuenf-m)+" Y"+(f+drei+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-m)+" Y"+(f+zwei+m));
            output.println("G0 Z2");
          }
          
          line (e+zwei, f+fuenf, e+eins, f+vier);
          output.println("G0 X"+(e+zwei)+" Y"+(f+fuenf));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+eins)+" Y"+(f+vier));
          output.println("G0 Z2");
}

void Z (int e, int f) {
          for (int i=0; i<= sechs; i+=abstand){
            line (e+sieben-i, f+eins,  e+sechs-i, f+0);
            output.println("G0 X"+(e+sieben-i)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-i)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+eins, f+eins+j,  e+0, f+0+j);
            output.println("G0 X"+(e+eins)+" Y"+(f+eins+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+j));
            output.println("G0 Z2");
            line (e+eins, f+acht+j,  e+0, f+sieben+j);
            output.println("G0 X"+(e+eins)+" Y"+(f+acht+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+sieben+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= vier; k+=abstand){
            line (e+fuenf-k, f+acht, e+vier-k, f+sieben);
            output.println("G0 X"+(e+fuenf-k)+" Y"+(f+acht));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-k)+" Y"+(f+sieben));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= eins; l+=abstand){
            line (e+fuenf, f+acht-l, e+vier, f+sieben-l);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+acht-l));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+sieben-l));
            output.println("G0 Z2");
          }
          
          line (e+vier, f+sechs, e+drei, f+fuenf);
          output.println("G0 X"+(e+vier)+" Y"+(f+sechs));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+drei)+" Y"+(f+fuenf));
          output.println("G0 Z2");
          line (e+drei, f+fuenf, e+zwei, f+vier);
          output.println("G0 X"+(e+drei)+" Y"+(f+fuenf));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+zwei)+" Y"+(f+vier));
          output.println("G0 Z2");
          line (e+zwei, f+vier, e+eins, f+drei);
          output.println("G0 X"+(e+zwei)+" Y"+(f+vier));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+eins)+" Y"+(f+drei));
          output.println("G0 Z2");
}

//ueber Mausklick im .png Format gespeicherte Bilddatei

void mousePressed() {                                         
  saveFrame("in_gold_we_trust.png");
  output.println("M 02");
  output.println("%");
  output.flush();
  output.close();
  exit();
  
}

Programmcode mit unterschiedlichen Schriftgrößen

Der Code ist ein Beispiel für die Anwendung unterschiedlicher Schriftgrößen.

Um den Code hier etwas kürzer zu halten wurden die nicht verwendeten Buchstaben bzw. deren Unterfunktionen gelöscht.

/*Schriftzug: AHOI CGG BERLIN_ggg analog
_gespiegelt für die Fräse
_hier wurden nur die benötigten Buchstaben in die Datei kopiert als 
 Unterfunktionen
_Informationen über den Aufbau der einzelnen Buchstaben siehe Ordner "AbisZ"
*/

//////////////////////////////////KLEINBUCHSTABEN////////////////////////////////

int RasterB = 48/3*2;            //3.2cm
int RasterH = 72/3*2;            //4.8cm
int abstand = 2 ;
float abstandSchraeg = 1.42;            //Abstand für die schraegen Ausrichtungen
int kasten = 2*abstand ;                //zwei Linien pro Kasten
int kBreite = 8*kasten ;                /*Schriftbreite mit Abstand zum naechsten 
                                        Buchstaben // nach rechts*/
int kHoehe =14*kasten ;                 /*Schrifthoehe mit Abstand zur naechsten 
                                        Zeile // nach unten berechnet*/ 
int zehn = 10*kasten ;                  //zehn Kaestchen Laenge
int neun = 9*kasten ;                   //neun Kaestchen Laenge
int acht = 8*kasten ;                   //acht Kaestchen Laenge
int sieben = 7*kasten ;                 //sieben Kaestchen Laenge
int sechs = 6*kasten ;                  //sechs Kaestchen Laenge
int fuenf = 5*kasten ;                  //fuenf Kaestchen Laenge
int vier = 4*kasten ;                   //vier Kaestchen Laenge
int drei = 3*kasten ;                   //drei Kaestchen Laenge
int zwei = 2*kasten ;                   //zwei Kaestchen Laenge
int eins = 1*kasten ;                   //ein Kaestchen Laenge



//////////////////////////////////GROSSBUCHSTABEN///////////////////////////////////

int RasterBGR = 48;            //4.8cm
int RasterHGR = 72;            //7.2cm
int abstandGR = 3 ;
float abstandSchraegGR = 2.1;              //Abstand für die schraegen Ausrichtungen
int kastenGR = 2*abstandGR ;                //zwei Linien pro Kasten
int kBreiteGR = 8*kastenGR ;                /*Schriftbreite mit Abstand zum naechsten 
                                            Buchstaben // nach rechts*/
int kHoeheGR =14*kastenGR ;                 /*Schrifthoehe mit Abstand zur naechsten 
                                            Zeile // nach unten berechnet*/ 
int zehnGR = 10*kastenGR ;                  //zehn Kaestchen Laenge
int neunGR = 9*kastenGR ;                   //neun Kaestchen Laenge
int achtGR = 8*kastenGR ;                   //acht Kaestchen Laenge
int siebenGR = 7*kastenGR ;                 //sieben Kaestchen Laenge
int sechsGR = 6*kastenGR ;                  //sechs Kaestchen Laenge
int fuenfGR = 5*kastenGR ;                  //fuenf Kaestchen Laenge
int vierGR = 4*kastenGR ;                   //vier Kaestchen Laenge
int dreiGR = 3*kastenGR ;                   //drei Kaestchen Laenge
int zweiGR = 2*kastenGR ;                   //zwei Kaestchen Laenge
int einsGR = 1*kastenGR ;                   //ein Kaestchen Laenge

PrintWriter output;
void setup() {
  background(255);
  stroke(0);
  size(8*RasterBGR-4*abstandGR, RasterHGR*6+RasterB*2);
  output = createWriter("AHOI_CGG_BERLIN.ngc");
  output.println("%");
  output.println("G 54");
}

//Schriftzug
//verwendete Buchstaben werden aufgerufen und an Koordinaten/Positionen gebunden
//grosse Buchstaben

void draw() {                                          
  A (RasterBGR*5, RasterHGR*0.8);                      
  H (RasterBGR*4, RasterHGR*0.8);
  O (RasterBGR*3, RasterHGR*0.8);
  I (RasterBGR*2, RasterHGR*0.8);
  C (RasterBGR*4.5, RasterHGR*2.3);
  G (RasterBGR*3.5, RasterHGR*2.3);
  G (RasterBGR*2.5, RasterHGR*2.3);
  B (RasterBGR*6, RasterHGR*3.3);
  E (RasterBGR*5, RasterHGR*3.3);
  R (RasterBGR*4, RasterHGR*3.3);
  L (RasterBGR*3, RasterHGR*3.3);
  I (RasterBGR*2, RasterHGR*3.3);
  N (RasterBGR*1, RasterHGR*3.3);
  
  g (RasterBGR*1+RasterB*2, RasterHGR*4.6);            //kleine Buchstaben
  g (RasterBGR*1+RasterB*1, RasterHGR*4.6);
  g (RasterBGR*1+RasterB*0, RasterHGR*4.6);
  a (RasterBGR*1+RasterB*5, RasterHGR*4.6+RasterH);
  n (RasterBGR*1+RasterB*4, RasterHGR*4.6+RasterH);
  a (RasterBGR*1+RasterB*3, RasterHGR*4.6+RasterH);
  l (RasterBGR*1+RasterB*2, RasterHGR*4.6+RasterH);
  o (RasterBGR*1+RasterB*1, RasterHGR*4.6+RasterH);
  g (RasterBGR*1+RasterB*0, RasterHGR*4.6+RasterH); 
  
  //Linie unter Ahoi
  line (RasterBGR*6, RasterHGR*1.9, RasterBGR*2, RasterHGR*1.9);              
  output.println("G0 X"+(RasterBGR*7)+" Y"+(RasterHGR*1.9));
  output.println("G1 Z"+(-0)+"F300");
  output.println("G1 X"+(RasterBGR*3)+" Y"+(RasterHGR*1.9));
  output.println("G0 Z2");
  
  //Schriftrahmen
  LineGR (RasterBGR*0, 0);                                                    
  LineGR (RasterBGR*7.5-4*abstandGR, 0);
  LineKL (RasterBGR*0.5, 0);
  LineKL (RasterBGR*0.5, RasterHGR*5.5+1*RasterBGR);
  
 noLoop(); 
}

//Unterfunktionen fuer Rahmen

void LineGR (float e, float f) {
  for (int i=0; i<= RasterBGR*0.5; i+= abstandGR) {
    line (0+e+i, 0+f, 0+e+i, RasterHGR*6.5+f); 
    output.println("G0 X"+(0+e+i)+" Y"+(0+f));
    output.println("G1 Z"+(-0)+"F300");
    output.println("G1 X"+(0+e+i)+" Y"+(RasterHGR*6.5+f));
    output.println("G0 Z2");
  }
}
    
void LineKL (float e, float f) {
  for (int i=0; i<= RasterBGR*7-4*abstandGR; i+= abstandGR) {
    line (0+e+i, 0+f, 0+e+i, RasterBGR*0.5+f);
    output.println("G0 X"+(0+e+i)+" Y"+(0+f));
    output.println("G1 Z"+(-0)+"F300");
    output.println("G1 X"+(0+e+i)+" Y"+(RasterBGR*0.5+f));
    output.println("G0 Z2");
  }
}
    
//Unterfunktionen fuer grosse Buchstaben

void A (float e, float f) {
          for (int i=0; i<= achtGR; i+=abstandGR){
            line (e+einsGR, f+zweiGR+i, e+0, f+einsGR+i);
            output.println("G0 X"+(e+einsGR)+" Y"+(f+zweiGR+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+einsGR+i));
            output.println("G0 Z2");
          }
          for (int j=0; j<= vierGR; j+=abstandGR){
            line (e+sechsGR-j, f+einsGR, e+fuenfGR-j, f+0);
            output.println("G0 X"+(e+sechsGR-j)+" Y"+(f+einsGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenfGR-j)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          for (int k=0; k<= einsGR; k+=abstandGR){
            line (e+fuenfGR-k, f+fuenfGR, e+vierGR-k, f+vierGR);
            output.println("G0 X"+(e+fuenfGR-k)+" Y"+(f+fuenfGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR-k)+" Y"+(f+vierGR));
            output.println("G0 Z2");
            line (e+fuenfGR, f+fuenfGR-k, e+vierGR, f+vierGR-k);
            output.println("G0 X"+(e+fuenfGR)+" Y"+(f+fuenfGR-k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR)+" Y"+(f+vierGR-k));
            output.println("G0 Z2");
          }
          for (int m=0; m<= zweiGR; m+=abstandGR){
            line (e+fuenfGR, f+achtGR+m, e+vierGR, f+siebenGR+m);
            output.println("G0 X"+(e+fuenfGR)+" Y"+(f+achtGR+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR)+" Y"+(f+siebenGR+m));
            output.println("G0 Z2");
          }
          for (int l=0; l<= einsGR; l+=abstandSchraegGR){
            line (e+zweiGR-l, f+einsGR+l, e+einsGR-l, f+0+l);
            output.println("G0 X"+(e+zweiGR-l)+" Y"+(f+einsGR+l));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+einsGR-l)+" Y"+(f+0+l));
            output.println("G0 Z2");
          }
          line (e+siebenGR, f+zweiGR, e+sechsGR, f+einsGR);
          output.println("G0 X"+(e+siebenGR)+" Y"+(f+zweiGR));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+sechsGR)+" Y"+(f+einsGR));
          output.println("G0 Z2");
}

void B (float e, float f) {
          for (int i=0; i<= fuenfGR; i+=abstandGR){
            line (e+siebenGR-i, f+einsGR,  e+sechsGR-i, f+0);
            output.println("G0 X"+(e+siebenGR-i)+" Y"+(f+einsGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechsGR-i)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          for (int j=0; j<= dreiGR; j+=abstandGR){
            line (e+einsGR, f+sechsGR+j, e+0, f+fuenfGR+j);
            output.println("G0 X"+(e+einsGR)+" Y"+(+sechsGR+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+fuenfGR+j));
            output.println("G0 Z2");
          }
          for (int k=0; k<= einsGR; k+=abstandGR){
            line (e+fuenfGR-k, f+vierGR, e+vierGR-k, f+dreiGR);
            output.println("G0 X"+(e+fuenfGR-k)+" Y"+(f+vierGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR-k)+" Y"+(f+dreiGR));
            output.println("G0 Z2");
            line (e+fuenfGR-k, f+achtGR, e+vierGR-k, f+siebenGR);
            output.println("G0 X"+(e+fuenfGR-k)+" Y"+(f+achtGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR-k)+" Y"+(f+siebenGR));
            output.println("G0 Z2");
            line (e+fuenfGR, f+achtGR-k, e+vierGR, f+siebenGR-k);
            output.println("G0 X"+(e+fuenfGR)+" Y"+(f+achtGR-k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR)+" Y"+(f+siebenGR-k));
            output.println("G0 Z2");
          }
          for (int l=0; l<= zweiGR; l+=abstandGR){
            line (e+einsGR, f+zweiGR+l, e+0, f+einsGR+l);
            output.println("G0 X"+(e+einsGR)+" Y"+(f+zweiGR+l));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+einsGR+l));
            output.println("G0 Z2");
          }
          for (int m=0; m<= einsGR; m+=abstandSchraegGR){
            line (e+zweiGR-m, f+einsGR+m, e+einsGR-m, f+0+m);
            output.println("G0 X"+(e+zweiGR-m)+" Y"+(f+einsGR+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+einsGR-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
            line (e+zweiGR-m, f+fuenfGR+m, e+einsGR-m, f+vierGR+m);
            output.println("G0 X"+(e+zweiGR-m)+" Y"+(f+fuenfGR+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+einsGR-m)+" Y"+(f+vierGR+m));
            output.println("G0 Z2");
          }
          line (e+zweiGR, f+zehnGR, e+einsGR, f+neunGR);
          output.println("G0 X"+(e+zweiGR)+" Y"+(f+zehnGR));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+einsGR)+" Y"+(f+neunGR));
          output.println("G0 Z2");
}

void C (float e, float f) {
            for (int j=0; j<= vierGR; j+=abstandGR){
            line (e+sechsGR-j, f+einsGR,  e+fuenfGR-j, f+0);
            output.println("G0 X"+(e+sechsGR-j)+" Y"+(f+einsGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenfGR-j)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          for (int k=0; k<= dreiGR; k+=abstandGR){
            line (e+einsGR, f+sechsGR+k, e+0, f+fuenfGR+k);
            output.println("G0 X"+(e+einsGR)+" Y"+(f+sechsGR+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+fuenfGR+k));
            output.println("G0 Z2");
            line (e+fuenfGR, f+vierGR+k, e+vierGR, f+dreiGR+k);
            output.println("G0 X"+(e+fuenfGR)+" Y"+(f+vierGR+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR)+" Y"+(f+dreiGR+k));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= zweiGR; l+=abstandGR){
            line (e+dreiGR-l, f+sechsGR, e+zweiGR-l, f+fuenfGR);
            output.println("G0 X"+(e+dreiGR-l)+" Y"+(f+sechsGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+zweiGR-l)+" Y"+(f+fuenfGR));
            output.println("G0 Z2");
            line (e+einsGR, f+zweiGR+l, e+0, f+einsGR+l);
            output.println("G0 X"+(e+einsGR)+" Y"+(f+zweiGR+l));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+einsGR+l));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= einsGR; m+=abstandSchraegGR){
            line (e+zweiGR-m, f+einsGR+m, e+einsGR-m, f+0+m);
            output.println("G0 X"+(e+zweiGR-m)+" Y"+(f+einsGR+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+einsGR-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
            line (e+fuenfGR-m, f+siebenGR+m, e+vierGR-m, f+sechsGR+m);
            output.println("G0 X"+(e+fuenfGR-m)+" Y"+(f+siebenGR+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR-m)+" Y"+(f+sechsGR+m));
            output.println("G0 Z2");
          }
          
          line (e+siebenGR, f+zweiGR, e+sechsGR, f+einsGR);
          output.println("G0 X"+(e+siebenGR)+" Y"+(f+zweiGR));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+sechsGR)+" Y"+(f+einsGR));
          output.println("G0 Z2");
          line (e+zweiGR, f+zehnGR, e+einsGR, f+neunGR);
          output.println("G0 X"+(e+zweiGR)+" Y"+(f+zehnGR));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+einsGR)+" Y"+(f+neunGR));
          output.println("G0 Z2");
}


void E (float e, float f) {
          for (int i=0; i<= sechsGR; i+=abstandGR){
            line (e+siebenGR-i, f+einsGR,  e+sechsGR-i, f+0);
            output.println("G0 X"+(e+siebenGR-i)+" Y"+(f+einsGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechsGR-i)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zweiGR; j+=abstandGR){
            line (e+einsGR, f+einsGR+j,  e+0, f+0+j);
            output.println("G0 X"+(e+einsGR)+" Y"+(f+einsGR+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+j));
            output.println("G0 Z2");
            line (e+einsGR, f+zehnGR-j,  e+0, f+neunGR-j);
            output.println("G0 X"+(e+einsGR)+" Y"+(f+zehnGR-j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+neunGR-j));
            output.println("G0 Z2");
            line (e+zweiGR, f+vierGR+j,  e+einsGR, f+dreiGR+j);
            output.println("G0 X"+(e+zweiGR)+" Y"+(f+vierGR+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+einsGR)+" Y"+(f+dreiGR+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= einsGR; k+=abstandGR){
            line (e+fuenfGR, f+achtGR-k, e+vierGR, f+siebenGR-k);
            output.println("G0 X"+(e+fuenfGR)+" Y"+(f+achtGR-k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR)+" Y"+(f+siebenGR-k));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= vierGR; l+=abstandGR){
            line (e+fuenfGR-l, f+achtGR, e+vierGR-l, f+siebenGR);
            output.println("G0 X"+(e+fuenfGR-l)+" Y"+(f+achtGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR-l)+" Y"+(f+siebenGR));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= dreiGR; m+=abstandGR){
            line (e+fuenfGR-m, f+vierGR, e+vierGR-m, f+dreiGR);
            output.println("G0 X"+(e+fuenfGR-m)+" Y"+(f+vierGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR-m)+" Y"+(f+dreiGR));
            output.println("G0 Z2");
          }
}


void G (float e, float f) {
          for (int j=0; j<= vierGR; j+=abstandGR){
            line (e+sechsGR-j, f+einsGR,  e+fuenfGR-j, f+0);
            output.println("G0 X"+(e+sechsGR-j)+" Y"+(f+einsGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenfGR-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+fuenfGR, f+vierGR+j,  e+vierGR, f+dreiGR+j);
            output.println("G0 X"+(e+fuenfGR)+" Y"+(f+vierGR+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR)+" Y"+(f+dreiGR+j));
            output.println("G0 Z2");
            line (e+einsGR, f+fuenfGR+j,  e+0, f+vierGR+j);
            output.println("G0 X"+(e+einsGR)+" Y"+(f+fuenfGR+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+vierGR+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= dreiGR; k+=abstandGR){
            line (e+vierGR-k, f+fuenfGR, e+dreiGR-k, f+vierGR);
            output.println("G0 X"+(e+vierGR-k)+" Y"+(f+fuenfGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+dreiGR-k)+" Y"+(f+vierGR));
            output.println("G0 Z2");
          }
          
          for (int n=0; n<= einsGR; n+=abstandGR){
            line (e+fuenfGR-n, f+achtGR, e+vierGR-n, f+siebenGR);
            output.println("G0 X"+(e+fuenfGR-n)+" Y"+(f+achtGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR-n)+" Y"+(f+siebenGR));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= zweiGR; l+=abstandGR){
            line (e+einsGR, f+zweiGR+l, e+0, f+einsGR+l);
            output.println("G0 X"+(e+einsGR)+" Y"+(f+zweiGR+l));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+einsGR+l));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= einsGR; m+=abstandSchraegGR){
            line (e+zweiGR-m, f+einsGR+m, e+einsGR-m, f+0+m);
            output.println("G0 X"+(e+zweiGR-m)+" Y"+(f+einsGR+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+einsGR-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
          }
          
          line (e+siebenGR, f+zweiGR, e+sechsGR, f+einsGR);
          output.println("G0 X"+(e+siebenGR)+" Y"+(f+zweiGR));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+sechsGR)+" Y"+(f+einsGR));
          output.println("G0 Z2");
          line (e+zweiGR, f+zehnGR, e+einsGR, f+neunGR);
          output.println("G0 X"+(e+zweiGR)+" Y"+(f+zehnGR));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+einsGR)+" Y"+(f+neunGR));
          output.println("G0 Z2");
}

void H (float e, float f) {
          for (int i=0; i<= neunGR; i+=abstandGR){
            line (e+einsGR, f+einsGR+i,  e+0, f+0+i);
            output.println("G0 X"+(e+einsGR)+" Y"+(f+einsGR+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zweiGR; j+=abstandGR){
            line (e+siebenGR-j, f+einsGR, e+sechsGR-j, f+0);
            output.println("G0 X"+(e+siebenGR-j)+" Y"+(f+einsGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechsGR-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+dreiGR-j, f+einsGR, e+zweiGR-j, f+0);
            output.println("G0 X"+(e+dreiGR-j)+" Y"+(f+einsGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+zweiGR-j)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= dreiGR; k+=abstandGR){
            line (e+fuenfGR, f+einsGR+k, e+vierGR, f+0+k);
            output.println("G0 X"+(e+fuenfGR)+" Y"+(f+einsGR+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR)+" Y"+(f+0+k));
            output.println("G0 Z2");
            line (e+fuenfGR, f+siebenGR+k, e+vierGR, f+sechsGR+k);
            output.println("G0 X"+(e+fuenfGR)+" Y"+(f+siebenGR+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR)+" Y"+(f+sechsGR+k));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= einsGR; l+=abstandGR){
            line (e+fuenfGR-l, f+vierGR,  e+vierGR-l, f+dreiGR);
            output.println("G0 X"+(e+fuenfGR-l)+" Y"+(f+vierGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR-l)+" Y"+(f+dreiGR));
            output.println("G0 Z2");
          }
}

void I (float e, float f) {
          for (int i=0; i<= zweiGR; i+=abstandGR){
            line (e+sechsGR-i, f+einsGR,  e+fuenfGR-i, f+0);
            output.println("G0 X"+(e+sechsGR-i)+" Y"+(f+einsGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenfGR-i)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= neunGR; j+=abstandGR){
            line (e+vierGR, f+einsGR+j,  e+dreiGR, f+0+j);
            output.println("G0 X"+(e+vierGR)+" Y"+(f+einsGR+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+dreiGR)+" Y"+(f+0+j));
            output.println("G0 Z2");
          }
}



void L (float e, float f) {
          for (int i=0; i<= siebenGR; i+=abstandGR){
            line (e+fuenfGR, f+einsGR+i,  e+vierGR, f+0+i);
            output.println("G0 X"+(e+fuenfGR)+" Y"+(f+einsGR+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR)+" Y"+(f+0+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zweiGR; j+=abstandGR){
            line (e+siebenGR-j, f+einsGR,  e+sechsGR-j, f+0);
            output.println("G0 X"+(e+siebenGR-j)+" Y"+(f+einsGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechsGR-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+einsGR, f+achtGR+j, e+0, f+siebenGR+j);
            output.println("G0 X"+(e+einsGR)+" Y"+(f+achtGR+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+siebenGR+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= vierGR; k+=abstandGR){
            line (e+fuenfGR-k, f+achtGR, e+vierGR-k, f+siebenGR);
            output.println("G0 X"+(e+fuenfGR-k)+" Y"+(f+achtGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR-k)+" Y"+(f+siebenGR));
            output.println("G0 Z2");
          }
}


void N (float e, float f) {
          for (int i=0; i<= neunGR; i+=abstandGR){
            line (e+einsGR, f+einsGR+i, e+0, f+0+i);
            output.println("G0 X"+(e+einsGR)+" Y"+(f+einsGR+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zweiGR; j+=abstandGR){
            line (e+dreiGR-j, f+einsGR,  e+zweiGR-j, f+0);
            output.println("G0 X"+(e+dreiGR-j)+" Y"+(f+einsGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+zweiGR-j)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= dreiGR; k+=abstandGR){
            line (e+fuenfGR, f+siebenGR+k, e+vierGR, f+sechsGR+k);
            output.println("G0 X"+(e+fuenfGR)+" Y"+(f+siebenGR+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR)+" Y"+(f+sechsGR+k));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= einsGR; l+=abstandGR){
            line (e+siebenGR-l, f+einsGR, e+sechsGR-l, f+0);
            output.println("G0 X"+(e+siebenGR-l)+" Y"+(f+einsGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechsGR-l)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= zweiGR; m+=abstandSchraegGR){
            line (e+sechsGR-m, f+einsGR+m, e+fuenfGR-m, f+0+m);
            output.println("G0 X"+(e+sechsGR-m)+" Y"+(f+einsGR+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenfGR-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
          }
}

void O (float e, float f) {
          for (int i=0; i<= siebenGR; i+=abstandGR){
            line (e+einsGR, f+zweiGR+i,  e+0, f+einsGR+i);
            output.println("G0 X"+(e+einsGR)+" Y"+(f+zweiGR+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+einsGR+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= vierGR; j+=abstandGR){
            line (e+sechsGR-j, f+einsGR, e+fuenfGR-j, f+0);
            output.println("G0 X"+(e+sechsGR-j)+" Y"+(f+einsGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenfGR-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+fuenfGR, f+vierGR+j,  e+vierGR, f+dreiGR+j);
            output.println("G0 X"+(e+fuenfGR)+" Y"+(f+vierGR+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR)+" Y"+(f+dreiGR+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= einsGR; k+=abstandGR){
            line (e+fuenfGR-k, f+achtGR, e+vierGR-k, f+siebenGR);
            output.println("G0 X"+(e+fuenfGR-k)+" Y"+(f+achtGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR-k)+" Y"+(f+siebenGR));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= einsGR; m+=abstandSchraegGR){
            line (e+zweiGR-m, f+einsGR+m, e+einsGR-m, f+0+m);
            output.println("G0 X"+(e+zweiGR-m)+" Y"+(f+einsGR+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+einsGR-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
          }
          
          line (e+siebenGR, f+zweiGR, e+sechsGR, f+einsGR);
          output.println("G0 X"+(e+siebenGR)+" Y"+(f+zweiGR));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+sechsGR)+" Y"+(f+einsGR));
          output.println("G0 Z2");
          line (e+zweiGR, f+zehnGR, e+einsGR, f+neunGR);
          output.println("G0 X"+(e+zweiGR)+" Y"+(f+zehnGR));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+einsGR)+" Y"+(f+neunGR));
          output.println("G0 Z2");
}



void R (float e, float f) {
          for (int i=0; i<= fuenfGR; i+=abstandGR){
            line (e+siebenGR-i, f+einsGR,  e+sechsGR-i, f+0);
            output.println("G0 X"+(e+siebenGR-i)+" Y"+(f+einsGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechsGR-i)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= einsGR; j+=abstandGR){
            line (e+fuenfGR-j, f+vierGR, e+vierGR-j, f+dreiGR);
            output.println("G0 X"+(e+fuenfGR-j)+" Y"+(f+vierGR));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR-j)+" Y"+(f+dreiGR));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= dreiGR; k+=abstandGR){
            line (e+einsGR, f+zweiGR+k, e+0, f+einsGR+k);
            output.println("G0 X"+(e+einsGR)+" Y"+(f+zweiGR+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+einsGR+k));
            output.println("G0 Z2");
            line (e+einsGR, f+siebenGR+k, e+0, f+sechsGR+k);
            output.println("G0 X"+(e+einsGR)+" Y"+(f+siebenGR+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+sechsGR+k));
            output.println("G0 Z2");
            line (e+fuenfGR, f+siebenGR+k, e+vierGR, f+sechsGR+k);
            output.println("G0 X"+(e+fuenfGR)+" Y"+(f+siebenGR+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vierGR)+" Y"+(f+sechsGR+k));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= einsGR; m+=abstandSchraegGR){
            line (e+zweiGR-m, f+einsGR+m, e+eins-m, f+0+m);
            output.println("G0 X"+(e+zweiGR-m)+" Y"+(f+einsGR+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+einsGR-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
            line (e+zweiGR-m, f+sechsGR+m, e+einsGR-m, f+fuenfGR+m);
            output.println("G0 X"+(e+zweiGR-m)+" Y"+(f+sechsGR+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+einsGR-m)+" Y"+(f+fuenfGR+m));
            output.println("G0 Z2");
          }
}


//Unterfunktionen fuer kleine Buchstaben

void a (float e, float f) {
          for (int i=0; i<= acht; i+=abstand){
            line (e+eins, f+zwei+i, e+0, f+eins+i);
            output.println("G0 X"+(e+eins)+" Y"+(f+zwei+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+eins+i));
            output.println("G0 Z2");
          }
          for (int j=0; j<= vier; j+=abstand){
            line (e+sechs-j, f+eins, e+fuenf-j, f+0);
            output.println("G0 X"+(e+sechs-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenf-j)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          for (int k=0; k<= eins; k+=abstand){
            line (e+fuenf-k, f+fuenf, e+vier-k, f+vier);
            output.println("G0 X"+(e+fuenf-k)+" Y"+(f+fuenf));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-k)+" Y"+(f+vier));
            output.println("G0 Z2");
            line (e+fuenf, f+fuenf-k, e+vier, f+vier-k);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+fuenf-k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+vier-k));
            output.println("G0 Z2");
          }
          for (int m=0; m<= zwei; m+=abstand){
            line (e+fuenf, f+acht+m, e+vier, f+sieben+m);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+acht+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+sieben+m));
            output.println("G0 Z2");
          }
          for (int l=0; l<= eins; l+=abstandSchraeg){
            line (e+zwei-l, f+eins+l, e+eins-l, f+0+l);
            output.println("G0 X"+(e+zwei-l)+" Y"+(f+eins+l));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-l)+" Y"+(f+0+l));
            output.println("G0 Z2");
          }
          line (e+sieben, f+zwei, e+sechs, f+eins);
          output.println("G0 X"+(e+sieben)+" Y"+(f+zwei));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+sechs)+" Y"+(f+eins));
          output.println("G0 Z2");
}



void g (float e, float f) {
          for (int j=0; j<= vier; j+=abstand){
            line (e+sechs-j, f+eins,  e+fuenf-j, f+0);
            output.println("G0 X"+(e+sechs-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenf-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+fuenf, f+vier+j,  e+vier, f+drei+j);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+vier+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+drei+j));
            output.println("G0 Z2");
            line (e+eins, f+fuenf+j,  e+0, f+vier+j);
            output.println("G0 X"+(e+eins)+" Y"+(f+fuenf+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+vier+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= drei; k+=abstand){
            line (e+vier-k, f+fuenf, e+drei-k, f+vier);
            output.println("G0 X"+(e+vier-k)+" Y"+(f+fuenf));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+drei-k)+" Y"+(f+vier));
            output.println("G0 Z2");
          }
          
          for (int n=0; n<= eins; n+=abstand){
            line (e+fuenf-n, f+acht, e+vier-n, f+sieben);
            output.println("G0 X"+(e+fuenf-n)+" Y"+(f+acht));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-n)+" Y"+(f+sieben));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= zwei; l+=abstand){
            line (e+eins, f+zwei+l, e+0, f+eins+l);
            output.println("G0 X"+(e+eins)+" Y"+(f+zwei+l));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+eins+l));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= eins; m+=abstandSchraeg){
            line (e+zwei-m, f+eins+m, e+eins-m, f+0+m);
            output.println("G0 X"+(e+zwei-m)+" Y"+(f+eins+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
          }
          
          line (e+sieben, f+zwei, e+sechs, f+eins);
          output.println("G0 X"+(e+sieben)+" Y"+(f+zwei));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+sechs)+" Y"+(f+eins));
          output.println("G0 Z2");
          line (e+zwei, f+zehn, e+eins, f+neun);
          output.println("G0 X"+(e+zwei)+" Y"+(f+zehn));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+eins)+" Y"+(f+neun));
          output.println("G0 Z2");
}



void l (float e, float f) {
          for (int i=0; i<= sieben; i+=abstand){
            line (e+fuenf, f+eins+i,  e+vier, f+0+i);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+eins+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+0+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+sieben-j, f+eins,  e+sechs-j, f+0);
            output.println("G0 X"+(e+sieben-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+eins, f+acht+j, e+0, f+sieben+j);
            output.println("G0 X"+(e+eins)+" Y"+(f+acht+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+sieben+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= vier; k+=abstand){
            line (e+fuenf-k, f+acht, e+vier-k, f+sieben);
            output.println("G0 X"+(e+fuenf-k)+" Y"+(f+acht));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-k)+" Y"+(f+sieben));
            output.println("G0 Z2");
          }
}


void n (float e, float f) {
          for (int i=0; i<= neun; i+=abstand){
            line (e+eins, f+eins+i, e+0, f+0+i);
            output.println("G0 X"+(e+eins)+" Y"+(f+eins+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+0+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= zwei; j+=abstand){
            line (e+drei-j, f+eins,  e+zwei-j, f+0);
            output.println("G0 X"+(e+drei-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+zwei-j)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= drei; k+=abstand){
            line (e+fuenf, f+sieben+k, e+vier, f+sechs+k);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+sieben+k));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+sechs+k));
            output.println("G0 Z2");
          }
          
          for (int l=0; l<= eins; l+=abstand){
            line (e+sieben-l, f+eins, e+sechs-l, f+0);
            output.println("G0 X"+(e+sieben-l)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+sechs-l)+" Y"+(f+0));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= zwei; m+=abstandSchraeg){
            line (e+sechs-m, f+eins+m, e+fuenf-m, f+0+m);
            output.println("G0 X"+(e+sechs-m)+" Y"+(f+eins+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenf-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
          }
}

void o (float e, float f) {
          for (int i=0; i<= sieben; i+=abstand){
            line (e+eins, f+zwei+i,  e+0, f+eins+i);
            output.println("G0 X"+(e+eins)+" Y"+(f+zwei+i));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+0)+" Y"+(f+eins+i));
            output.println("G0 Z2");
          }
          
          for (int j=0; j<= vier; j+=abstand){
            line (e+sechs-j, f+eins, e+fuenf-j, f+0);
            output.println("G0 X"+(e+sechs-j)+" Y"+(f+eins));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+fuenf-j)+" Y"+(f+0));
            output.println("G0 Z2");
            line (e+fuenf, f+vier+j,  e+vier, f+drei+j);
            output.println("G0 X"+(e+fuenf)+" Y"+(f+vier+j));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier)+" Y"+(f+drei+j));
            output.println("G0 Z2");
          }
          
          for (int k=0; k<= eins; k+=abstand){
            line (e+fuenf-k, f+acht, e+vier-k, f+sieben);
            output.println("G0 X"+(e+fuenf-k)+" Y"+(f+acht));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+vier-k)+" Y"+(f+sieben));
            output.println("G0 Z2");
          }
          
          for (int m=0; m<= eins; m+=abstandSchraeg){
            line (e+zwei-m, f+eins+m, e+eins-m, f+0+m);
            output.println("G0 X"+(e+zwei-m)+" Y"+(f+eins+m));
            output.println("G1 Z"+(-0)+"F300");
            output.println("G1 X"+(e+eins-m)+" Y"+(f+0+m));
            output.println("G0 Z2");
          }
          
          line (e+sieben, f+zwei, e+sechs, f+eins);
          output.println("G0 X"+(e+sieben)+" Y"+(f+zwei));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+sechs)+" Y"+(f+eins));
          output.println("G0 Z2");
          line (e+zwei, f+zehn, e+eins, f+neun);
          output.println("G0 X"+(e+zwei)+" Y"+(f+zehn));
          output.println("G1 Z"+(-0)+"F300");
          output.println("G1 X"+(e+eins)+" Y"+(f+neun));
          output.println("G0 Z2");
}

//ueber Mausklick im .png Format gespeicherte Bilddatei

void mousePressed() {                                         
  saveFrame("AHOI_CGG_BERLIN.png");
  output.println("M 02");
  output.println("%");
  output.flush();
  output.close();
  exit();
  
}
30.08.2013 | Lena Hellmann |