This is a simple (free) script that detects viewport changes. It will automatically set the current snap mode to 3D snaps when the current viewport is perspective, camera, etc; it will switch to either 2D/2.5D if the current viewport is set to standard orthographic projections.
The function only changes the current snap mode if:
1: Snaps are On
2: Either the target snap mode is 2/2.5 and the current snap mode is 3D OR the target snap mode is 3D and it isn't currently set to 3D. (In other words, for top/left/front the mode won't change if it is 2 or 2.5--it uses the current 2 or 2.5.)
Version 2: Already updated after some feedback. Now converted to a MacroScript and has some options. See Additional info.
By lightcube
vfga10 · 2017-10-13
miauu · 2016-11-09