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

    [Plugin] Recall last tool v1.2

    Scheduled Pinned Locked Moved Plugins
    60 Posts 28 Posters 59.5k Views 28 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.
    • Chris FullmerC Offline
      Chris Fullmer
      last edited by

      Hey, I was just thinking about a plugin that would cycle through tools on repeated pressing of a button.

      So assign it to the spacebar. Hit the spacebar once and its select. Twice it move, 3 is rotate. But I quickly decided against the silly plugin when I started thinking about having to hit the spacebar 26 times to get to "place camera" or something 😆

      But in this context, I think it is quite a good idea,

      Chris

      Lately you've been tan, suspicious for the winter.
      All my Plugins I've written

      1 Reply Last reply Reply Quote 0
      • plot-parisP Offline
        plot-paris
        last edited by

        another idea, although probably not managable with ruby, is a much more graphical approach:

        when you hold down the space bar, a ring with tool buttons appears around your cursor in a circular fashion. you can now left click any button to get the tool. or you can simply turn the scroll wheel to file through them, either clockwise or counterclockwise. by default the selection tool is highlighted - so if you just press the space bar once, you get the select tool.

        you can easily customise this tool-circle by holding down the space bar and then dragging unwanted tools out of the circle and vice versa.

        well, maybe Google comes up with soemthing similar in the next release 😄

        1 Reply Last reply Reply Quote 0
        • juan974J Offline
          juan974
          last edited by

          Merci MATT ...

          juan974 (Réunion island)
          website : http://sketchucation.com/click.php?url=http://www.tarn.us

          1 Reply Last reply Reply Quote 0
          • B Offline
            bitsnbites
            last edited by

            Thank you very much, Matt666.
            That´s the Plugin i was lookin for.

            thx a lot

            1 Reply Last reply Reply Quote 0
            • M Offline
              Matt666
              last edited by

              I will try to find a solution.

              Frenglish at its best !
              My scripts

              1 Reply Last reply Reply Quote 0
              • M Offline
                Matt666
                last edited by

                Sorry, I don't know how to create a personal observer for controlling mouse events...

                Frenglish at its best !
                My scripts

                1 Reply Last reply Reply Quote 0
                • P Offline
                  Pherim
                  last edited by

                  Neat, I didn't know this yet. Great timesaver when switching to select tool to return to the previously used tool.

                  1 Reply Last reply Reply Quote 0
                  • M Offline
                    mirale999
                    last edited by

                    Merci Matt! Great plugin~
                    By the way, I come up with an idea, I think maybe it's useful!

                    I use the shortcut“shift+Y” to recall the last tool. When I use this plugin, a situation like this will happen:
                    first I use the "Edge follow me" tool to build a face,
                    then I move it to another place, and use move and scale to modify the curves,
                    then I want to do "Edge follow me" again

                    so the idea comes:------this tool have a function: ignore the move, scale, rotate, line, arc, rectangle, circle...(because they are so useful and they have shortcuts), but recall edge follow me, blend, extrapolate colors...(you must find it in a submenu).
                    On my bad English... hope you get my meaning... ☀

                    paranoia is a higher form of awareness...

                    1 Reply Last reply Reply Quote 0
                    • M Offline
                      Matt666
                      last edited by

                      Hi mirale999!
                      So you want RLT ignores some native tools you would be able to choose? Do you agree with this "way of explanation" (I dont know how to tell it in english 😳 )?
                      I don't know if it's possible... But I can try.

                      Frenglish at its best !
                      My scripts

                      1 Reply Last reply Reply Quote 0
                      • J Offline
                        jdtsmith
                        last edited by

                        Just an FYI for any Mac users. Pecan's version above with the "exceptions" list works fine for me in SU 8.0. I use it with BetterTouchTool and a Magic Trackpad:

                        • Three Finger TipTap Left: Orbit (O)
                        • 3 Finger Tip Tap Right: Recall Last Tool (which I have as F2)
                        • Pinch Out: Zoom Extents (I have as Shift-Z)

                        This plugin, with Lion's native three finger dragging make using SU with the trackpad much more enjoyable. Here's how I use it:

                        • Two finger "scroll": zooms in and out
                        • 3 Finger move: same as click and drag for selection
                        • Tip Tap Left (drop two fingers and tap another to the left): switch to orbit tool
                        • Tip Tap Right: switch back to whichever tool I'm in the middle of using
                        • Get Lost? Pinch to Zoom Out

                        Thanks to the plugin's authors!

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

                          Hi Matt. Recall command of autocad is good too. Can you do other 'last tool recall' version like autocad with using only a space bar? Thanks Matt.

                          1 Reply Last reply Reply Quote 0
                          • O Offline
                            Omaha
                            last edited by

                            In this case, I want to say that for sure, Thank you. You saved the day.

                            1 Reply Last reply Reply Quote 0
                            • P Offline
                              Pherim
                              last edited by

                              Makes SU Make 2017 (Windows) crash.

                              1 Reply Last reply Reply Quote 0
                              • CadFatherC Offline
                                CadFather
                                last edited by

                                mmm... works fine with me - is it wrapped in a module?

                                
                                require 'sketchup.rb'
                                
                                module MATT_Recall
                                
                                
                                class Matt_Observer < Sketchup;;ToolsObserver
                                
                                	@@Matt_Model_Toolid = nil
                                	@@Matt_Model_Toolid2 = nil
                                  
                                	def onActiveToolChanged (tools_object, toolname, toolid)
                                		@@Matt_Model_Toolid = @@Matt_Model_Toolid2 if @@Matt_Model_Toolid2
                                		@@Matt_Model_Toolid2 = toolid if not([10508].index toolid)
                                	end
                                  
                                  
                                	def self.recall_last
                                		if @@Matt_Model_Toolid
                                			return Sketchup.send_action(@@Matt_Model_Toolid)
                                		else
                                			puts "No tool used before."
                                			return Sketchup.send_action("selectSelectionTool;")
                                		end
                                	end
                                  
                                  
                                end  #class
                                
                                Sketchup.active_model.tools.add_observer(Matt_Observer.new)
                                
                                	
                                unless file_loaded?(__FILE__)
                                   UI.menu('Edit').add_item("RECALL LAST TOOL"){ Matt_Observer.recall_last }
                                	file_loaded(__FILE__)
                                end
                                
                                end#module
                                
                                
                                
                                1 Reply Last reply Reply Quote 0
                                • CadFatherC Offline
                                  CadFather
                                  last edited by

                                  just in case anyone else asks, the following is totally fine on my pc:

                                  
                                  require 'sketchup.rb'
                                  
                                  module MATT_Recall
                                  
                                  class Matt_Observer < Sketchup;;ToolsObserver
                                  
                                  	@@Matt_Model_Toolid = nil
                                  	@@Matt_Model_Toolid2 = nil
                                    
                                  	def onActiveToolChanged (tools, tool_name, tool_id)
                                      puts "Tool Used; #{tool_name}"
                                  		@@Matt_Model_Toolid = @@Matt_Model_Toolid2 if @@Matt_Model_Toolid2
                                  		@@Matt_Model_Toolid2 = tool_id if not([10508].index tool_id)
                                  	end
                                   
                                  
                                  	def self.recall_last
                                  		if @@Matt_Model_Toolid
                                  			return Sketchup.send_action(@@Matt_Model_Toolid)
                                  		else
                                  			puts "No tool used before."
                                  			return Sketchup.send_action("selectSelectionTool;")
                                  		end
                                  	end
                                    
                                    
                                  end  #class
                                  
                                  Sketchup.active_model.tools.add_observer(Matt_Observer.new)
                                  
                                  	
                                  unless file_loaded?(__FILE__)
                                     UI.menu('Edit').add_item("RECALL LAST TOOL"){ Matt_Observer.recall_last }
                                  	file_loaded(__FILE__)
                                  end
                                  
                                  end#module
                                  
                                  
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • P Offline
                                    Pherim
                                    last edited by

                                    Using the one from the ExtensionStore... but no, it's not. Will try it out, thank you.

                                    Edit: Still crashes on start. Well, it doesn't work with tools from plugins, anyway.

                                    1 Reply Last reply Reply Quote 0
                                    • B Offline
                                      booglabird
                                      last edited by

                                      Nice tool, but i wish it worked after panning or rotating, avoiding those inputs

                                      1 Reply Last reply Reply Quote 0
                                      • E Offline
                                        Einstein
                                        last edited by

                                        The RB file has a very strange name: "Recall_last_tool%5Bv1.2%5D.rb" and its installation caused a bugsplat in SU17. I changed RB name to "Recall_last_tool" and bugsplat didn't appear anymore 😄

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

                                          @einstein said:

                                          The RB file has a very strange name: "Recall_last_tool%5Bv1.2%5D.rb"

                                          Actually it shows up that way when you download it because Windows doesn't resolve the square brackets in file names. You could have edited the file name and removed %5B and %5D and been just fine.

                                          Etaoin Shrdlu

                                          %

                                          (THERE'S NO PLACE LIKE)

                                          G28 X0.0 Y0.0 Z0.0

                                          M30

                                          %

                                          1 Reply Last reply Reply Quote 0
                                          • E Offline
                                            Einstein
                                            last edited by

                                            Hi!

                                            This plugin works well with native SU tools but causes serious problems when combined with plugins. For example: when I perform RotaScale (ThomThom), 3D Rotate (Eneroth) or Free rotate (TIG) and then try to Recall it, it leads to bugsplat.

                                            When I use Extrude Lines [D. Bur], then Recall Last Tool it just "omits" it and brings a native tool I used proviously.

                                            I'd really like to test it with more plugins and see what happens but it takes too long, with one bugsplat after another...

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 3 / 3
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement