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

    Right Click->Hide

    Scheduled Pinned Locked Moved Developers' Forum
    16 Posts 3 Posters 837 Views 3 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.
    • K Offline
      kolem
      last edited by

      is there any way I can make a tool that you draw a line and it hides it automatically, instead of drawing and then right click it and "hide"?

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

        Yes. The Tool class allows you to create your own custom tools: http://code.google.com/apis/sketchup/docs/ourdoc/tool.html

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

        1 Reply Last reply Reply Quote 0
        • K Offline
          kolem
          last edited by

          Any existing code i can look to learn from, i have basic programming knowledge but I'm not familiar with the Ruby syntax.

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

            There is an example code snippet that comes with SU. But it's not very good - the code is confusing.
            I'd look at some other plugins with tools.

            I do imagine I saw another thread not too long ago in the same topic - don't have the link at hand. Will see if I can dig it up.

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

            1 Reply Last reply Reply Quote 0
            • K Offline
              kolem
              last edited by

              I read the tutorials on code.google.com, but it doesn't help a lot.
              I tried to look at the linetool.rb and I just got confused...

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

                @kolem said:

                I tried to look at the linetool.rb and I just got confused...

                Yea - that's the one I talked about. Not very good.

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

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

                  Maybe Jim's construction line tool is of help: http://sketchuptips.blogspot.com/2008/02/plugin-construction-line-tool.html
                  Have a look.

                  As for SketchUp plguin writing in general:
                  You will find many useful links in this thread: http://forums.sketchucation.com/viewtopic.php?f=180&t=10142
                  It's worth noting that all plugins share the same environment, so it's important to learn how namespaces (modules and classes) works in Ruby - and use them. Otherwise you might end up with conflicts with other plugins.
                  And a big no-no is overriding basic Ruby and SketchUp methods. Then you will most likely break other people's scripts.

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

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

                    Try this... take the 'linetool.rb' code and copy it - make a new tool class named 'HiddenLineTool' say...
                    and used that wherever 'LineTool' used to appear in the text, and also make a new def linetool >> def hiddenlinetool etc...
                    Find the line of code that creates the geometry - it reads view.model.entities.add_line(p1,p2)
                    and adjust it so it reads myline=view.model.entities.add_line(p1,p2)
                    and insert a new line of code immediately beneath that that reads myline.hidden=true
                    Now when you draw the line it'll automatically become a 'hidden' line - I suggest that you have 'Hidden Geometry' switched 'on' whilst using this tool, otherwise you could get very confused...

                    Note also that you could make another version of it [GuideLineTool ?] to draw a guide-line (cline) by changing that one line to view.model.entities.add_cline(p1,p2) instead

                    TIG

                    1 Reply Last reply Reply Quote 0
                    • K Offline
                      kolem
                      last edited by

                      ill try that, another issue is that i have a problem editing the code in the notepad, i get all the code in one long row, any suggestions?

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

                        @kolem said:

                        ill try that, another issue is that i have a problem editing the code in the notepad, i get all the code in one long row, any suggestions?

                        Get a better editor than Notepad. Get one that provides syntax highlighting - makes reading the code much easier.
                        I use Notepad++ http://notepad-plus-plus.org/ - free app with a support for a wide range of languages.

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

                        1 Reply Last reply Reply Quote 0
                        • K Offline
                          kolem
                          last edited by

                          thanks a lot!
                          well, I started off by looking at the code and I'm starting to get an idea of how things work.
                          i edited the linetool file and changed the class to 'hiddenlinetool', etc...
                          and added the line TIG wrote, however, I get an error:

                          class/module name must be CONSTANT

                          with a referring to this line:

                          class hiddenlinetool

                          ideas?

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

                            Yes - constants in Ruby must start with capital letters.

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

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

                              The class would be HiddenLineTool
                              but the shortcut def hiddenlinetool...

                              TIG

                              1 Reply Last reply Reply Quote 0
                              • K Offline
                                kolem
                                last edited by

                                Ok, seems like it is going to work, now, how do i execute the tool?
                                window>preferences?

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

                                  To test type hiddenlinetool into the Ruby Console.
                                  Later on when it's debugged to make a 'Plugins' Menu item use this code at the end - outside of the class etc

                                  
                                  if not file_loaded?(File.basename(__FILE__))
                                    ### make command
                                    cmd=UI;;Command.new("Draw Hidden Line"){hiddenlinetool}
                                    cmd.status_bar_text="Draws a line and immediately hides it..."
                                    ### menu
                                    UI.menu("Plugins").add_item(cmd)
                                    file_loaded(File.basename(__FILE__))
                                  end#if
                                  
                                  

                                  To put the tool into the 'Draw' menu instead, you just change 'Plugins' to 'Draw'.....

                                  TIG

                                  1 Reply Last reply Reply Quote 0
                                  • K Offline
                                    kolem
                                    last edited by

                                    never mind i got it working, thanks for the help

                                    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