sketchucation logo sketchucation
    • Login
    πŸ›£οΈ Road Profile Builder | Generate roads, curbs and pavements easily Download

    Exit/Shutdown SU 7 ??

    Scheduled Pinned Locked Moved Developers' Forum
    14 Posts 7 Posters 3.0k Views 7 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.
    • J Offline
      Jim
      last edited by

      Not directly, but you might be able to make a system call that could shut it down.

      Hi

      1 Reply Last reply Reply Quote 0
      • H Offline
        HPW
        last edited by

        After some googling I found a post with the same problem:

        http://groups.google.com/group/Ruby-API/browse_thread/thread/227bae3cdb6f84a3

        I still wonder that such a big API still miss such basic things.
        Automating Autocad is still much easier.

        1 Reply Last reply Reply Quote 0
        • H Offline
          HPW
          last edited by

          I tried the API-call from that link.
          But unfourtunatly it does not work from a ruby loaded on startup.
          When I type it from the Console after startup it closes SU.

          1 Reply Last reply Reply Quote 0
          • H Offline
            HPW
            last edited by

            After the problem with the Win32Api-code I searched further and found:

            Link Preview Image
            Automating Applications with Ruby & The Windows Script Host

            We've talked at length about automating Windows applications through COM/OLE, using the win32ole library. But not all applications expose t...

            favicon

            (rubyonwindows.blogspot.com)

            
            require 'win32ole'
            wsh = WIN32OLE.new('Wscript.Shell')
            if wsh.AppActivate(skpbasename+".skp - SketchUp")
              wsh.SendKeys('%{F4}')
            end
            
            

            This works for me now.

            1 Reply Last reply Reply Quote 0
            • BurkhardB Offline
              Burkhard
              last edited by

              We have a lot of Bugsplat possiblities to close SU7. ie. it could be easier to create a ruby which select all same materials, set Podium reflection at once. Sketchup closes immediately. πŸ˜‰

              [http://www.ia-plus.de(http://www.ia-plus.de)]

              1 Reply Last reply Reply Quote 0
              • A Offline
                AlexMozg
                last edited by

                @hpw said:

                Can I shutdown/exit SU 7 with ruby?
                How?

                
                def Sketchup;;exit
                    model = Sketchup.active_model
                    model.save "temp_model.tmp" if model.modified?
                    Sketchup.send_action 57602
                end#def
                
                

                Model doezn't realy save.
                πŸ˜„

                1 Reply Last reply Reply Quote 0
                • W Offline
                  wikii
                  last edited by

                  Following ruby code works PC.

                  
                  system("taskkill /im sketchup.exe /f")
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • H Offline
                    HPW
                    last edited by

                    @unknownuser said:

                    Sketchup.send_action 57602

                    Undocumented feature but it works.

                    The doc shows:
                    21560 and up: causes a runtime Error

                    So is it official and where do you find such things?

                    @unknownuser said:

                    system("taskkill /im sketchup.exe /f")

                    Works but shows a cmd-window and is slower.

                    1 Reply Last reply Reply Quote 0
                    • thomthomT Offline
                      thomthom
                      last edited by

                      @hpw said:

                      @unknownuser said:

                      system("taskkill /im sketchup.exe /f")

                      Works but shows a cmd-window and is slower.

                      hmm.... what if you have other SU windows open at that time.. kills them too?

                      Thomas Thomassen β€” SketchUp Monkey & Coding addict
                      List of my plugins and link to the CookieWare fund

                      1 Reply Last reply Reply Quote 0
                      • H Offline
                        HPW
                        last edited by

                        Another point to use one of the other methods.
                        For now I will go for the Sketchup.send_action which seems to be the best/smallest option.

                        1 Reply Last reply Reply Quote 0
                        • H Offline
                          HPW
                          last edited by

                          I revert back to the:

                          wsh.SendKeys('%{F4}')

                          because:

                          Sketchup.send_action 57602

                          immidiatly shut down SU even when the save-process is not finished.
                          So its get not saved.

                          1 Reply Last reply Reply Quote 0
                          • Dan RathbunD Offline
                            Dan Rathbun
                            last edited by

                            [code] Sketchup Safe Shutdown method
                            http://forums.sketchucation.com/viewtopic.php?f=180&t=29162&p=254022#p254022

                            cross-platform and safe.

                            I'm not here much anymore.

                            1 Reply Last reply Reply Quote 0
                            • Dan RathbunD Offline
                              Dan Rathbun
                              last edited by

                              @alexmozg said:

                              
                              > def Sketchup;;exit
                              >     model = Sketchup.active_model
                              >     model.save "temp_model.tmp" if model.modified?
                              >     Sketchup.send_action 57602
                              > end#def
                              > 
                              

                              Model doezn't realy save.

                              Do NOT use exit as a method name !!!

                              It is already defined as a global method by the Kernel module (and so is inherited by ALL classes and modules.)

                              exit() Initiates the termination of the Ruby script by raising the SystemExit exception. Also runs any at_exit block methods before termination.

                              I'm not here much anymore.

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

                              Advertisement