TCL Script - Schleifen und Objekt-IDs
Eine Liste von AllplanBridge-Objekten ist durch das erste Objekt, das letzte Objekt und die Anzahl der Objekte definiert. Die IDs sind temporär. Um die Objekte in einer for-Schleife zu durchlaufen, benötigt man die folgenden Kommandos:
Kommandos OBJNEXT und OBJPREV
|
Aufruf |
Argument |
Bedeutung |
|
[OBJNEXT id] |
OBJID |
Die ID des Nachfolgers des Objektes mit der ID id wird zurückgegeben. Falls id = 0 oder id ist das letzte Objekt der Liste, dann wird 0 zurückgegeben. |
|
[OBJPREV id] |
OBJID |
Die ID des Vorgängers des Objektes mit der ID id wird zurückgegeben. Falls id = 0 oder id ist das erste Objekt der Liste, dann wird 0 zurückgegeben. |
TCL-Arrays als Rückgabewert von Kommandos
Falls die Array-Werte nicht bekannt sind, lassen sich diese abfragen (s. Beispiel). Da die AllplanBridge-Objekte zukünftig auch erweitert werden, können später neue Array-Werte hinzukommen. Die bisherigen bleiben aber gültig.
Beispiel einer Schleife über alle Achsen
array set axes [ABMAXES GET LIST]
if { $axes(count) > 0 } {
set ID $axes(first)
for { set iaxis 0 } { $iaxis < $axes(count) } { incr iaxis } {
if { $iaxis > 0 } { set ID [OBJNEXT $ID] }
ABMINFO " Axis ID:" $ID
# Zurücksetzen der Array-Variable axis
array unset axis
array set axis [ABMAXIS $ID GET]
ABMINFO " Axis " $axis(name) ":"
ABMINFO " ---------------------"
# Ausgabe aller Array-Einträge
foreach {key value} [array get axis] {
ABMINFO " " $key " = " $value
}
}
}
Die Informationen aller bestehenden Achsen werden im Log-Bereich ausgegeben.
