Forum: Platinen Freeware Gerber Files vergleichen


von Gerber (Gast)


Lesenswert?

Hallo zusammen,

kennt jemand von euch ein Freeware Tool zum Vergleichen von Gerber 
Files? Ich bin auf der Suche nach der Nadel im Heuhaufen... Das Programm 
soll mir lediglich anzeigen wo Unterschiede sind. Mehr brauche ich 
nicht.
Leider scheint dies Altium (habe Version 20) nicht zu bieten, oder ich 
habs nicht gefunden.

Vielen Dank für sachdienliche Hinweise!

: Verschoben durch Moderator
von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

https://kicad.org/ hat einen ganz brauchbaren Gerberviewer dabei.

Matthias

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Lage für Lage jeweils paarweise in ein gerbv laden, und dann als 
Darstellung "normal with xor" auswählen?

von Georg (Gast)


Lesenswert?

Jörg W. schrieb:
> Lage für Lage jeweils paarweise in ein gerbv laden, und dann als
> Darstellung "normal with xor" auswählen?

Was anderes fällt mir auch nicht ein, aber: wenn es sich nicht gerade um 
eine winzige Leiterplatte handelt, ist die Bildschirmdarstellung so grob 
gerundet, dass Details nicht zu sehen sind. Ausdrucken statt Bildschirm 
könnte besser sein.

Gerber schrieb:
> Leider scheint dies Altium (habe Version 20) nicht zu bieten

Natürlich nicht, das ist ja ein Layout-Programm, das Gerber nur als 
Augabe erzeugt. Und wenn du die originalen Layoutdaten hättest würde 
sich ja die Frage nicht stellen.

Georg

von dfIas (Gast)


Lesenswert?

Bei mir geht das zwar schon mit Altium. Gerber-File öffnen, dann meldet 
sich der CAM-Editor. Zwei Lagen kann man gegeneinander verXORen und sich 
das Ergebnis ansehen. 'Genau' ist aber nur begrenzt genau (10 mil), das 
kann man im Grunde vergessen.

von Horst72 (Gast)


Lesenswert?

