Eneroth Tool Memory
Cycle last used tools with a keystroke.
Eneroth Tool Memory

Cycle last used tools with a keystroke.

Similar to how Alt+Tab cycles open windows in Windows this plugin can be used to cycle recently used tools in SketchUp. This can greatly speed up and streamlines the modeling process. The plugin is primarily aimed at skilled professional user looking for ways to optimize their work and is as most useful for tools you use too little to have a shortcut for, but very frequent once you use them.

Please note that the tool stack only will contain actual tools. Other commands, e.g. Save or Zoom Extents, will not be memorized.


Once installed the plugin needs some manual setup to work. This cannot be automated but takes just a few minutes.

  1. Open the Shortcut settings (Window > Preferences > Shortcuts)
  2. Set up a shortcut, e.g. Ctrl+Space, pointing to Extensions > Eneroth Tool Memory > Cycle Tools. If using another shortcut please note that the shortcut must contain at least one modifier key (Ctrl, Alt etc) and another key. If you chose a modifier key other than Ctrl (Command on Mac), go to Extensions > Eneroth Tool Memory > Set Modifier Key and select that key.
  3. (Optional) Set up a corresponding shortcut also including Shift, e.g. Ctrl+Shift+Space, to Extensions > Eneroth Tool Memory > Cycle Tools Backwards.

Known issues and limitations

Certain tools not added to stack

Certain tools are not added to the tool stack. E.g. the Texture Positioning Tool must be initialized from the context menu of a face. Activating the tool without a reference to a face wouldn't make much sense, and chances are you don't even think of it as a tool since it's not in the toolbar.

Camera tools like orbit and Zoom Window are by default not added either. They can be optionally added but then risk flooding the stack when constantly activated from Middle Mouse Button. At this point there is unfortunately no way to distinguish tools activated from Middle Mouse Button from those activated from toolbars or menus

For Developers

Eneroth Tool Memory creates and activates new tool objects instead of re-using already existing objects to make sure tool is in a clean state.

Tools whose constructors requires parameters will not be remembered by this plugin. These tools are typically designed to be initialized in a specific way, e.g. similar to how native Texture Positioning Tool needs to be initialized from the context menu of a face. For your tool to be supported by Eneroth Tool Memory, make sure it's class can be initialized without any arguments.

As a developer you can implement certain instance methods in your custom tool class to control how Eneroth Tool Memory interacts with them.


If this method exists and returns true the tool will not be added to Eneroth Tool Memory's tool stack. This can be used for tool that only can be initialized in a certain context and doesn't make sense to reactivate later from the tool stack.


Define this method with a String as return value to control the name used in the tool stack. For consistency please don't include the word "Tool" in the name. Select Tool is e.g. simply labeled "Select". If not implemented a name will be guessed based on the Class name of the tool.


Use this method to set the path to a custom SVG icon used for the tool. Please note that this is a highly experimental feature and doesn't support the full SVG specification, just the bare minimum required to get the extension to work.

5 users
135.81 KB
Eneroth Tool Memory (1.0.0); November 17, 2017
Trial Period: 
14 days
Number of Views: 
SketchUp Compatibility: 
OS Compatibility: