Para el modelado de CAD en 3D, existe un software llamado OpenSCAD que le permite crear diseños en 3D exclusivamente en código y luego renderizarlos.
Me pregunto si existe algo similar para el diseño de PCB donde pueda "escribir" un PCB y luego compilarlo en archivos gerber o similares que luego podrían enviarse a un sitio fabuloso como easyEDA.
Editar: Debería especificar que por "en código", me refiero a algún lenguaje con soporte para constantes con nombre, funciones, bucles, etc. Por ejemplo, en OpenSCAD, puedo hacer cosas como
for(i = [0 : num_planks-1]) {
translate([i * plank_w, bb_w, top_height]) cube([plank_w, plank_l, top_thickness]);
}
y, al cambiar las constantes, puedo alterar rápidamente los parámetros de un modelo.
Lo que estoy tratando de hacer es crear una PCB para un teclado, pero me gustaría poder modificar fácilmente el diseño sin tener que mezclar manualmente cada interruptor de llave. Agregar o eliminar una fila de teclas, cambiar el escalonamiento de las filas, etc. Parece que este tipo de cosas podrían ser fáciles si la placa se describiera correctamente en el código en lugar de en un editor gráfico.