Hier mal zwei Scripte, die mir hauptsächlich beim Kuka helfen, wenn es darum geht, grosse Arrays in Datenlisten anzulegen.
Zur Verwendung muss u. U. die Menüleiste von UE angepasst werden, so dass man den Menüpunkt "Scripten" sieht. Darunter kann man die Scripte einbinden, wenn man die Zusatzendung ".txt" entfernt hat, so dass sie wieder *.js heissen.
xmal_einfuegen.js:
Oft gibt's ja diese Dinger:
decl real dings[50]
dings[1] = 0.0
dings[2] = 0.0
...
dings[50]= 0.0
Mich nervt die Pinselei immer entsetzlich.
Ich schreibe dann nur noch einmal
dings[##@@##] = 0.0
und markiere die ganze Zeile (mit Zeilenwechsel, Dreifachklick) und jage dann mein xmal_einfuegen drüber. Der fragt, wie oft, und fügt ein.
Der Platzhalter (er heisst bei mir ##@@##, aber das lässt sich im Script leicht anpassen) wird dann durch den Zähler ersetzt. Es wird in jeder Zeile nur der erste Platzhalter automatisch ersetzt.
Hat man keinen Platzhalter, wird halt nichts ersetzt, sondern einfach nur x-mal eingefügt. Vergisst man den Zeilenwechsel, kommt alles hintereinander.
Achtung: Rückgängig geht, aber nur schrittweise.
hochzaehlen.js:
Der ersetzt nur den Platzhalter (bei mir wieder ##@@##) durch Zahlen. Voraussetzung ist, dass der Textblock, in dem sich die Platzhalter befinden, markiert wird. Es wird innerhalb der markierten Zeilen in jeder Zeile nur der erste Platzhalter ersetzt.
Das Script fragt zu Beginn nach Startwert und Stufenwert, allerdings nicht als Zahlen (merkwürdigerweise erlaubt UE ausschließlich Ziffern bei der Eingabe als Zahlentyp, so dass man keine negativen Zahlen eingeben kann...) sondern als Text. eval() wirds richten, so dass man sogar 3/7 eingeben kann oder -14*(2+1/2), aber da übernehme ich keine Garantien für.
Auf diese Weise belege ich mir größere Datenfelder vor wenn nötig und fülle sie regelmäßig mit linear ansteigenden Werten, oder versehe eben auch die zweite Dimension des Datenfelds mit einem Index.
Rückgängig geht nicht!!!!!
Um den Platzhalter anzubringen, kann man ja auch immer gut den Spaltenmodus oder die gewöhnliche Ersetzung mit regulären Ausdrücken einsetzen.
Jo, ich bin nicht der muttersprachliche JS-Programmierer, ist nur so zusammengestoppelt und ohne jegliche Gewähr. Aber ich habe mich extrem dran gewöhnt...
Grüße,
Michael