vias auslesen wie??

#1421560
Lesenswert?

ü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 ....

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren