sketchucation logo sketchucation
    • Login
    🛣️ Road Profile Builder | Generate roads, curbs and pavements easily Download

    Plugins Drop Down menu is wrong

    Scheduled Pinned Locked Moved Developers' Forum
    20 Posts 7 Posters 2.4k 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.
    • GaieusG Offline
      Gaieus
      last edited by

      I have a lot more rubies than I usually need. Whatever I don't use, I just rename the extension of so they don't clutter my Plugin menu that much. When I need them, just rename them back.

      Gai...

      1 Reply Last reply Reply Quote 0
      • philemP Offline
        philem
        last edited by

        @gaieus said:

        I have a lot more rubies than I usually need. Whatever I don't use, I just rename the extension of so they don't clutter my Plugin menu that much. When I need them, just rename them back.

        Sounds like a smart plan

        Just do it, it might be fun.

        1 Reply Last reply Reply Quote 0
        • jujuJ Offline
          juju
          last edited by

          I suppose you could also use the organizer ruby available from Smustard to help order your plugins.

          Save the Earth, it's the only planet with chocolate.

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

            Anybody programming Sketchup extensions should use the Extension class. A good way to program an extension with this class could be: Use a "loader", which should be saved directly to the Plugins / Tools directory. In this file you set up your Sketchup extension. Put your Sketchup extension code to another file in a subfolder of the Plugins / Tools folder. If you would put it diretly to Plugins / Tools, it would be loaded automatically. But with the subfolder and the Extension Ruby class Sketchup can decide whether to load your Sketchup extension. This is needed for extensions, which can be switched on and off via menu "Fenster > Voreinstellungen > Erweiterungen" (should be: "Window > Preferences > Extensions"). Switching off extensions take effect after a Sketchup restart. This way you do not need to edit the file name of the Sketchup extensions as Gaieus mentioned.

            Code for the "loader":

            require 'sketchup.rb'
            require 'extensions.rb'
            filename = File.basename(__FILE__)
            if(not file_loaded?(filename))
              ext = SketchupExtension.new "EXTENSION NAME", "SUBFOLDER/FILE.rb"
              ext.description = "DESCRIPTION"
              ext.creator = "YOUR NAME"
              ext.copyright = "COPYRIGHT"
              ext.version = "VERSION"
              Sketchup.register_extension ext, true
              file_loaded filename
            end
            

            azuby

            *error initus :: Blocks | CurrentDate | d/Code | extensionmanager | FFlipper | HideEdges | MeasuredArea | ModelHistory | PluginsHelp | PronButton | SAWSO | SCP | SU²CATT

            Bad English? PM me, correct me. :smile:**

            1 Reply Last reply Reply Quote 0
            • philemP Offline
              philem
              last edited by

              @azuby said:

              Anybody programming Sketchup extensions should use the Extension class. A good way to program an extension with this class could be: Use a "loader", which should be saved directly to the Plugins / Tools directory. In this file you set up your Sketchup extension. Put your Sketchup extension code to another file in a subfolder of the Plugins / Tools folder. If you would put it diretly to Plugins / Tools, it would be loaded automatically. But with the subfolder and the Extension Ruby class Sketchup can decide whether to load your Sketchup extension. This is needed for extensions, which can be switched on and off via menu "Fenster > Voreinstellungen > Erweiterungen" (should be: "Window > Preferences > Extensions"). Switching off extensions take effect after a Sketchup restart. This way you do not need to edit the file name of the Sketchup extensions as Gaieus mentioned.

              Code for the "loader":

              require 'sketchup.rb'
              > require 'extensions.rb'
              > filename = File.basename(__FILE__)
              > if(not file_loaded?(filename))
              >   ext = SketchupExtension.new "EXTENSION NAME", "SUBFOLDER/FILE.rb"
              >   ext.description = "DESCRIPTION"
              >   ext.creator = "YOUR NAME"
              >   ext.copyright = "COPYRIGHT"
              >   ext.version = "VERSION"
              >   Sketchup.register_extension ext, true
              >   file_loaded filename
              > end
              

              azuby

              I have great respect and admiration for you (as Gaius put it "Ruby Guru's") and
              I mean this with the utmost respect, but what is all this in layman's terms, as a fairly new user this seems way over my head, but, if understood, could be very usefull..

              Philip

              Just do it, it might be fun.

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

                There's nothing special with programmers 😄 You also can become one of us 😄 Here's your first attempt:

                Choose one of the Ruby scripts in your Sketchup Plugins / Tools folder, which you do not need often. Copy it to the Desktop (to be able to restore it later). Now create a folder in the Plugins / Tools folder; i.e. the choosen Ruby script was "abc.rb" it's clever to name the folder "abc" Move the "abc.rb" into the new folder. Create a new text file (with Notepad) in your Plugins / Tools folder, maybe "abc.rb", but better "abc_loader.rb" (or "the_simpsons.rb" 😄 ). Copy the code I wrote down to that file AND replace the upper-cased terms. In the "abc" case it could be:

                require 'sketchup.rb'
                require 'extensions.rb'
                filename = File.basename(__FILE__)
                if(not file_loaded?(filename))
                  ext = SketchupExtension.new "Philip's ABC Plugin", "abc/abc.rb"
                  ext.description = "Philip's ABC Plugin is just an example on how to program Sketchup Ruby extensions."
                  ext.creator = "Philip"
                  ext.copyright = "Oh well, ask me again in some years..."
                  ext.version = "47.11"
                  Sketchup.register_extension ext, false
                  file_loaded filename
                end
                

                Save the file, (re-)start Sketchup, look into the Preferences I mentioned in my last posting. The "true" / "false" in the third-last line says Sketchup: Do not load this extension by default. So the checkbox for the extension in the Preferences isn't checked.

                azuby

                *error initus :: Blocks | CurrentDate | d/Code | extensionmanager | FFlipper | HideEdges | MeasuredArea | ModelHistory | PluginsHelp | PronButton | SAWSO | SCP | SU²CATT

                Bad English? PM me, correct me. :smile:**

                1 Reply Last reply Reply Quote 0
                • philemP Offline
                  philem
                  last edited by

                  @azuby said:

                  There's nothing special with programmers 😄 You also can become one of us 😄 Here's your first attempt:

                  Choose one of the Ruby scripts in your Sketchup Plugins / Tools folder, which you do not need often. Copy it to the Desktop (to be able to restore it later). Now create a folder in the Plugins / Tools folder; i.e. the choosen Ruby script was "abc.rb" it's clever to name the folder "abc" Move the "abc.rb" into the new folder. Create a new text file (with Notepad) in your Plugins / Tools folder, maybe "abc.rb", but better "abc_loader.rb" (or "the_simpsons.rb" 😄 ). Copy the code I wrote down to that file AND replace the upper-cased terms. In the "abc" case it could be:

                  require 'sketchup.rb'
                  > require 'extensions.rb'
                  > filename = File.basename(__FILE__)
                  > if(not file_loaded?(filename))
                  >   ext = SketchupExtension.new "Philip's ABC Plugin", "abc/abc.rb"
                  >   ext.description = "Philip's ABC Plugin is just an example on how to program Sketchup Ruby extensions."
                  >   ext.creator = "Philip"
                  >   ext.copyright = "Oh well, ask me again in some years..."
                  >   ext.version = "47.11"
                  >   Sketchup.register_extension ext, false
                  >   file_loaded filename
                  > end
                  

                  Save the file, (re-)start Sketchup, look into the Preferences I mentioned in my last posting. The "true" / "false" in the third-last line says Sketchup: Do not load this extension by default. So the checkbox for the extension in the Preferences isn't checked.

                  azuby

                  Hi azuby

                  I had a go at this, (I still have a bit to learn 😄), but I will keep plugin till it sinks in 😄

                  Just do it, it might be fun.

                  1 Reply Last reply Reply Quote 0
                  • R Offline
                    RickW
                    last edited by

                    There's been some previous discussion on where to load scripts. The previous consensus was to locate things in the Plugins folder, and leave the Tools folder for SU internal files. I understand about the ability to load/unload things using extensions, but it adds a layer of complexity for some users who would be better served with other solutions.

                    RickW
                    [www.smustard.com](http://www.smustard.com)

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

                      Well, if you think, renaming script files is more user friendly against a simple checkbox ... go on 😄 (especially for user not beeing admin on their machine). They won't "feel" the "layer of complexity" if programmers would switch-on their -> extensions by default. Using "Tools" and/or "Plugins" folder seems to be a secret of Google and should be less important to users.

                      azuby

                      *error initus :: Blocks | CurrentDate | d/Code | extensionmanager | FFlipper | HideEdges | MeasuredArea | ModelHistory | PluginsHelp | PronButton | SAWSO | SCP | SU²CATT

                      Bad English? PM me, correct me. :smile:**

                      1 Reply Last reply Reply Quote 0
                      • R Offline
                        RickW
                        last edited by

                        Just commenting that there had been previous discussion, and what it entailed. 😄
                        The "other solutions" implied Organizer, not renaming or relocating files. 😉

                        RickW
                        [www.smustard.com](http://www.smustard.com)

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

                          I spoke about Gaieus' idea of renaming files for disabling their contained Ruby plugins some postings before - not about the Organizer (because we know what wents wrong with the Menu class and so on). A Plugins (or Tools) menu with 4711 entries communicates to me: "The user has very, very, very complex modells and really needs all these plugins" or "The user thinks, the plugins might be useful, but he has resigned and accepts, that his Sketchup isn't really slim as it could be" And I think, each developer should care about his "victims" 😉 that they have as much comfort as possible. That's the reason why I support the idea of exceptions instead of having "only" "scripts" Most of our "scripts" are tools and plugins (and all in all: extensions), so we should provide them this way.

                          azuby

                          *error initus :: Blocks | CurrentDate | d/Code | extensionmanager | FFlipper | HideEdges | MeasuredArea | ModelHistory | PluginsHelp | PronButton | SAWSO | SCP | SU²CATT

                          Bad English? PM me, correct me. :smile:**

                          1 Reply Last reply Reply Quote 0
                          • R Offline
                            RickW
                            last edited by

                            I don't think we disagree about anything. I may have misread one of your posts, thinking you were saying to put downloaded .rb files into the Tools folder, and that's what prompted my first post here. If you didn't mean to say that, then my comment was irrelevant. 😄

                            Regards,

                            RickW
                            [www.smustard.com](http://www.smustard.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