EAGLE teilt Paketvarianten zwischen verschiedenen Bibliotheken

Ist es möglich, Paketvarianten zwischen verschiedenen Bibliotheken zu teilen, weil ich kein großer Fan davon bin, dieselbe Paketvariante immer wieder zu kopieren?

Beispiel:

ref_packages.lbr
    defines SOT23 package
texas_instruments.lbr - needs ref_packages.lbr to work!
    uses the package defined in ref_packages.lbr

Wenn das SOT23Paket in ref_packages.lbrgeändert wird, wird es auch in geändert texas_instruments.lbr.

Antworten (2)

Soweit ich weiß, gibt es dazu keine Möglichkeit. Im Bibliothekseditor können Sie beim Verbinden von Geräten nur Geräte aus der aktuellen Bibliothek auswählen. Daher wurde die Funktion „In Bibliothek kopieren“ hinzugefügt, um das Verschieben von Teilen und Paketen zwischen Bibliotheken relativ einfach zu machen.


Wenn Sie jedoch Eagle V6 oder höher verwenden, wurden die Bibliotheken und PCB-Designs auf ein XML-Format umgestellt. Das bedeutet, wenn Sie ein Paket mit dem Bibliothekseditor erstellen, ist es dann möglich, die Bibliotheksdatei mit einem Texteditor zu öffnen und das Paket dann manuell in Ihre andere Bibliothek zu kopieren.

Sie müssen nur nach dem <packages>Tag in der Bibliotheksdatei suchen und innerhalb dieses Tags gibt es mehrere <package name="something">...</package>Abschnitte, die die Daten für Ihren Fußabdruck sind. Wenn Sie den Inhalt des Tags, an dem Sie interessiert sind, in die anderen Bibliotheksdateien kopieren und speichern, wird das Paket in diesen Bibliotheken aktualisiert.

Da dies im Wesentlichen eine XML-Operation ist, sollte es möglich sein, dies mit einer Art Skript zu tun, das geschrieben werden könnte, um alle Bibliotheken zu durchsuchen und alle Pakete mit solchen aus Ihrer Referenzbibliothek zu aktualisieren - ich habe tatsächlich gute Ergebnisse erzielt In der Vergangenheit wurden die XML-Funktionen von Processing 2+ verwendet, um die Eagle-Dateien zu analysieren (ich habe eine Verarbeitungsanwendung erstellt, die den Inhalt einer .brd-Datei verschieben konnte, indem sie alle x=- und y=-Tags analysierte).


Eine weitere Option, die Sie sich ansehen sollten, wäre zu prüfen, ob es möglich ist, Pakete in einer Bibliothek mit ULP-Skripten zu ersetzen. Soweit mir bekannt ist, kann so ziemlich alles, was Sie in Eagle tun können, auch in ULP ausgeführt werden - daher kann es durchaus möglich sein, ein ULP-Skript zu verwenden, um Bibliotheken zu bearbeiten, die die Pakete aktualisieren.


Zugegeben, das sind nicht wirklich das, was Sie sich idealerweise wünschen würden - ich stimme zu, dass es möglich sein sollte, eine Bibliothek mit Standardpaketen zu haben, es würde das Leben viel einfacher machen, den Überblick zu behalten.

Dies hat jedoch einige Nachteile, nämlich dass Sie bei einer Änderung an einem „Standard“-Footprint jedes Design, das Sie mit dieser Bibliothek erstellt haben, noch einmal durchgehen und aktualisieren müssten, um sicherzustellen, dass es immer noch besteht DRC prüft. Vor diesem Hintergrund begann ich im Wesentlichen damit, eine Bibliothek speziell für jedes Board zu erstellen und dabei den Inhalt anderer Bibliotheken in die Board-spezifische zu kopieren. Auf diese Weise müssen Sie sich keine Gedanken über DRC-Probleme machen, wenn Sie später auf ein Design zurückgreifen.

Ich dachte auch an die Idee mit einem Skript, aber ich hoffte, dass es eine offizielle Lösung für dieses Problem gibt :(

Sie können eine separate Bibliothek haben, die nur Pakete enthält, und diese Pakete dann in andere Bibliotheken kopieren. Wenn Sie ein Paket ändern müssen, ändern Sie es in der Bibliothek „Pakete“ und führen Sie dann „Update“ in allen Bibliotheken aus, die das Paket erben.