sketchucation logo sketchucation
    • Login
    ⚠️ Attention | Having issues with Sketchucation Tools 5? Report Here

    Change location of the plugins folder in SU8

    Scheduled Pinned Locked Moved Plugins
    17 Posts 7 Posters 3.7k 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.
    • 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