Hallo, ich möchte bei eagle 5.6 aus dem board die vias auslesen lassen. Wer weiss wie das geht? kann ja eigentlich nichts schwieriges sein. ich vermute den button "run", aber wie weiter? bitte um Hilfe
über ein ULP-Script, z.B. so:
if (board) {
board(B) {
B.signals(S) {
output(outfile, "at") {printf("# next signal ...\n");}
/* nur für den Fall, daß wir ein brd alleine generieren wollen on
sch, weil dann noch keine Signale existieren
printf("SIGNAL '%s'", S.name);
S.contactrefs(C) {
printf(" %s %s", C.element.name, C.contact.name);
}
*/
output(outfile, "at") {printf("\n");}
output(outfile, "at") {printf("# SignalName: %s ClassName: %s
ClassNumber: %d\n", S.name, S.class.name, S.class.number);}
output(outfile, "at") {printf(" CLASS %d;\n", S.class.number);}
output(outfile, "at") { // drillsymbol läßt sich wohl nicht
setzen (jedenfalls nix gefunden), VIA_SHAPE_ANNULUS/VIA_SHAPE_THERMAL
noch etwas im Auge bhalten
printf("\n# Vias ...\n");
S.vias(V) { // muß noch geprüft werden, vor allem drill Dinge,
shape, layers, flags u.a.
printf(" CHANGE DRILL %2.1f;\n", real(V.drill)/10);
printf(" VIA '%s' %2.1f", S.name,
real(V.diameter[LAYER_VIAS])/10);
switch (V.shape[LAYER_VIAS]) {
case VIA_SHAPE_SQUARE: printf(" SQUARE"); break;
case VIA_SHAPE_ROUND: printf(" ROUND"); break;
case VIA_SHAPE_OCTAGON: printf(" OCTAGON"); break;
case VIA_SHAPE_ANNULUS: printf(" ANNULUS"); break;
case VIA_SHAPE_THERMAL: printf(" THERMAL"); break;
}
printf(" %d-%d", V.start, V.end);
if (V.flags == VIA_FLAG_STOP) printf(" STOP");
printf(" (%2.1f %2.1f);\n", real(V.x)/10, real(V.y)/10);
}
}
}
}
Ist ein auszug aus einem meiner ULP's - vielleicht sind die Klammern
oder irgendwelche Variablen nicht ganz sauber (weil evtl. etwas aus dem
Zusammenhang gerissen). Das Script erzeugt die VIA Befehle aus dem
Board.
Zur Bedeutung der einzelnen ULP-Befehle/Syntax - s. Eagle-Hilfe ....
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.