[Plugin] Recall last tool v1.2
-
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
-
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
-
Merci MATT ...
-
Thank you very much, Matt666.
That´s the Plugin i was lookin for.thx a lot
-
I will try to find a solution.
-
Sorry, I don't know how to create a personal observer for controlling mouse events...
-
Neat, I didn't know this yet. Great timesaver when switching to select tool to return to the previously used tool.
-
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" againso 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... -
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. -
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!
-
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.
-
In this case, I want to say that for sure, Thank you. You saved the day.
-
Makes SU Make 2017 (Windows) crash.
-
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
-
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
-
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.
-
Nice tool, but i wish it worked after panning or rotating, avoiding those inputs
-
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
-
@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.
-
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...
Advertisement