• Login
sketchucation logo sketchucation
  • Login
πŸ€‘ SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

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 16 Mar 2011, 12:37

    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
    • L Offline
      liquid98
      last edited by 16 Mar 2011, 13:26

      @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
      • L Offline
        liquid98
        last edited by 16 Mar 2011, 13:32

        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
        • T Offline
          TIG Moderator
          last edited by 16 Mar 2011, 16:08

          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
          • L Offline
            liquid98
            last edited by 16 Mar 2011, 19:22

            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
            • G Offline
              gtalarico
              last edited by 21 Jul 2011, 06:13

              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
              • T Offline
                TIG Moderator
                last edited by 21 Jul 2011, 08:42

                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
                • G Offline
                  gtalarico
                  last edited by 21 Jul 2011, 22:22

                  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
                  • T Offline
                    TIG Moderator
                    last edited by 22 Jul 2011, 10:21

                    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
                    • G Offline
                      gtalarico
                      last edited by 25 Jul 2011, 19:19

                      (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
                      • L Offline
                        liquid98
                        last edited by 26 Jul 2011, 13:01

                        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
                        • G Offline
                          gtalarico
                          last edited by 27 Jul 2011, 21:03

                          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