Ich möchte gerne per EAGLE ULP mehrere Polygone zeichnen in Abhängigkeit von User-Eingaben. Wie kann ich mehrere Befehle als ganzes ausgeben? Bisher kann ich eine Befehlszeile ausgeben: exit (befehl); Ich benötige aber: exit(befehl1 befehl2 befehl3,...); Ich habe schon probiert die Befehle in einem String zu schreiben: string befehl; schleife{ sprintf(befehl); } exit(befehl); Hier überschreibt er natürlich alles und nimmt nur den letzten befehl. Auch das hier hatte keinen erfolg: string befehl[]; schleife (zähler i){ sprintf(befehl[i]); } exit(befehl[]); hier kann ich aber nur einen bestimmten befehl ausgeben (z.B 1, 2, 3...) aber nicht alle (z.B. 1-9) weil die Angabe exit(befehl[]); zum Fehler führt. Hat jemand einen Tip? Wie kann ich einen string "fortlaufend" erweitern?
:
Verschoben durch Admin
Warum schreibst Du nicht ein ULP Programm und führst dieses dann aus? Warum willst Du sowas unbedingt in der Kommandozeile machen? Gruss
Du kannst in der ULP ein Script erstellen und das dann ausführen.
Bird schrieb: > Warum schreibst Du nicht ein ULP Programm und führst dieses dann aus? Das mache ich ja, aber ich schaffe es nicht mehr als eine Zeile auszugeben.
hast du ftp://ftp.cadsoft.de/eagle/userfiles/doc/ulp_de.pdf gelesen?
Michael H. schrieb: > hast du ftp://ftp.cadsoft.de/eagle/userfiles/doc/ulp_de.pdf > gelesen? Danke für den Hinweis, ich habe mich in der Hilfe versucht zu recht zu finden, aber ich schaue mir dieses pdf einmal an.
Ich habe es hinbekommen:
1 | sprintf(Cmd, "grid mm;\n" |
2 | "layer %d;\n", |
3 | Layer); |
4 | |
5 | void funktion(int i, real x1, real y1, real r1, real x2, real y2, real x3, real y3, real r2, real x4, real y4){ |
6 | string text; |
7 | sprintf(text, "polygon %f (%f %f) -%f (%f %f) +0 (%f %f) +%f (%f %f) @+0 (%f %f);\n", |
8 | polygonwidth, x1, y1, r1, x2, y2, x3, y3, r2, x4, y4, x1, y1); |
9 | Cmd += text; //<-- Hier ist die Lösung!! |
10 | }
|
11 | |
12 | exit(Cmd); |
Danke Michael H. für den Link.
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.