EAGLE comparte variantes de paquetes entre diferentes bibliotecas

¿Es posible compartir variantes de paquetes entre diferentes bibliotecas porque no soy un gran fanático de copiar la misma variante de paquete una y otra vez?

Ejemplo:

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

Cuando se cambia el SOT23paquete en ref_packages.lbr, también se "cambia" en texas_instruments.lbr.

Respuestas (2)

Que yo sepa, no hay forma de hacerlo. En el Editor de bibliotecas, cuando está conectando dispositivos, solo es posible seleccionar los que están dentro de la biblioteca actual. Como tal, se agregó la función 'Copiar a la biblioteca' para que mover piezas y paquetes entre bibliotecas sea relativamente fácil.


Dicho esto, si está utilizando Eagle V6 o posterior, cambiaron a un formato XML para las bibliotecas y los diseños de PCB. Lo que esto significa es que si construye un paquete usando el editor de biblioteca, entonces es posible abrir el archivo de biblioteca con un editor de texto y luego copiar el paquete a su otra biblioteca manualmente.

Solo tiene que buscar la <packages>etiqueta en el archivo de la biblioteca y dentro de esa etiqueta hay varias <package name="something">...</package>secciones que son los datos de su huella. Si copia el contenido de la etiqueta que le interesa en los otros archivos de la biblioteca y lo guarda, el paquete se actualizará en esas bibliotecas.

Como se trata esencialmente de una operación XML, entonces debería ser posible hacer esto con algún tipo de secuencia de comandos que podría escribirse para buscar en todas las bibliotecas y actualizar cualquier paquete con los de su biblioteca de referencia. De hecho, obtuve buenos resultados en el pasado usando las funciones XML de Processing 2+ para analizar los archivos eagle (creé una aplicación de procesamiento que podía mover el contenido de un archivo .brd analizando todas las etiquetas x= e y=).


Otra opción a considerar sería ver si es posible reemplazar paquetes en una biblioteca usando scripts ULP. Hasta donde sé, casi todo lo que puede hacer en Eagle también se puede hacer en ULP, por lo que es posible usar un script ULP para trabajar con bibliotecas que actualizan los paquetes.


De acuerdo, estos no son realmente lo que desearía idealmente: estoy de acuerdo en que debería ser posible tener una biblioteca de paquetes estándar, haría la vida mucho más fácil realizar un seguimiento de todo.

Sin embargo, hay algunas desventajas en esto, que es que si realiza un cambio en una huella 'estándar', tendrá que volver a revisar todos los diseños que haya hecho con esa biblioteca y actualizarlos para asegurarse de que todavía pase cualquier Cheques de la República Democrática del Congo. A la luz de eso, lo que comencé a hacer es esencialmente crear una biblioteca específica para cada tablero, copiando los contenidos de otras bibliotecas en el tablero específico a medida que avanzo. De esa manera, no hay que preocuparse por los problemas de DRC si revisa un diseño en el futuro.

También se me ocurrió la idea con un script pero esperaba que hubiera una solución oficial a este problema :(

Puede tener una biblioteca separada que contenga solo paquetes y luego copiar estos paquetes a otras bibliotecas. Cuando necesite cambiar un paquete, cámbielo en la biblioteca de 'paquetes' y luego ejecute 'Actualizar' en todas las bibliotecas que heredan el paquete.