Hi zusammen, ich komme seit einigen Tagen mit einem Skript nicht weiter und muss mich nun mal an euch wenden. Problemstellung: Ich habe mit EAGLE mehrseitige Schalt-/Stromlaufpläne erstellt. Für die Fertigung muss nun in den Plänen jede Leitung (NET) durchnummeriert werden, um später gelabelt werden zu können. Das darf aber nicht das übliche "N$xx" sein sondern soll in Form von "1,2,3,...,2000" passieren. Ansatz: Es wird ein ULP geschrieben, welches durch alle Seiten, Netze und Co durchmarschiert, neue Namen für die Netze generiert (aus "N$3" mach "#3" usw.) und die Ergebnisse in ein Skript schreibt welches zum Schluss ausgeführt wird. Das tolle ist, dass das ULP funktioniert und das Skript auch erstellt wird. Verweise (in Form von "text ... usw.) werden gesetzt. Problem: Das Umbenennen der Netze funktioniert aus dem Skript heraus nicht. :-( In der "ulpTest_v2.sch" (Raster in 'mil') sind 2 Bauteile 3 Netze und 1 Bus. Beispielhaft möchte ich hier Net:N$6 betrachten. Es funktioniert, wenn ich das Net - direkt in EAGLE (NAME button) umbenenne - über die command line mittels "NAME #7 (700.000000 900.000000);" Auch die "text" Befehle im Skript funktionieren. Was nicht klappt ist der Befehl: "NAME #7 (700.000000 900.000000);", wenn ich ihn im Skript ausführe!?!?!?! Lösungsansätze: Es gibt beispielsweise ein ULP "rename_net.ulp". Hierbei geht es um die letzten Zeilen, in denen der String "cmd" generiert wird. Hier setzt sich der String aus exakt den gleichen Befehlen zusammen, wie sie auch in meinem Skript vorkommen (siehe Screenshot "rename_ulp_cmd.png") und es funktioniert. Bin am Ende... ...mit meinem Latein. Ich hoffe es kann mir hier jemand weiterhelfen. Danke euch schonmal im voraus.
Mit dem Skript kann ich nicht helfen, aber vielleicht als Tipp: notfalls mit einem kleinen Programm direkt in .sch und .brd (sind editierbare XML-Dateien) suchen/ersetzen?
Oliver schrieb: > ...mit einem kleinen Programm direkt in .sch und .brd (sind editierbare XML-Dateien) suchen/ersetzen? Hi Oliver, danke für die schnelle Antwort. Ich habe es gerade ausprobiert und es wäre tatsächlich eine Möglichkeit, lässt aber den Rahmen wieder ein wenig mehr aufplatzen. Zumal ich dann auch noch den Fall abfangen muss, bei dem Net-nummern übersprungen wurden (..., N$552, N$553, N$556, N$557,...), weil sie nachträglich mal gelöscht wurden. Es muss doch die Möglichkeit geben, den "NAME" Befehl aus einem Skript heraus auszuführen.
MURPHY'S LAW!!! Es ist nun das dritte Mal in folge so, dass kurz nachdem ich ein Forum bemühe die Lösung "von allein" kommt. Das Problem lag darin, dass ich u.a. die Netze beschrifte. Hierfür habe ich einen neuen Layer "Text" definiert in welchem ich reinschreibe. Gleichzeitig wollte das Skript aber auch im Layer "Text" die Netze umbenennen. Und eben das geht nicht! Die Lösung: Vor dem Befehl "Name <new_Net_name> (<Koordinate x> <Koordinate y>)" muss man (natürlich) auch wieder in den Layer: 91 Nets zurückspringen. Dennoch vielen Dank an alle, die sich das Problem zumindest angesehen haben. ;-)
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.