Eagle-Dateien in Vektorformat

Ziel dieser Software-Sammlung ist es, Dateien des Leiterplattenentwurfsprogramms Eagle im Vektorformat zur Dokumentation und Präsentation zu erhalten. Die meisten bisherigen Ansätze endeten im Pixelformat oder als PDF, wenig handlich für moderne Web-Browser und Präsentationsprogramme.

Konvertierung Eagle4/5 (binär) ⇔ Eagle6+ (XML)

Realisiert in PHP für die serverseitige Dateikonvertierung: Das Programm Eagle wird hierzu nicht benötigt. Möchte man die Konvertierung „zu Hause“ (clientseitig) erledigen, benötigt man PHP dafür, was einfach zu installieren ist. Für die Richtung zum XML ist das Laden und Speichern in Eagle zuverlässiger, da garantiert Cadsoft für Fehlerfreiheit.

Konvertierung Eagle6+ (XML) in Vektorformat

Realisiert in XSLT für die clientseitige Interptetation (also im Web-Browser): Das Programm Eagle wird hierzu nicht benötigt. Binäre Eagle-Dateien können mit der vorherigen Software in XML umgewandelt werden. Alle diese Vektordarstellungen enthalten Informationen über zusammengehörige Netze, Bauelemente, Busse usw., die durch die Mausposition abgefragt werden können! Prinzipiell lassen sich damit direkt Schaltpläne in Office-Dokumente einbinden.

Damit das Konvertierungsprogramm wirksam wird, muss die Eagle-Datei durch eine sogenannte Verarbeitungsanweisung ergänzt werden. Die vorherige Konvertierungssoftware tut das automatisch. Eagle stößt sich (beim Laden derartig modifizierter Dateien) daran nicht, sie bleiben verarbeitbar.

Konvertierung von WMF/EMF in SVG

Die älteren Ansätze zur Ausgabe von Vektorgrafik liefen über das Windows-Metafile. Es ist sehr kompakt (= geringe Dateigröße) und auf die Bedürfnisse von Eagle optimal zugeschnitten (= verfügbare boolesche Rasteroperationen). Beim Konvertieren nach SVG gehen diese Vorteile leider verloren; dafür kann der moderne Web-Browser den Inhalt direkt darstellen. Für die serverseitige Lauffähigkeit in PHP geschrieben: Informationen über Netze, Bauteile usw. sind hierbei nicht enthalten. Jedoch bleiben Strings Strings und sind durchsuchbar.

Um die WMF/EMF-Dateien aus Eagle zu generieren, habe ich Programme in ULP (User-Language-Program, eine Eagle-Sprache) geschrieben. Zu ihrer Ausführung ist Eagle erforderlich, siehe unten.

SCH2CGM — Eagle-Schaltplan oder -Board in Vektorgrafik

SCH2WMF oder SCH2EMF - Eagle-Schaltplan oder -Board in Vektorgrafik

Diese ULPs sind auf sehr genaue Wiedergabetreue hochgezüchtet, was — für Boards — mit SVG gar nicht geht (wegen der fehlenden booleschen Rasteroperationen — schade). Auch kann man sie dazu einsetzen, Teile des Schaltplans zu extrahieren. Sicherlich haben Sie vor dem Problem gestanden, ein Stück Schaltplan oder einen Bestückungsdruck in ein Word-Dokument einzufügen.
Bunt, wenn's geht. Skalierbar ohne Treppen-Effekte. Dafür gab es etwa zwei brauchbare Lösungen: Für die Ausgabe für's Internet empfiehlt sich der Grafik-Export bei 100 dpi (Board: 200 dpi).

Nachteile der bisherigen Lösungen

