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.
    • plot-parisP Offline
      plot-paris
      last edited by

      great plugin, Matthieu. 👍

      just a thought: does it make sense to have a similar tool go through several previously used tools when pressing the shortcut key repeatedly?

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

        Hi plot_paris!

        That's a good idea... I will give a try! I think we may go through 10 previously used tools, and may undo history (retrun to the last tool used) by activating selection tool.

        Frenglish at its best !
        My scripts

        1 Reply Last reply Reply Quote 0
        • 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
                                            • 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