Hi Leute, mit der ULP "exp-lbrs" kann ich aus einen Schaltplan heraus alle verwendeten Bauteile in eine neue Library exportieren. Mit dem Replace Befehl kann ich für jedes Bauteil einzeln angeben das die neue Library benutzt werden soll. Gibt es auch eine Möglichkeit diesen Schritt automatisch durchführen zu lassen? Sozusagen einen "Replace all" Befehl? Wenn es diese Möglichkeit nicht gibt, wie genau ist es von CadSoft gedacht wie man mit exportierten Bibliotheken arbeiten soll/kann? Viele Grüße Stefan
@Stefan (Gast) >benutzt werden soll. Gibt es auch eine Möglichkeit diesen Schritt >automatisch durchführen zu lassen? Sozusagen einen "Replace all" Befehl? Sicher, im Menu Bibliothek -> Aktualisieren oder -> Alles aktualisieren
Hi, vielen Dank. Wenn ich auf "Alles aktualisieren" klicke werden die vorhandenen Bauteile nicht durch ihren Gegenpart aus der neuen Bibliothek ersetzt (Eagle v.6.6). Die alten Bibliotheken werden weiterhin benutzt. Ich frage mich nach dem Sinn einer Exportfunktion von Bibliotheken wenn diese im Anschluss daran nicht benutzen kann, bzw. nur wenn ich jedes Bauteil per Hand mit der Version aus der neuen Bibliothek ersetzt habe. Grüße Stefan
@Stefan (Gast) >vielen Dank. Wenn ich auf "Alles aktualisieren" klicke werden die >vorhandenen Bauteile nicht durch ihren Gegenpart aus der neuen >Bibliothek ersetzt (Eagle v.6.6). Die alten Bibliotheken werden >weiterhin benutzt. Richtig. Man muss halt die Bibliotheken einzeln aktualisieren lassen. > Ich frage mich nach dem Sinn einer Exportfunktion von >Bibliotheken wenn diese im Anschluss daran nicht benutzen kann, bzw. nur >wenn ich jedes Bauteil per Hand mit der Version aus der neuen Bibliothek >ersetzt habe. Das muss man nicht. Vielleicht gibt es noch eine Einstellung oder Trick, wie man Eagle den einfachen Gesamtupdate auf die exportierten Bibliotheken machen läßt. Mal im Handbuch nachgeschaut?
Handbuch Abschnitt 6.6 "Über das Menü Bibliothek/Alles aktualisieren werden automatisch alle Bauteile eines Projekts mit den Definitionen der aktuellen Bibliotheken verglichen. Stellt EAGLE Unterschiede fest, wird das Bauteil ausgetauscht. Es werden Bibliotheken aus dem im Control Panel unter Optionen/Verzeichnisse angegebenen BibliothekenPfad berücksichtigt." Die Frage ist, was macht Eagle, wenn 2 Libs mit dem gleichen Namen existieren, eine im normalen lbr-Verzeichnis und eine neue, exportierte im Projektverzeichnis? Nimmt es dann einfach die erste oder die 2.? Vielleicht entscheidet darüber die Reihenfolge der Pfade im Control-Panel? Muss man mal probieren. Ok, ich hab's mal getestet. Der Projektpfad mit den lokal erzeugten Bibliotheken muss VOR dem Standardpfad eingetragen werden! Im Control Panel Menu Optionen -> Verzeichnisse
Hi, danke. Das geht auf jeden fall schon mal in die richtige Richtung. Leider ist diese Methode auf zwei Bibliotheken mit dem gleichen Namen beschränkt. Ich habe mir überlegt, ob es sinnvoll wäre eine .ulp zu schreiben die für jedes Bauteil einmal die Replace-Funktion aufruft.
@ Stefan (Gast) >danke. Das geht auf jeden fall schon mal in die richtige Richtung. >Leider ist diese Methode auf zwei Bibliotheken mit dem gleichen Namen >beschränkt. Hää? Wo liegt denn da das Problem? Willst du Dutzende Bibliotheken mit gleichem Namen in der Gegend rumfliegen haben? Das ist so oder so eher ein Workaround, mit dem man vorsichtig umgehen sollten. Denn im Normalfall gibt es nur EINE Bibliothek und nur DORT sollten die Änderungen gemacht werden. Denn sonst holt man sich ganz fix das Chaos an den Hals. > Ich habe mir überlegt, ob es sinnvoll wäre eine .ulp zu >schreiben die für jedes Bauteil einmal die Replace-Funktion aufruft. Wieso?
:
Bearbeitet durch User
Hallo Stefan, > Ich habe mir überlegt, ob es sinnvoll wäre eine .ulp zu > schreiben die für jedes Bauteil einmal die Replace-Funktion aufruft. Wenn du wirklich alle Bauteile mit der neuen Projekt-Library verknüpfen willst, dann ist ein ulp ein gutes Mittel um das händische ersetzen aller Bauteile zu vermeiden. Du kannst ja mal unter https://github.com/Sns22/Eagle_PCB_Libraries/blob/master/Eagle-ulp-files/exp-lbrs-replace.ulp gucken, ob du dir da was abschauen kannst. Dann mußt du dein ulp nicht ganz von vorne neu schreiben. Schönen Abend noch.
Falk B. schrieb: > Hää? Wo liegt denn da das Problem? Willst du Dutzende Bibliotheken mit > gleichem Namen in der Gegend rumfliegen haben? Das ist so oder so eher > ein Workaround, mit dem man vorsichtig umgehen sollten. Denn im > Normalfall gibt es nur EINE Bibliothek und nur DORT sollten die > Änderungen gemacht werden. Denn sonst holt man sich ganz fix das Chaos > an den Hals. Moin, meine Aussage war missverständlich, ich möchte gerade keine gleichnamigen Bibliotheken verwenden. Im Prinzip hat Eagle schon alle Boardmittel um meine originale Anforderung zu erfüllen. Mit "exp-lbrs" kann ich aus allen Bauteilen eine Bibliothek erstellen und mit "REPLACE" kann ich die Bauteile auf die neue Library referenzieren. Nur kenne ich keinen Befehl mit dem ich ein automatisches Replace durchführen kann. Darum auch die Idee mit der .ulp, ganz ohne Verzeichnispfad Tricksereien. Maik F. schrieb: > Wenn du wirklich alle Bauteile mit der neuen Projekt-Library verknüpfen > willst, dann ist ein ulp ein gutes Mittel um das händische ersetzen > aller Bauteile zu vermeiden. Du kannst ja mal unter > https://github.com/Sns22/Eagle_PCB_Libraries/blob/... > gucken, ob du dir da was abschauen kannst. Dann mußt du dein ulp nicht > ganz von vorne neu schreiben. Auf die ulp bin ich gestern auch gestoßen. Scheint mir aber das Gleiche zu mache wie die "exp-lbrs". Naja muss mir das Ganze mal genauer anschauen.
Hi, hab mir "exp-lbrs-replace.ulp" bzw. "exp-lbrs-replace2.ulp" noch mal genauer angeschaut. Das ULP erstellt nicht nur eine gemeinsame Bibliothek sondern erstellt auch eine "_ReplaceLibParts.scr" Scriptdatei, sobald diese aufgerufen wird werden alle Bauteile auf die neue Bibliothek referenziert. Genau das was ich gesucht habe. Vielen Dank! Stefan
Irgendwie erschließt sich mir das Problem nicht. Der Export der verwendeten Bibliotheken erzeugt eine neue Bibliothek - aber keine neuen Bauteile! Also unterstelle ich mal dass das Bauteil Xyz aus der ursprünglichen Bibliothek völlig identisch mit dem Bauteil Xyz aus der neu generierten Bibliothek ist. Wozu also noch die Referenzen manipulieren? Willst Du am Original rumfummeln - etwas was ich mir immer verkneife - so steht es Dir ja frei, das nächste Mal, den Hilfsauszug zu referieren. Am Original fummel ich nur rum, wenn es einen Fehler gibt. In dem Falle kann es aber nicht schaden ein Update mit dem nun geänderten Bauteil anzustoßen. Andernfalls bringt die Änderung ja nichts.
Ich Vergaß: Zumindest bei der von mir verwendeten Version 6.X, werden zusätzlich noch alle Bauteile, unabhängig von ihrem Ursprung, direkt in die .sch-Datei übernommen. Befinden sich die Bibliotheken gerade im Nirwana, so funktioniert die weitere Bearbeitung weiterhin. Leider habe ich noch keine Möglichkeit gefunden aus einer "Ist schon eingefügt"-Liste weitere Bauteile auszuwählen. Das ist aber eine andere Baustelle.
Hi, mal zur Erklärung des Problems. Sagen wir ein Schaltplan besteht aus Bauteilen(Parts) aus 8 verschiedenen Bibliotheken, davon 3 aus Eagle-Standardbibliotheken und 5 Custum-Bibliotheken. Jetzt hat man die Wahl wie man mit diesen arbeitet: 1. Man lässt die Bibliotheken getrennt: Die einfachste Methode. Hat aber das Problem das die Daten nicht gekapselt sind und das die Parts aus den Bibliotheken und die Parts aus dem Schaltplan mit der Zeit divergieren können. Zum Beispiel wenn man nach Zehn Jahren die Datei mit der neuseten Eagle Version öffnet und dann feststellt das es einige Bibliotheken gar nicht mehr gibt und andere sich stark verändert haben. Jetzt kann man natürlich die Bauteile aus den Schaltplan exporteieren. Problem dabei, man besitzt dann jede Bibliothek zweimal, einmal die aktuelle Version und einmal die exportierte Version. Zweites Problem, nachdem man die Bibliotheken exportiert hat, wie lässt man die Bauteile auf diese referenzieren? 2. Man fasst die Bibliotheken von Hand zusammen, entweder am Ende der Entwicklung oder während der Entwicklung. Ist eine gute Möglichkeit aber mit relativ großen manuellen Aufwand. Man muss jedes einzelne Bauteil kopieren und in die neue Bibliothek einfügen. Wenn man die Bauteile erst am Ende der Entwicklung zusammenfasst, wie referenziert man dan die Bauteile auf die neue Bibliothek? Man kann natürlich sagen, dass man die Bauteile erst dann der neu erstellten Bibliothek zuordnet wenn man diese auch wirklich verändern will. Dann hat man nicht nur acht (in unserem Beispiel) sondern neun unterschiedliche Bibliotheken. Die originalen acht und eine zusätzliche zusammengemixte aus den acht. Die Bauteile referenzieren wild durch die Gegend, zeigen mal auf eine alte mal auf die neue Bibliothek, sobald man 'Bibliothek/Alles aktualisieren' klickt passieren wunderliche Dinge. 3. Am Ende der Entwicklung fasst man alle verwendeten Bauteile zur einen Bibliothek zusammen, z.B. mit "exp-lbrs-replace2.ulp", die Bauteile zeigen aber alle noch auf die alten Bibliotheken. Man ruft "_ReplaceLibParts.scr" auf, alle Bauteile zeigen nur noch auf eine Bibliothek. Man speichert diese Bibliothek zusammen mit .brd und .sch. Nach zehn Jahren möchte man die Zeichnung mit der aktuellen Eagleversion öffnen, man kopiert die Bibliothek in einen gültigen lbr Ordner. Jetzt öffnet man .sch und .brd und kann sofort weiter arbeiten, so als wäre nie Zeit vergangen. Die verwendeten Bibliothek und die Parts aus der Zeichnung sind 100% konsistent. Man kann 'Bibliothek/Alles aktualisieren' klicken ohne das man schlimmes befürchten muss. Wenn man z.B ein Package ersetzen möchte kopiert man dieses einfach aus den vorhanden Bibliotheken und führt dann ein 'Alles aktualisieren' aus, alle betroffenen Bauteile werde aktualisiert und Bibliothek und Zeichnung sind weiterhin konsistent. Gruß Stefan
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.