/* * This EAGLE User Language Program produces a list * of all the drills and holes of a board. * Additionally part data as origins, rotation, value & package added for auto placement of parts. */ board(B) { output(filesetext(B.name, ".DRH")) { printf("Compoint location and holes for:\n"); printf("%s\n\n",B.name); printf("Board holes:\n"); B.holes(H) printf("X: %f Y: %f 0: %f\n", u2inch(H.x), u2inch(H.y), u2inch(H.drill)); printf("\nComponents:\n"); B.elements(E) { printf("\n%s ORG;X:%5.3f Y:%5.3f R:%3.0f Value:%-8s Pac.:%-8s\n", E.name,u2inch(E.x), u2inch(E.y),E.angle,E.value,E.package.name); E.package.contacts(C) { if (C.pad) printf("Pad:%s X: %f Y: %f Drill: %f\n", C.pad.name,u2inch(C.pad.x), u2inch(C.pad.y), u2inch(C.pad.drill)); } E.package.holes(H) printf("Hole: X: %f Y: %f 0: %f\n", u2inch(H.x), u2inch(H.y), u2inch(H.drill)); } } }