PowerSwitcher : Enanced Viewport Switching (Release)

8 votes
Date Updated: 


PowerSwitcher switches viewports while remembering previous viewport's position/pan and zoom data. No more panning/zooming after switching through the various different viewports, as PowerSwitcher stores and recalls all that info for you. Comes with addional features like, cycling views through scene cameras/light views per keypress etc.

Features new in Release Version 1.0:

  • NEW:  WORKING cameras/light viewports cycling feature
    pressing shortcut repeatedly now cycles correctly through all available cameras/lights in the scene.
  • NEW: "ToOppositeView" switching feature to quickly flip viewport to opposite:
    Front<->Back, Top<->Bottom, etc.. supports user views, which mirror the view on the current focus plane
  • NEW: intelligent camera/light picking feature
    camera or light views auto-pick the currently selected camera/light, never get annoying 3ds Max popups again
  • NEW: comes with installer package ( drag&drop installation ). Should be able to uninstall previous versions
  • FIXED: viewport switching does not spoil undo stack any longer
  • MISC: core coder refactor, removed bouncy keypress feature
  • Features V0.6
  • Changed behavior in unmaximized viewport mode: current viewport now is always set to the requested type ,
    regardless if the requested type already exists in the layout. This is the same way the standard viewport switching works.
  • Cycling through viewport types still works in maximized view as previously though
  • Features V0.5
  • No longer interrupts animation playback when switching maximized viewports
  • Provides new maximize-toggle macro which does NOT interrupt playback like the 3ds Max internal maximize toggle. Simply assign your preferred shortcut to it (default Alt+W) and never interrupt animation playback again when min/maximizing
    Features V0.4
  • Keeps memory for every possible viewport type, not just the usual 4 viewports,
  • Provides quick Memorize/Recall macros for each viewport type
  • Cycle through the existing viewports of requested type in an ordered manner
  • Cycle to next camera/light in camera/light viewports per shortcut
  • Experimental “BouncyTrigger” option , allowing  “double tapping”  of  shortcut

 Installation / Requirements:

  • requires 3ds Max Version 2009 and higher
  • Copy the script to “scripts/startup” folder
  • Assign shortcut keys via Spacefrog Tools category in Customize User Interface

  • Remove any previous PowerSwitcher related scripts and macroscripts from the corresponding folders
  • Install the MZP package using drag&drop
  • Relaunch 3ds Max and assign buttons/toolbars and keyboard shortcuts to the corresponding actions in
    "Customize User Interface->Spacefrog Tools" category
  • Manual installation steps:
    The file "SF_PowerSwitcher.ms" is to be placed in  "\scripts\startup\"
    The file "Spacefrog Tools-PowerSwitcher_Macros.mcr" is to be placed in your "<usermacros>" folder
    ( depends on installation )

Why i started to develop it:

Many people ( including me) always were unsatisfied with the way 3ds Max handles viewport switching. Even more people got upset after the general viewport switching logic completely changed with ( as far i remember ) Max 2010. Many even suspected a bug in the new Max release, as lots of threads on The Area and elsewhere show.

Just check the following links ( or google for “3ds max viewport switching” )

There are other scripts around already, which restore the pre Max 2010 viewport switching, but this script goes further:
It keeps a memory for EVERY viewport type you used in a Max session, more than the previously possible maximium of  4 viewport types. This means you can switch from and to any viewport as much as you like. You will not loose your objects focus in the viewport any longer, if you decide to switch to a viewport you havent used previously.

Feedback and quirks reporting are welcome !

See the following screenshot for List of the available macros

PowerSwitcher Actions:





Version Requirement: 
3ds Max2009 and higher


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
spacefrog's picture

Interesting idea...What

Interesting idea...
What about an additional shortcut which simply cycles the current view through it's counterparts: so eg. one press Top would go to Bottom, another press would go back to Top again. The same for all other parts ( Left->Right, Front->Back, Perspective->Camera->User etc.. )

BTW: As this was pretty much my first more "complex" script, it might very well benefit from a small code refactoring session...
As always ... no promises though ...

harumscarum's picture

suggestion for 4 viewport config

thanks again for this script. best solution for viewport switching in 2012 max
it works perfectly if only top/front/left/perspective views used in 4 viewport configuraion. but views are confused if i use right/back/bottom or user views. is it possible to lock each view to certain window like on this screenshot below so relative views wil be always in its windows?

235c5bec9e413be82f7ffafa5b90b1f1ffcc66bc.jpg 237.12 KB
harumscarum's picture

thank you

thank you very much! best viewport switcher since native max's 2009

MaxGoodwin's picture

Thank you!

Very usefull tool! Thank you )

spacefrog's picture

Behavior in unmaximized Viewport mode changed...

I changed the viewport switching behavior when you are in unmaximized mode, to make it easier to have more than one viewport of the same type ( eg. two top viewports). Now when the viewport is not maximized, the current viewport always switches to the requested type, even if this type already exists in another viewport of the current layout. In the previous versions the script simply switched to that other viewport in that case. This new behaviour works the same way like the standard 3ds Max viewport switching does...
But of course i still store the current viewports positioning/orinetation and zooming (standard 3ds Max switching looses every info in that case )

On the other hand, if you are in maxmized viewport mode, switching to an existing viewport type still cycles through the existing viewports of the requested type. Only if no such type exists in the layout, the current viewport is set to the requsted type...
hope that explanation makes sense ;-)

Tell me what you think about that change, and please report any issues ... ;-)

flame146's picture

works fine

works fine...

spacefrog's picture


Sorry to hear that...

did you copy the script to your [MaxFolder]/scripts/startup folder ?
The script uses some global structures and functions, which have to be initialized on each Max's start, hence the need for the script to sit in the "startup" folder.
What happens for you when you type "SFPowerswitcher" in your Maxscript Listener ? The Output should look like the thing i attached in my screenshot, if you get "undefined" we got a problem, and the script does'nt get loaded during Max's launch...

harumscarum's picture

(No subject)

harumscarum's picture

not working after max's

not working after max's restart for me

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.