Forum: Platinen EAGLE Skript - Net umbenennen


von Nick N. (nick_hb)



Lesenswert?

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.

von Oliver (Gast)


Lesenswert?

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?

von Nick N. (nick_hb)


Lesenswert?

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.

von Nick N. (nick_hb)


Lesenswert?

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
Noch kein Account? Hier anmelden.