Eine Gerberdatei besteht zum größten Teil aus Koordinatenangaben. Es ist nicht leicht, die Bewegungen der Tafel anhand einer ausgedruckten Datei zu verfolgen, weil Gerber verschiedene Methoden verwendet um das Volumen von benötigten Bytes möglichst gering zu halten:

  • Das Dezimalzeichen in den x,y-Daten unterdrücken
  • Entweder die führenden oder die nachgestellten Nullen unterdrücken
  • Modale Koordinaten: nur die geänderten Koordinaten angeben.
  • Modale Befehle: nur die geänderten Befehle angeben

a. Unterdrückung des Dezimalzeichens

Der Dezimalpunkt ist redundant, wenn man im vorhinein weiß, wo er sich befinden wird. Er muss von der Steuerungssoftware des Photoplotters an der richtigen Stelle wieder eingefügt werden. Betrachten wir folgende Gerberbefehle:

X00560Y00320D02*
X00670Y00305D01*
X00700Y00305D01*

Die Tabelle bewegt sich der x-Achse entlang von 00560 zu 00670 gemäß der ersten zwei Befehle. Aber was stellt 00560 dar? Es könnte 5.6 Zoll, 0.56 Zoll, 0.056 Zoll oder sogar 0.0056 Zoll sein.

Unmöglich vorherzusagen. Wenn aber mitgeteilt wird, dass es zwei Stellen vor und drei nach dem Dezimalzeichen gibt, dann wissen wir genau, dass 00560 gleich 0.56 Zoll ist.

b. Nullunterdrückung Die

Entwerfer der Gerberdatei haben sich nicht mit der Lösung der Dezimalfrage zufriedengegeben Sie haben noch mal genau hingeschaut und sich gefragt: “Wozu denn die ganzen Nullen vorne? Wie wär’s, wenn wir die einfach streichen würden? Mann kann den richtigen Wert immer noch ableiten, wenn man weiß, wie viele Stellen sich nach dem Dezimalpunkt befinden sollen”.

Ohne Nullunterdrückung Führende Nullen unterdrückt
X00560Y00320D02* X560Y230D2*
X00670Y00305D01* X670Y305D1*
X00700Y00305D01* X700Y305D1*

Ohne Nullunterdrückung werden 48 Bytes gebraucht. Mit Nullunterdrückung genügen 33 Bytes, um die gleiche Information zu erteilen. Je nach der Art der Daten kann es vorteilhafter sein, die führenden Nullen stehen zulassen und die nachgestellten Nullen zu streichen.

Ohne Nullunterdrückung Nachgestellte Nullen unterdrückt
X00560Y00320D02* X0056Y0023D2*
X00670Y00305D01* X0067Y00305D1*
X00700Y00305D01* X007Y00305D1*

Um diese Daten korrekt zu interpretieren, soll man die Stellen von links anfangend zählen, um die Position des Dezimalpunktes zu bestimmen. Heutzutage ist die führende Nullunterdrückung am geläufigsten.

c. Modale Koordinate

Nachdem das Dezimalzeichen und die überflüssigen Nullen gestrichen waren, fiel es den scharfsinnigen Programmierern noch auf, dass bestimmte Koordinaten oft unverändert wiederholt wurden, wenn die Tafel sich der X- oder Y-Achse entlang bewegte. “Warum nicht den letzten X- oder Y-Wert so lange behalten, bis der sich ändert?”

Alle Koordinaten Modale Koordinate
X560Y230D2* X560Y230D2*
X670Y305D1* X670Y305D1*
X700Y305D1* X700D1*

Unter Modalität versteht sich dieses Beibehalten der zuletzt angegebenen Koordinate. Von Lötaugen die sich der X- oder Y-Achse entlang reihen, gibt es auf einer Leiterplatte oft Hunderte. Wenn die überflüssigen Koordinaten dann heraussortiert werden, kann der Umfang einer Gerberdatei weiter beschränkt werden.

d. Modale Befehle

Wenn Modalität sich für Daten gut bewährt hat, dann gilt dies auch für Befehle. Es wäre zum Beispiel für eine Folge von Zeichenbefehlen unnötig, das D01 immer wieder zu wiederholen. Es bleibt einfach so lange gültig, bis es von einem anderen Befehl (D02 oder D03) behoben wird.

D1 nicht modal D1 modal
X560Y230D2* X560Y230D2*
X670Y305D1* X670Y305D1*
X700D1* X700*
X730D1* X730*
X760D1* X760*

Zurück zum Leiterplatten-Layoutdaten Überblick