• Login
sketchucation logo sketchucation
  • Login
⚠️ Libfredo 15.4b | Minor release with bugfixes and improvements Update

How to pause a ruby script for 1 second

Scheduled Pinned Locked Moved Developers' Forum
25 Posts 5 Posters 5.0k Views 5 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Offline
    N Lindenthal
    last edited by 23 Aug 2008, 07:10

    @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?

    1 Reply Last reply Reply Quote 0
    • A Offline
      AlexMozg
      last edited by 25 Aug 2008, 04:44

      @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:

      1. ss = select_comp_by_name("Fahrstuhl")
      2. 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:

      ????

      1 Reply Last reply Reply Quote 0
      • C Offline
        Chris Fullmer
        last edited by 16 Feb 2009, 05:36

        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

        Lately you've been tan, suspicious for the winter.
        All my Plugins I've written

        1 Reply Last reply Reply Quote 0
        • T Offline
          tbd
          last edited by 16 Feb 2009, 07:18

          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.

          SketchUp Ruby Consultant | Podium 1.x developer
          http://plugins.ro

          1 Reply Last reply Reply Quote 0
          • C Offline
            Chris Fullmer
            last edited by 16 Feb 2009, 07:26

            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

            Lately you've been tan, suspicious for the winter.
            All my Plugins I've written

            1 Reply Last reply Reply Quote 0
            • 1
            • 2
            • 2 / 2
            • First post
              Last post
            Buy SketchPlus
            Buy SUbD
            Buy WrapR
            Buy eBook
            Buy Modelur
            Buy Vertex Tools
            Buy SketchCuisine
            Buy FormFonts

            Advertisement