////////////
//
//  Script: senToggleToolModes 0.1.2
//  Updated: 8 May 2008
//  Compatibility: Maya 7 and higher
//  Probably works with earlier versions, too.
//
//
//  Written by Sven-Erik Neve
//  Website and contact info: www.seneve.de
//  Bugs, comments, questions or suggestions? Get in touch!
//
//  Inspired by the 3DBuzz forums' users DezFX and volXen:
//  http://www.3dbuzz.com/vbforum/showthread.php?t=69730
//  http://www.3dbuzz.com/vbforum/showthread.php?t=89899
//
//
//  Usage:
//  Execute the command senToggleToolModes.
//
//
//  Installation:
//  Copy this source code within a MEL file to one of your
//  scripts folders, for example on Windows XP 32-bit to the
//  folder \My Documents\maya\<version>\scripts. Start Maya
//  or (if it is running) use the rehash command to make Maya
//  aware of the newly copied script. Execute the script with
//  the senToggleToolModes command.
//
//
//  Purpose:
//  By default you change the Move and Rotate tools' settings
//  in the appropriate Tool Settings. Instead of having to open
//  the Tool Settings and for example manually setting your
//  Rotate tool to Local mode this script toggles through the
//  commonly used modes. If the Move tool is active it toggles
//  through the tool's Local, World and Normal Translate modes.
//  If the Rotate tool is active this script toggles through
//  the tool's Local and World Arcball modes.
//
////////////

global proc senToggleToolModes() {
	// Which tool is active?
	string $currentTool = `currentCtx`;

	// If the Move tool is active toggle through its modes.
	if ($currentTool == "moveSuperContext")
	{
		if (`manipMoveContext -q -m Move` == 2)
		manipMoveContext -e -m 3 Move;
		else if (`manipMoveContext -q -m Move` == 3)
		manipMoveContext -e -m 1 Move;
		else manipMoveContext -e -m 2 Move;
	}

	// If the Rotate tool is active toggle through its modes.
	if ($currentTool == "RotateSuperContext")
	{
		if (`manipRotateContext -q -m Rotate` == 0)
		manipRotateContext -e -m 1 Rotate;
		else manipRotateContext -e -m 0 Rotate;
	}
}

senToggleToolModes MEL script. If the Move tool is active this script toggles through the tool's Translate modes. If the Rotate tool is active it toggles through the tool's Arcball modes. Thus the script minimises the need to use the Tool Settings. The script is handy if you're for example manipulating vertices and want to quickly move a few of them along their normals. Let the script toggle to Normal Translate mode and you're set. Likewise, the script allows you to rotate objects either in Local or World Arcball mode. Useful for example for grouped objects.

Inspired by the tips of 3DBuzz forum members volXen and DezFX.

Download this script (1 KiByte)
Maya 7 or higher, probably works with earlier versions, too.