Rubyskript pausieren bzw. Aktion abwarten
-
Alle meine 3 Einzelaktionen laufen störungsfrei, wenn ich sie allein in die Ruby-Konsole eintrage und einzeln abschicke. Wenn ich sie aber hintereinanderweg zusammen abschicke, dann scheint die 3. Zeile einfach zu schnell zu kommen. Deshalb die Frage:
Wie erreiche ich eine Pause innerhalb des Skriptablaufes?
In AppleScript erzeugt man eine Pause mit Länge 0,4 Sekunden so:
delay .4
Mir gehts um folgende 3 Zeilen:
select_comp_by_name("Fahrstuhl") Morisdov.transf_get("transf2") Sketchup.active_model.selection.clear
Eine Komponete soll nach Namen ausgewählt und danach mit propper_animation.rb in Position 2 geschoben werden. Danach soll der Auswahlkäfig aufgehoben werden.
Oder kann der Positionswechsel abgewartet werden, so daß dadurch der Weiterlauf des Skripts bestimmt würde?
-
TBD aus dem englischen Rubyforum half mit folgender Zeile weiter:
UI.start_timer(1, false) { Sketchup.active_model.selection.clear}
Die 1 scheint für eine Sekunde zu stehen. Und ich kriege es noch nicht hin, Zehntelsekunden zu unterbrechen.
-
Die API-Dokumentation erzählt nur davon, dass sie mit Sekunden arbeitet: http://download.sketchup.com/OnlineDoc/gsu6_ruby/Docs/ruby-ui.html#start_timer
Du kannst natürlich Float-Werte versuchen, also 0.1 und ähnliche.
azuby
Advertisement