Nun, wie immer... :-(

Leider kann man aus solchen Anfragen eben nichts konkretes
entnehmen:
- brauchst Du das jetzt und heute und sofort?
- mußt/möchtest Du das einmalig/mehrmals nutzen?
- Suchst Du eine mehrmalige/längernutzbare Lösung?
- Suchst Du eine entgültige produktiv genutzte Lösung?

Diese Seite kennst Du (Demoversionen...)?:
https://www.mikrocontroller.net/articles/Gerber-Tools

Wenn Du mit Online leben kannst:
https://gerbercompare.com/
Mir hat es immer gereicht, aber ich bin auch nur "PCB-Seltenstersteller"

Im Prinzip gilt ja das auch noch immer:
https://www.evilmadscientist.com/2011/improving-open-source-hardware-visual-diffs/

von Gerber (Gast)


Lesenswert?

Horst72 schrieb:
> Nun, wie immer... :-(
:-)

> Leider kann man aus solchen Anfragen eben nichts konkretes
> entnehmen:
> - brauchst Du das jetzt und heute und sofort?
Ja
> - mußt/möchtest Du das einmalig/mehrmals nutzen?
Mehrmals, aber nur kurzfristig
> - Suchst Du eine mehrmalige/längernutzbare Lösung?
Mehrmals, aber nur aus der Not. Es söll keine Lösung sein.
> - Suchst Du eine entgültige produktiv genutzte Lösung?
Nein
>
> Diese Seite kennst Du (Demoversionen...)?:
> https://www.mikrocontroller.net/articles/Gerber-Tools
Ja
> Wenn Du mit Online leben kannst:
> https://gerbercompare.com/
Nein

Ich teste mal den Vorschlag von Jörg. Damit bin ich höchstwahrscheinlich 
zufrieden.

von Horst72 (Gast)


Lesenswert?

Cool,
das sind doch 'mal klare Ansagen, danke :-)

Dann solltest Du Dir 'mal da eine Testversion (...über Download)
geben lassen, das wäre wohl so etwas, was Du suchst:
https://www.artwork.com/gerber/gbrutil/index.htm

Preis ist für privat sicherlich jenseits von gut und böse [1],
irgend wann (waren früher einmal 32 Tage...) geht die dann
eben nicht mehr...

Gerber schrieb:
>> Wenn Du mit Online leben kannst:
>> https://gerbercompare.com/
> Nein

nur zur Info, was spricht dagegen?

PS:
[1]
Ich persönlich rechne so etwas immer pauschal für 2 Jahre hoch,
welche Zeit- und Ärger- und Sackgang-Einsparungen mir durch mehrmalige
Nutzung von irgendwelchen Testversionen entstehen, und kaufe dann
eben die Software.
Muß aber jeder mit sich selbst ausmachen...

von Karsten B. (kastenhq2010)


Lesenswert?

Was spricht dagegen die Files mit einem x-beliebigen diff-Tool zu 
vergleichen? Wenn die Gerberdaten mit dem gleichen Programm erzeugt 
wurden, sollte man so direkt die Unterschiede sehen können.

von Gerber (Gast)


Lesenswert?

Karsten B. schrieb:
> Was spricht dagegen die Files mit einem x-beliebigen diff-Tool zu
> vergleichen? Wenn die Gerberdaten mit dem gleichen Programm erzeugt
> wurden, sollte man so direkt die Unterschiede sehen können.

Das war natürlich mein erster Versuch. Das Problem ist, dass aufgrund 
der Unterschiede nicht sichtbar ist wie stark sich das auswirkt. Die 
Reihenfolge der Statements scheint auch eher willkürlich. Mit dem 
Resultat, dass optisch identische Layer (mit XOR in gerbv) in einem 
Texteditor komplett unterschiedlich daher kommen können.

von Georg (Gast)


Lesenswert?

Karsten B. schrieb:
> Was spricht dagegen die Files mit einem x-beliebigen diff-Tool zu
> vergleichen?

Das Gerberformat selbst: die Reihenfolge von Plot-Befehlen ist für das 
Ergebnis irrelevant, und es gibt auch unterschiedliche Möglichkeiten das 
gleiche darzustellen - z.B. gibt es bei RS274X Polygon-Definitionen, 
aber ein Polygon kann auch aus Strichen zusammengesetzt werden und das 
mit verschiedenen Strichbreiten. Alles führt aber zur gleichen 
Leiterplatte.

Georg

von Chris K. (Gast)


Lesenswert?

Alternativ über Umweg. Platine in Gerber viewer öffnen, Bildschirmfoto. 
Nächste Platine öffnen, dabei auf gleiche Größe achten. Bildschirmfoto. 
Bilder dann als Ebene in Photoshop oder gimp einfügen und den layer 
Modus auf Differenz stellen. Schon bleiben nur die unterschiedlichen 
Bereiche übrig

von MosFeratu (Gast)


Lesenswert?

Chris K. schrieb:
> Alternativ über Umweg. Platine in Gerber viewer öffnen, Bildschirmfoto.
> Nächste Platine öffnen, dabei auf gleiche Größe achten. Bildschirmfoto.
> Bilder dann als Ebene in Photoshop oder gimp einfügen und den layer
> Modus auf Differenz stellen. Schon bleiben nur die unterschiedlichen
> Bereiche übrig

Geht mit imagemagic auch per batch.

Selber würde ich das mit www.zofzpcb.com probieren und die Layer von 
Hand umschalten.

von Karsten B. (kastenhq2010)


Lesenswert?

Georg schrieb:
> Das Gerberformat selbst: die Reihenfolge von Plot-Befehlen ist für das
> Ergebnis irrelevant, und es gibt auch unterschiedliche Möglichkeiten das
> gleiche darzustellen - z.B. gibt es bei RS274X Polygon-Definitionen,
> aber ein Polygon kann auch aus Strichen zusammengesetzt werden und das
> mit verschiedenen Strichbreiten. Alles führt aber zur gleichen
> Leiterplatte.

Klar, wenn aber nach der Nadel im Heuhaufen gesucht wird, liegt die 
Vermutung nahe, dass nur eine Leierbahn verschoben ist und die Files aus 
dem gleichen Programm gepurzelt sind. Dieses sollte sich hinsichtlich 
der Abfolge der Plot-Befehle recht deterministisch verhalten.

Aber da Gerber bereits geantwortet hat, scheinen die Platinen doch 
zahlreiche Unterschiede aufzuweisen, was den Vergleich im Texteditor 
etwas mühsam macht.

von Horst72 (Gast)


Lesenswert?

Georg schrieb:
> Karsten B. schrieb:
>> Was spricht dagegen die Files mit einem x-beliebigen diff-Tool zu
>> vergleichen?
>
> Das Gerberformat selbst: die Reihenfolge von Plot-Befehlen ist für das
> Ergebnis irrelevant,

Jo,
das sollte allg. jedem klar sein, der "schon alt" ist, und z.B. noch
HPGL-plot-Dateien "händisch" editiert hat. ;-)
Zusätzlich kommt da noch hinzu, daß es auch " 'schlaue' Gerber-
Post-Prozessoren " gibt, die z.B. redundante Zeichen-Befehle
weg-optimieren (also als Beispiel: wenn ein Kreis an gleicher
Positions-Lage über eine Kreis liegt, wird nur ein Kreis in das
Gerber-Format übergeben).
Da kann es dann sogar sein, daß aus einem benutzten Programm durchaus
Byte-unterschiedliche Gerber-Dateien 'herausfallen', die aber als
Ergebnis (z.B. Platine) völlig identisch ist.