Diese Nachteile betreffen auch die gewöhnliche (PDF-)Druckausgabe von Eagle-Schaltplänen. Die Riesenhaftigkeit des Druck-Outputs und die Effekte mit den unterschiedlichen Linienbreiten rühren aus: Als weitere Unschönheit beim Drucken ist zu nennen: Mit der Folge, dass (mit einem hellgrauen User-Layer) hinterlegte Schaltungsteile auf dem Drucker hinter der Hinterlegung verschwinden!

Die bisher gesehenen Eagle-zu-SVG-Konverter bieten (noch) keine hohe Wiedergabetreue und erzeugen größere Dateien (mehr „Luft“). Dennoch gehört ihnen wohl die Zukunft.

Eine bessere Lösung

Diese ULPs erzeugt von der aktuellen Schaltplanseite oder Board-Ansicht eine Vektorgrafik, die einfach in Textverarbeitungen eingefügt werden kann. Sämtliche Größeninformationen bleiben erhalten, sodass auch ein maßstabgerechter Ausdruck möglich bleibt.

Dialog
Konfigurationsdialog beim ULP-Start

Pro: Kontra:

So sieht ein Schaltplan mit SCH2WMF aus (WMF-Skalierung: 1:1)

Hier dargestellt sind .PNG-Dateien, die zwecks Darstellung im WWW aus den .WMF-Dateien erzeugt wurden. Nur mit dem Internet Explorer ≥ 6 wäre eine direkte Darstellung möglich.
Die .PNG-Dateien sind etwa gleich groß oder sogar kleiner als die .WMF-Dateien! Allerdings lassen sich .WMF-Dateien gut packen, wohingegen .PNG-Dateien kaum komprimierbar sind.

Eagle-Ansicht
EinstellungAusgabe-Datei

7200 Byte

7340 Byte

7280 Byte

Mein Lieblingsformat (voreingestellt)

7340 Byte

So sieht ein Board mit SCH2WMF aus (WMF-Skalierung: 2:1 vergrößert)

Entgegen dem, was der Name vermuten lässt, kann SCH2WMF auch Board-Dateien mit korrekter Skalierung als Vektorgrafik ausgeben. Zwar kann man damit sogar die Kupferflächen vektorgrafisch ausbelichten, aber der Haupteinsatzgebiet von SCH2WMF ist hier wohl eher die Dokumentation des Bestückungsdrucks.

Eagle-Ansicht
EinstellungAusgabe-Datei

11028 Byte,
für mehrere Layer kaum verwendbar

11184 Byte,
Voreinstellung bei oben gezeigter Eagle-Ansicht

11154 Byte

11154 Byte,
automatische Komplementärfarbenausgabe

Mein Lieblingsformat
Kann nur auf GDI-, nicht auf PCL- oder PostScript-Druckern ordentlich ausgedruckt werden!

Die erzeugten Beispiel-WMF-Dateien zum Download.

SCH2EMF erzeugt Dateien mit nahezu dem gleichen Ergebnis. Die Dateien sind etwa doppelt so groß (32 statt 16 Bit für jede Koordinate, größere Header).
Viele Darstellungsvorteile sprechen für EMF, bspw:

gerade diese Extras werden jedoch unter Windows 9x/Me nicht oder falsch dargestellt. Das Hauptproblem, transparente Layer, wird leider nicht besser gelöst als mit SCH2WMF.

Partielle Ausgabe

Durch Markieren gewünschter Schaltungs- oder Board-Teile kann ein Ausschnitt zur Vektorgrafik exportiert werden. Alle außerhalb liegenden Elemente werden weggelassen; partiell sichtbare Teile werden geclippt.
Hier hat der Betrachter des Total Commander 6.x und 7.x noch einen Bug mehr: Beachtet bei der Skalierung das Clipping-Rechteck nicht.

Zur Auswahl dient das Zeichnen eines temporären Rechtecks in Layer 91 (NETS) bzw. 20 (OUTLINE). Weitere Informationen siehe sch2wmf.txt.

Bei der Eagle-5.x-Version von SCH2EMF kann zur Selektion auch die Eagle-interne Selektion benutzt werden.