How to pause a ruby script for 1 second
-
@alexmozg said:
@unknownuser said:
…And completely to get rid from selection.
Where I can find "following.rbs"?
I shall think...Yes, rid from selection …
… but how? This way?
select_comp_by_name("Fahrstuhl") def Morisdov.transf_get(dict_key, ss=nil) model=Sketchup.active_model ents=model.active_entities if ss @ents = ss else @ents=[] model.selection.each {|e| @ents.push(e)} end @ents.freeze model.selection.clear end
(my poor english) Which "following.rbs" you need?
-
@unknownuser said:
Yes, rid from selection …
… but how? This way?
def select_comp_by_name(comp_name) model = Sketchup.active_model if compdef = Sketchup.active_model.definitions[comp_name] sel = compdef.instances else sel=[] Sketchup.active_model.active_entities.each do |d| if d.typename == "ComponentInstance" sel << d if d.name==comp_name end end if sel.count == 0 UI.beep else UI.messagebox(sel.count.to_s + " gesuchte Dinger gefunden.") end end sel end def Morisdov.transf_get(dict_key, ss=nil) model=Sketchup.active_model ents=model.active_entities if ss @ents = ss else @ents=[] model.selection.each {|e| @ents.push(e)} end @ents.freeze model.selection.clear ... ...<<original code>>... ... end
Use:
- ss = select_comp_by_name("Fahrstuhl")
- Morisdov.transf_get(dict_key, ss)
@unknownuser said:
(my poor english) Which "following.rbs" you need?
Here this:
@unknownuser said:
...Position 2
To get the script work, the following .rbs must be installed:????
-
I know this is old, but I was needing an answer to something similar today, and this thread over-complexificated the issue for me. I just wanted to add a short .2 second delay before carrying on with my script. This is what I've come up with and it worked for me. No need to invoke the UI.timer
time_mark = ( Time.now + 0.2 ) while time_mark > Time.now end
Hopefully thats helpful if anyone stumbles on this thread,
Chris
-
Chris: i hope your code is called only by the user and not in an Observer or right click menus, because it will stop Ruby thread and if you call this several times it will block a lot of things.
-
Ahh, I see. I think its ok in this instance to stop up ruby entirely. I was having very little luck getting it to work any other way. I just kept sending SU into a deeep coma.
Maybe I'll try to post my broken code using the timer and try to get that working instead then. Thanks Tavi,
Chris
Advertisement