Also wird ein Vergleich nur über das "Ergebnis" der Gerber-Datei gehen.
In dem schon o.g. Link wird dazu z.B. auch:
Wandeln der Gerber-Datei in PDF und dann die beiden PDF vergleichen,
vorgeschlagen.
Das könnte man noch weiter treiben und z.B. DWG-, DXF- oder HPGL-Dateien
aus den beiden zu vergleichenden Gerberdateien (bzw. deren jeweiligen
Ebene) zu erstellen und diese z.B. mittels eines CAD-Programms dann per
dortigem XOR-Vergleich auszuwerten.
Mit dem Umwandel von Gerber- in andere Vectorformat-Dateien können (!)
aber ggf. auch einige neue/andere Formatwandelfehler entstehen, 
zumindest
ist damit aber wohl die Freeware-Auswahl größer.

Genau aus diesen Grund gibt es da eben "Spezial"-Gerber-Datei-
Vergleichsprogramme...

von MosFeratu (Gast)


Angehängte Dateien:

Lesenswert?

MosFeratu schrieb:
> Geht mit imagemagic auch per batch.



Bald ist ja Weihnachten:

"magick.exe" compare -density 300 -highlight-color red "drive:%1" 
"drive:%2" "drive:diff.pdf" >drive:comparereslt.txt

von Dergute W. (derguteweka)


Lesenswert?


von MosFeratu (Gast)


Lesenswert?

Dergute W. schrieb:
> Moin,
>
> Das hier koennt evtl. auch weiterhelfen:

Gute Idee. Kann man bei Git als difftool für Grafiken auch Imagemagick 
nehmen?

von Gerber (Gast)


Lesenswert?

Jörg W. schrieb:
> Lage für Lage jeweils paarweise in ein gerbv laden, und dann als
> Darstellung "normal with xor" auswählen?

Das klappt wunderbar, insbesondere kann man via Kommandozeile die 
Dateien öffnen und eine Farbe für die Layer vorgeben, damit ist es sogar 
einigermassen Effizient. Weiss jemand wie man via Kommandozeile direkt 
auch XOR aktivieren kann? Aus der Doku werde ich nicht ganz schlau. Geht 
das überhaupt?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Gerber schrieb:

> Weiss jemand wie man via Kommandozeile direkt
> auch XOR aktivieren kann? Aus der Doku werde ich nicht ganz schlau. Geht
> das überhaupt?

Habe mich gerade durch den Sourcecode gehangelt. Der Rendertype wird 
initial damit festgelegt:
1
    /* set default rendering mode */
2
#ifdef WIN32
3
    /* Cairo seems to render faster on Windows, so use it for default */
4
    screenRenderInfo.renderType = GERBV_RENDER_TYPE_CAIRO_NORMAL;
5
#else
6
    screenRenderInfo.renderType = GERBV_RENDER_TYPE_GDK;
7
#endif

Dort könntest du es natürlich permanent ändern. ;-)

Eine Kommandozeilenoption gibt es nicht, aber es wird in der 
Projektdatei gespeichert. In meinen steht bspw.
1
(set-render-type! 2)

Die 2 dürfte dabei für "Normal" stehen, also "einfaches 
Cairo-Rendering". 0 sollte dann GDK sein, 1 GDK/XOR und 3 schließlich 
"penibles Cairo-Rendering".

Da Farben und Dateinamen auch alles in der Projektdatei stehen, solltest 
du also in der Lage sein, dir für jedes Lagenpaar eine Projektdatei zu 
erzeugen und diese dann mit gerbv -p zu öffnen.

: Bearbeitet durch Moderator
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.