Hallo erstmal,
ich möchte 3 GerberX-Dateien nacheinander in mein Layout importieren. Es
ist erstmal weniger wichtig, wie das geht. Mein bisheriges vorgehen war,
mit "Eagle PCB Power Tools" aus der Gerberdatei eine Script Datei zu
machen und diese dann auszuführen. Hierbei gibt es aber 2 Probleme:
1) Da ich das gerne mit anderen Dingen über eine ULP laufen lassen will,
müsste ich die exe mit ein paar Parametern (Quell-/Zieldatei,
Einstellungen...) aufrufen, was das Programm aber nicht anbietet. Damit
könnte ich aber noch leben, auch wenn es ein Mehraufwand ist.
2) In der Freeware-Version kann man nur bis zu 1000 Zeilen einlesen. Bei
2 von 3 zu importierenden Layern wird das aber nicht reichen.
Da das Gerber-Format ja bekannt und verbreitet ist, gibt es dazu doch
bestimmt noch alternative Programme oder gar eine ULP!? Ich wäre über
jeden Rat/Tipp/Link dankbar. Ich habe leider nach langer Suche nur
besagtes Tool gefunden.
Vielen Dank
Hallo ich.
ich schrieb:>> 1) Da ich das gerne mit anderen Dingen über eine ULP laufen lassen will,> müsste ich die exe mit ein paar Parametern (Quell-/Zieldatei,> Einstellungen...) aufrufen, was das Programm aber nicht anbietet. Damit> könnte ich aber noch leben, auch wenn es ein Mehraufwand ist.
So ganz habe ich das jetzt nicht verstanden.....aber ich vermute mal, du
suchst ein Verfahren, die Script Datei zu überspringen? Nun, ein ULP
könnte das machen. Eine Gerber Datei parsen und dann die einzelnen
Elemente in ein Board setzten.
Du könntest auch ein externes Programm schreiben, was Dir das Gerber
File direkt in ein Eagle File überträgt. Ich glaube, neuere Eagle
Versionen verwenden ein XML abgeleitetes Format....ganz sicher bin ich
mir aber nicht.
Alle diese Verfahren führen aber dazu, dass Du ein Board hast, aber
keinen Schaltplan und keine Netzliste. Die musst Du immer noch von Hand
machen.
Oder ein ULP dafür schreiben.
>> 2) In der Freeware-Version kann man nur bis zu 1000 Zeilen einlesen. Bei> 2 von 3 zu importierenden Layern wird das aber nicht reichen.
Ok. Dann probiere es doch mal mit KiCad. KiCad biet von Hause aus die
Möglichkei, ein Gerber File als Board einzulesen. Und zwar über den
Projekt eigenen Gerberviewer und dann als .kicad_pcb exportieren.
allerdings aktzeptiert der Gerberviewer nur Gerber, das auch dem von
KiCad selbst erzeugten Gerber entspricht *). Es ist aber garantiert
weniger Aufwand, ein Script zu schreiben, das einen Gerber-Dialekt in
einen anderen, neueren übersetzt, als etwas zu schreiben, das Gerber in
Eagle-Boards übersetzt.
Trozdem gilt das gleiche wie für Eagle:
Alle diese Verfahren führen aber dazu, dass Du ein Board hast, aber
keinen Schaltplan und keine Netzliste. Die musst Du immer noch von Hand
machen.
KiCad kann beim Board Python2-Skripte verwenden (Vergleichbar den ULPs
bei Eagle). Es ist mir alledings keins bekannt, das aus reinen Board
Dateien eine Netzliste oder einen Schaltplan macht.
Da KiCad überall offene Formate verwendet, bist Du aber nicht auf diese
Skriptmöglichkeit angewiesen, sondern kannst das extern mit
Skriptprogrammen Deiner Wahl machen. Also auch Python3, Pearl, Java,
Gambas/Basic und natürlich alle anderen Programmiersprachen. sie müssen
lediglich Text Files bearbeiten können.
> Da das Gerber-Format ja bekannt und verbreitet ist, gibt es dazu doch> bestimmt noch alternative Programme oder gar eine ULP!?
Siehe oben.
Weitere Info zu Gerber:
https://www.mikrocontroller.net/articles/Gerber-Tools
Weitere Infos zu KiCad: https://www.mikrocontroller.net/articles/KiCAD
*) Das bezieht sich meiner löchrigen Erinnerung gemäß in erster Linie
auf das Zahlenformat, und das KiCad Gerber keinen Circle-Befehl
verwendet, sondern Kreise grundsätzlich als Polygon aufbaut. Wie es
aktuell aussieht, darüber habe ich auch keine Erkenntnis, aber
Erfahrungsgemäß ist KiCad Gerber extrem an den aktuellen
Gerberdefinitionen angelegt. Es ist ein sehr sauberes Gerber. KiCad
aktzeptiert auch negative Werte in den Koordinaten.
Älteres Eagle-Gerber hat gelegentlich einen Bug im Zahlenformat. Fällt
dir aber vermutlich sofort auf, wenn Du damit umgehst, und ist somit
leicht zu umgehen.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
Bernd W. schrieb:> Alle diese Verfahren führen aber dazu, dass Du ein Board hast, aber> keinen Schaltplan und keine Netzliste.
Das ist noch das kleinere Problem, das grössere ist: es gibt keine
Bauteile. Gerber kennt nur Pads und selbst die sind nicht so ohne
weiteres von Leiterbahnen unterscheidbar, ein TQFP100 besteht also auf
der Bestückungsseite aus 100 Rechtecken, und so ist die ganze Lage
aufgebaut - was zusammengehört kann man nur selbst nachzeichnen und die
100 Rechtecke, Kreise oder was manuell durch einen Footprint ersetzen.
Ist sehr viel Arbeit und ein brauchbares Layout entsteht ohne das nicht,
in der eingelesenen Form kann man das nur zur Archivierung und für
kleine Änderungen gebrauchen.
Georg
Hallo Georg.
Georg schrieb:>> Alle diese Verfahren führen aber dazu, dass Du ein Board hast, aber>> keinen Schaltplan und keine Netzliste.>> Das ist noch das kleinere Problem, das grössere ist: es gibt keine> Bauteile.
Richtig.
Allerdings ist es mit Schaltplan und Netzliste relativ einfach, diese
nachzuflicken. Oder bin ich da zusehr in der KiCad Denkweise verhaftet?
> Gerber kennt nur Pads und selbst die sind nicht so ohne> weiteres von Leiterbahnen unterscheidbar,
Wenn Das Gerber sauber aufgebaut ist, schon. Pads sind nur Blinks, und
Leiterbahnen nur Draws. In dem Zusammenhang sind eben auch Draws der
Länge null wichtig. Ein Draw der Länge null unterscheidet sich
physikalisch nicht von einem Blink mit gleicher Apertur, aber er sollte
immer nur eine Leiterbahn repräsentieren, und nie ein Pad.
Darum ist es ja auch ein Problem, wenn Du in Footprints mit Draws im
Kupfer herummalst. Das gilt auch und vor allem, wenn Du mit dem Kram den
CAM-Input in der Leiterplattenfabrik machen willst.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
Bernd W. schrieb:> Pads sind nur Blinks
Da muss ich aber widersprechen, darauf kann man sich schon deshalb nicht
verlassen, weil das mit Blendentellern garnicht realisierbar war, da
waren praktisch alle länglich rechteckigen Pads Draws mit einem Quadrat
der entsprechenden Breite, länglich abgerundete ebenso. Wenn man dann
dummerweise ein solches Pad mit einer Leiterbahn gleicher Breite
kontaktiert hat, wurde der Übergang von der Leiterbahn zum Pad glatt
wegoptimiert. Gerber transportiert eben keine Semantik.
Ich würde mich auch heute nicht darauf verlassen, dass alles was ein Pad
sein soll auch mit einem einzigen Flash ausgegeben wird, bei Pads mit
Sonderformen geht das garnicht, das ist dann eine Art gemaltes
Unterprogramm.
Wir haben Frontline im Einsatz, die führende CAM-Software, da gibt es
eine Art Lernfunktion, man kann ein gemaltes Pad selektieren und das
System wandelt dann alle gleich aufgebauten in Flash um, so dass es als
Pad indentifizierbar ist. Aber selbst das funktioniert oft nicht
zuverlässig, weil durch Rundungsfehler die Pads eben doch nicht genau
gleich aufgebaut sind.
Georg
Hallo Georg.
Georg schrieb:>> Pads sind nur Blinks> Da muss ich aber widersprechen, darauf kann man sich schon deshalb nicht> verlassen, weil das mit Blendentellern garnicht realisierbar war, da> waren praktisch alle länglich rechteckigen Pads Draws mit einem Quadrat> der entsprechenden Breite, länglich abgerundete ebenso.
Das ist aber nun über 20 Jahre her. Als ich anfing, mich damit
dienstlich zu beschäftigen, so Mitte der 90er, waren Blendenteller schon
unüblich.
Mittlerweile gibt es diese Sorte Photoplotter überhaupt nicht mehr. Auch
nicht in Osteuropa. Das Gerberformat funktioniert zwar noch
grundsätzlich so, und das ist auch ein Vorteil, weil es die Abstraktion
und das Vorstellungsvermögen dazu erleichtert, aber letztlich hast Du
keine Beschränkung bei blendentellern mehr.
> Wenn man dann> dummerweise ein solches Pad mit einer Leiterbahn gleicher Breite> kontaktiert hat, wurde der Übergang von der Leiterbahn zum Pad glatt> wegoptimiert. Gerber transportiert eben keine Semantik.
Richtig. "Wurde". Und Gerber soll ja auch keine Semantik transportieren.
In den Fällen, wo das ausdrücklich erwünscht ist, hat man ja seit
einiger Zeit die Extensions.
Sooo altes Gerber, wo das noch eine Nummer war, bekomme ich nur noch
ganz selten zu sehen.
> Ich würde mich auch heute nicht darauf verlassen, dass alles was ein Pad> sein soll auch mit einem einzigen Flash ausgegeben wird, bei Pads mit> Sonderformen geht das garnicht, das ist dann eine Art gemaltes> Unterprogramm.
Richtig, verlassen kann man sich nicht darauf, weil es genug Sonderfälle
mit unüblichen Pads gibt. Aber für 95% aller Fälle kommt es hin, und
dann erleichtert die Einhaltung von Pad = Blink und Leiterbahn = Draw
die Arbeit.
> Wir haben Frontline im Einsatz, die führende CAM-Software, da gibt es> eine Art Lernfunktion, man kann ein gemaltes Pad selektieren und das> System wandelt dann alle gleich aufgebauten in Flash um, so dass es als> Pad indentifizierbar ist. Aber selbst das funktioniert oft nicht> zuverlässig, weil durch Rundungsfehler die Pads eben doch nicht genau> gleich aufgebaut sind.
Besser ist es darum halt, man versucht bei der Erstellung eines
Footprintes für Pads nur Blinks zu verwenden. Dann entsteht das
Rundungsproblem erst garnicht.
Ich habe mal anderthalb Monate mit Expedition CAM-Input gemacht. Solche
Funktionen gab es dort auch.
Aber dazu war ich dann letztlich nicht schnell genug. Power Gamer sind
dort besser im Training mit dem schnellen Mausklickfinger. ;O)
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://wwwl.l02.de
So, sorry, dass ich am Wochenende keine Zeit gefunden habe..
Bernd W. schrieb:> So ganz habe ich das jetzt nicht verstanden....
Ich hab mich vermutlich nicht so gut ausgedrückt. Ich möchte 3 Layer
einer Platine importieren. Die Outline und Bestückungsdruck Top und
Bottom. Dies dient lediglich der Veranschaulichung und Netzlisten etc
sind garnicht nötig und möglich. Anhand der Daten ist es aber bedeutend
einfacher, die Bauteile auf der in Eagle zu entwickelnden Platine zu
platzieren.
Bernd W. schrieb:> Ok. Dann probiere es doch mal mit KiCad.
Das ist leider keine Option :/
Ich habe es nun so gelöst, dass ich in der ULP die Gerberdateien angebe
und die nach 2500 Zeilen geteilt wird (die Demoversion kann max 3000
Zeilen und nicht 1000, hatte ich falsch im Kopf). An einer Stelle wartet
die ulp dann, bis ich mit dem externen Tool die Dateien in Script Datein
umgewandelt habe. Erfordert eben immernoch ein externes Tool und es muss
manuell bedient werden. Wenn ich da eine alternative hätte, wo ich mir
das Teilen sparen kann, ein anderes Programm oder eben eine ULP, dann
wäre das sehr gut. Mich so sehr in Gerber einzulesen und dann dafür eine
ulp selber zu schreiben, scheint mir aber unverhältnismäßig viel Aufwand
zu sein. Eine Automation ist aber gut, weil ich das immer wieder mal mit
unterschiedlichen Platinen/Gerberdateien machen muss.
Kurz gesagt: so wie es gerade ist, bin ich erstmal zufrieden. Wenn
jemand für mich aber eine fertige ulp oder Tip für ein anderes Programm
hat, immer her damit :)
Danke aber an alle für die Hilfe
Hallo ich.
ich schrieb:> So, sorry, dass ich am Wochenende keine Zeit gefunden habe..
Das ist ok. ;O)
>> Ich hab mich vermutlich nicht so gut ausgedrückt. Ich möchte 3 Layer> einer Platine importieren. Die Outline und Bestückungsdruck Top und> Bottom. Dies dient lediglich der Veranschaulichung und Netzlisten etc> sind garnicht nötig und möglich. Anhand der Daten ist es aber bedeutend> einfacher, die Bauteile auf der in Eagle zu entwickelnden Platine zu> platzieren.
Mmmmh. "Ansehen" könntest Du Dir die Daten auch mit einem Gerber-Viewer.
Also ganz ohne ein Layout Programm. Du bist vom Layoutprogrammen
unabhängig. Was, nebenbei gesagt, mit einer der Gründe für die
Verwendung von Gerber ist.
Auch unter den freien Gerber-Viewern gibt es einige komfortable mit
Messmöglichkeiten.
Irgendwie habe ich Dein Problem an exakt dieser Stelle noch nicht ganz
verstanden.
Wenn Du das aus irgendwelchen Gründen als Layer in Eagle haben willst,
um dort bequemer zu schauen, gäbe es noch die Option, aus den Gerber
Dateien nicht benötigte Daten zu löschen. Doch das ist auch nicht ganz
so einfach, und vor allem müsstest Du ja als Ziel unter die 1000 Zeilen
kommen.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
Joe F. schrieb:> Kaufe halt die Vollversion von "Eagle PCB Power Tools".
Könnte ich, die Begrenzung auf 3000 Zeilen ist aber nicht mehr das
Problem.
Bernd W. schrieb:> Irgendwie habe ich Dein Problem an exakt dieser Stelle noch nicht ganz> verstanden.
Wenn alles fertig ist, habe ich 2 Platinen, die übwreinander liegen.
Eine davon mache ich mit Eagle selber, die andere wird mit von jemand
anderes mit einem anderen Tool gemacht. Von dieser Platine habe ich die
Gerberdateien. Die fremde Platine kommt quasi auf meine drauf. Deshalb,
und weil ich auch ein paar simple mechanische Dinge entwickeln und
fertigen muss/will, möchte ich die fremde Platine in meinem Layout sehen
können, eben die Outline und den Bestückungsdruck. Daher brauche ich
auch keine Netzlisten usw, sondern lediglich die 3 Layer, die ruhig aus
den Standard "Striche" bestehen kann. Die Platine mir einzeln angucken
kann ich, aber die Umrisse und Bestückung beeinflusst mein Layout. Da
ist es deutlich kompfortabler, die 3 Layer in meinem Layout einblenden
zu können.
Prinzipiell funktioniert das alles schon. Nur wäre ich um eine
Lösung/Software/ULP dankbar, mit der ich die einzelne manuelle
Umwandlung umgehen kann. Also entweder direkt eine ulp oder ein Programm
(exe), das ich zusammen mit den nötigen Parametern aus einer ulp
aufrufen kann.
Hallo ich.
ich schrieb:> Wenn alles fertig ist, habe ich 2 Platinen, die übwreinander liegen.
~~~
~~
~
> ist es deutlich kompfortabler, die 3 Layer in meinem Layout einblenden> zu können.
Danke für die Info!
Ich denke, jetzt habe ich verstanden. ;O)
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
ich schrieb:> die andere wird mit von jemand> anderes mit einem anderen Tool gemacht.
Mit welchem Tool denn? P-CAD/Altium/Protel?
Dann wäre der Weg über ACCEL ASCII (in Altium als "P-CAD ASCII"
speichern) vielleicht einfacher als über Gerber.
Auch Ultiboard (.DDF) kann von Eagle wohl direkt importiert werden.
Auch DXF wäre evtl. eine Lösung (Outline + relevante Connectorpositionen
als DXF exportieren).
Joe F. schrieb:> Mit welchem Tool denn? P-CAD/Altium/Protel?
Nein, leider nicht.
Ich habe mich jetzt nochmal ein bisschen mit dem Gerberformat
auseinander gesetzt und mir einen eigenen Interpreter in die ULP
geschrieben. Funktioniert ganz gut und vollautomatisch. Das Thema hat
sich somit erledigt.
Trotzdem danke an alle