sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    Change location of the plugins folder in SU8

    Scheduled Pinned Locked Moved Plugins
    17 Posts 7 Posters 3.6k 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.
    • W Offline
      watkins
      last edited by

      Dear Thomas,

      Could your recommendation be taken further? Could a plugin be created, with a drop down menu activated by an icon, to load plugins from different locations on one's C drive? The idea being that one has a baseline plugin folder in the normal Google Sketchup location, and then one loads plugins from different folders on the C drive as and when they are needed. Ideally, the user should be able to edit the drop down menu to label menu items, to assign directory path names and to add/remove items.

      Just a thought.

      Regards,
      Bob

      1 Reply Last reply Reply Quote 0
      • liquid98L Offline
        liquid98
        last edited by

        @watkins said:

        Dear Thomas,

        Could your recommendation be taken further? Could a plugin be created, with a drop down menu activated by an icon, to load plugins from different locations on one's C drive? The idea being that one has a baseline plugin folder in the normal Google Sketchup location, and then one loads plugins from different folders on the C drive as and when they are needed. Ideally, the user should be able to edit the drop down menu to label menu items, to assign directory path names and to add/remove items.

        Just a thought.

        Regards,
        Bob

        I think this plugin can do that:
        http://forums.sketchucation.com/viewtopic.php?t=17660

        Things that flourish fall into decay. This is not-Tao, And what is not-Tao soon ends ~ Lao tse

        1 Reply Last reply Reply Quote 0
        • liquid98L Offline
          liquid98
          last edited by

          Hi Thomas,

          How can I tell what plugin will load and what not outside the plugins-folder?

          What do you mean by making assumptions about their location? Do I have to edit
          non loading scripts or something?

          Thankyou

          Things that flourish fall into decay. This is not-Tao, And what is not-Tao soon ends ~ Lao tse

          1 Reply Last reply Reply Quote 0
          • TIGT Offline
            TIG Moderator
            last edited by

            Thomas's idea is simple http://forums.sketchucation.com/viewtopic.php?p=316146#p316146 but as he warns some scripts assume that they are in Plugins [especially older ones] and therefore fail to load required files etc.
            The loader.rb goes into Plugins as that [and Tools] folder MUST be on load path that Sketchup automatically makes.
            If you want to add another folder to the path add this extra line of code to your loader.rb file
            require_all 'E:\Sketchplugins' $LOAD_PATH << 'E:\Sketchplugins'
            Any cripts on the E: drive that use 'find_support_file' will fail to find files if they are not also in the πŸ˜„ set up, but those using 'FILE' should be OK...

            TIG

            1 Reply Last reply Reply Quote 0
            • liquid98L Offline
              liquid98
              last edited by

              OK TIG I see thnx

              Things that flourish fall into decay. This is not-Tao, And what is not-Tao soon ends ~ Lao tse

              1 Reply Last reply Reply Quote 0
              • gtalaricoG Offline
                gtalarico
                last edited by

                TIG: do you think that if I use a program such as grepWin to replace all "find_support_file" with "File" it will work? (I guess it won't work for the scrambled ones).

                -Gui

                http://www.gtalarico.com

                1 Reply Last reply Reply Quote 0
                • TIGT Offline
                  TIG Moderator
                  last edited by

                  As you surmised it'll fail to find anything in .rbs or 'packed' .rb files...

                  There's a list of the most common files using the find_support_file method in another parallel thread - I made it using Baregrep - a free utility to search folders/subfolders [used on Plugins folder]. You can open any found file[s] from its browser window...

                  Once you have a list of these files containing the phrase you'll need to open each one in Notepad++ and then actually read what it does each time - there are good find/replace and copy/paste in such editors... So lines like xxxx=Sketchup.find_support_file('Plugins') CAN be replaced with xxxx=File.dirname(__FILE__) BUT if there are other similar calls to say the 'Components' folder it's more convoluted as that might NO LONGER be still relative to the current .rb file's folder and you'd need to leave that find_support_file call alone ??
                  Also doing this editing makes an admin headache because you need to check every newly installed file for compliance... πŸ˜•

                  TIG

                  1 Reply Last reply Reply Quote 0
                  • gtalaricoG Offline
                    gtalarico
                    last edited by

                    grepWin does batch find-and-replace... I am tempted to do this because I like keeping my "libraries" on an external, where it's easier to backup and gives me more mobility.

                    I guess I will just backup my plugins folder, give it a try, and then test each plugin.

                    But before I get to this step, I need to make the loader.rb work - I think I might be doing something wrong...

                    Here is what I did: Moved all plugins to E:_Library\Sketchup\Plugins
                    Then in the original plugins folder, I added a file called loader.rb with the exact lines:

                    require_all 'E:\Library\Sketchup\Plugins'
                    $LOAD_PATH << 'E:\Library\Sketchup\Plugins'

                    But when I opened Sketchup, plugins where nowhere to be seen.
                    Any ideas?

                    -Gui

                    http://www.gtalarico.com

                    1 Reply Last reply Reply Quote 0
                    • TIGT Offline
                      TIG Moderator
                      last edited by

                      Is it
                      E:\**_**Library\Sketchup\Plugins
                      or
                      E:\Library\Sketchup\Plugins
                      You have a typo - which is it ?

                      Add this line
                      require 'sketchup.rb'
                      at the start of your 'loader' script.

                      Try renaming the 'loader' script as ' !loader.rb' so it loads very early or ' zzzloader.rb' so it loads very late...

                      If you type this line
                      require_all 'E:\Library\Sketchup\Plugins'
                      into the Ruby Console after everything else has loaded then does it load the E: drive stuff too ?
                      If you type this into the Ruby Console
                      $LOAD_PATH
                      does it return an array that now includes
                      E:\Library\Sketchup\Plugins
                      as well as the paths to the Tools and Plugins folders?

                      It is quite possible to have this set up - I use it so that my Uni students can load their own scripts from a special folder on their personal accessible H: drive, because IT won't let the do anything to the πŸ˜„ drive Plugins folder for security reasons... IT simply added a short script that I wrote doing much what you want, loading every script from the folder and adding the folder to $LOAD_PATH so that they can load a file by typing its name only and it'll get found there after SUp has looked in the other folders too...

                      TIG

                      1 Reply Last reply Reply Quote 0
                      • gtalaricoG Offline
                        gtalarico
                        last edited by

                        (the "E:\Libary" was just an example" the actual directory is shown below)

                        ok, I tried entering the what you suggested in the console, and I got this:

                        $LOAD_PATH
                        ["C:/Program Files (x86)/Google/Google SketchUp 8/Plugins", "C:/Program Files (x86)/Google/Google SketchUp 8/Tools", "I:\_Library\SketchUp\_Plugins", "I:\_Library\SketchUp\_Plugins"]
                        require_all 'I:_Library\SketchUp_Plugins'
                        [] " < EMPTY ARRAY ???"

                        I assumed the [] is an empty array of plugins, which tells me that SU was not finding the directory. But the double \ made me me think SU was misinterpreting the directory address.

                        And that's when I figured out what was wrong!!!

                        I replaced:

                        require_all 'I:_Library\SketchUp_Plugins'
                        $LOAD_PATH << 'I:_Library\SketchUp_Plugins'

                        with

                        require_all 'I:/_Library/SketchUp/_Plugins'
                        $LOAD_PATH << 'I:/_Library/SketchUp/_Plugins'

                        and voila. For some reason (I am sure you know why) the path that I copied from windows explorer (which uses back slash) is not well understood by SU.

                        (Most plugins are loading ok, but when I type "require_all 'I:_Library\SketchUp_Plugins'" the console still returns "[]")

                        Thanks for your help. I guess now all I have to do is find and edit all the " find_support_file". RBS that use that call will
                        have to stay in the standard folder : (


                        1st Try


                        2nd Try

                        -Gui

                        http://www.gtalarico.com

                        1 Reply Last reply Reply Quote 0
                        • liquid98L Offline
                          liquid98
                          last edited by

                          Hi Guys!

                          I just got my new laptop and I've finished my new Windows 7 installation.. And I like It!!!
                          I also found a real good solution to the problem of this topic... 😎

                          Link Preview Image
                          Page not found | TechRepublic

                          favicon

                          TechRepublic (www.techrepublic.com)

                          Things that flourish fall into decay. This is not-Tao, And what is not-Tao soon ends ~ Lao tse

                          1 Reply Last reply Reply Quote 0
                          • gtalaricoG Offline
                            gtalarico
                            last edited by

                            I am almost regretting doing this... I wish the SU team would add way to load an "external" plugin library.
                            I really want to have my plugins in my Dropbox so I have them all sync in all computers that I use for sketchuping.

                            Most plugins seem to work, but I have noticed a few that don't.

                            Every time I open Sketchup I get all these errors!
                            PS: I still haven't replaced the "find_support_file".

                            Error Loading File I:/_Library/SketchUp/_Plugins/Artisan/artisan_load.rb
                            (eval):3641:in join': can't convert nil into StringError Loading File I:/_Library/SketchUp/_Plugins/artisan_loader.rb (eval):3641:in join': can't convert nil into StringError Loading File I:/_Library/SketchUp/_Plugins/c-midpoint.rb
                            I:/_Library/SketchUp/_Plugins/c-midpoint.rb:196: syntax error, unexpected kEND, expecting $endError Loading File I:/_Library/SketchUp/_Plugins/camera-cameraslidecontrols.rb
                            no such file to load -- smustard-app-observer.rbError Loading File I:/_Library/SketchUp/_Plugins/CameraKeyMaker/camera_key_maker.rb
                            no such file to load -- bezier.rbError Loading File I:/_Library/SketchUp/_Plugins/cameraKeyMaker.rb
                            no such file to load -- bezier.rbError Loading File I:/_Library/SketchUp/_Plugins/q-parking.rb
                            I:/_Library/SketchUp/_Plugins/q-parking.rb:137: syntax error, unexpected tCONSTANT, expecting '{'
                            BEGIN CHANGES BY organizerEdit.rb
                            ^
                            I:/_Library/SketchUp/_Plugins/q-parking.rb:149: syntax error, unexpected tCONSTANT, expecting '{'
                            END CHANGES BY organizerEdit.rb
                            ^Error Loading File I:/_Library/SketchUp/_Plugins/zzz-SU_Podium_Browser_loader.rb
                            (eval):361:in `small_icon=': can't convert nil into String

                            -Gui

                            http://www.gtalarico.com

                            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