These are the macros and python scripts needed to build Walkabout and Step size tool palettes, in Rhino for Mac version 6, that matches the Rhino for Windows Walkabout tools. The macros are all below; instructions for making the new buttons are here. The icons for the buttons can be downloaded here.
Walk forward:
! -_RunPythonScript (
import rhinoscriptsyntax as rs
import scriptcontext as sc
import math
StepSize = 0.02
if sc.sticky.has_key('WALKABOUT_STEPSIZE'):
    StepSize  = sc.sticky['WALKABOUT_STEPSIZE']    
C = rs.ViewCamera()
T = rs.ViewTarget()
Cnew = C
Tnew = T
Dx = T[0] - C[0]
Dy = T[1] - C[1]
Cnew[0] = Cnew[0] + Dx * StepSize
Cnew[1] = Cnew[1] + Dy * StepSize
Tnew[0] = Tnew[0] + Dx * StepSize
Tnew[1] = Tnew[1] + Dy * StepSize
rs.ViewCameraTarget(rs.CurrentView(), Cnew, Tnew)
)
Walk back:
! -_RunPythonScript (
import rhinoscriptsyntax as rs
import scriptcontext as sc
import math
StepSize = 0.02
if sc.sticky.has_key('WALKABOUT_STEPSIZE'):
    StepSize  = sc.sticky['WALKABOUT_STEPSIZE']
    
C = rs.ViewCamera()
T = rs.ViewTarget()
Cnew = C
Tnew = T
Dx = T[0] - C[0]
Dy = T[1] - C[1]
Cnew[0] = Cnew[0] - Dx * StepSize
Cnew[1] = Cnew[1] - Dy * StepSize
Tnew[0] = Tnew[0] - Dx * StepSize
Tnew[1] = Tnew[1] - Dy * StepSize
rs.ViewCameraTarget(rs.CurrentView(), Cnew, Tnew)
)
Walk left:
! -_RunPythonScript (
import rhinoscriptsyntax as rs
import scriptcontext as sc
import math
StepSize = 0.05
if sc.sticky.has_key('WALKABOUT_STEPSIZE'):
    StepSize  = sc.sticky['WALKABOUT_STEPSIZE']
    
C = rs.ViewCamera()
T = rs.ViewTarget()
Cnew = C
Tnew = T
Dx = T[0] - C[0]
Dy = T[1] - C[1]
Cnew[0] = Cnew[0] - Dy * StepSize
Cnew[1] = Cnew[1] + Dx * StepSize
Tnew[0] = Tnew[0] - Dy * StepSize
Tnew[1] = Tnew[1] + Dx * StepSize
rs.ViewCameraTarget(rs.CurrentView(), Cnew, Tnew)
)
Walk right:
! -_RunPythonScript (
import rhinoscriptsyntax as rs
import scriptcontext as sc
import math
StepSize = 0.05
if sc.sticky.has_key('WALKABOUT_STEPSIZE'):
    StepSize  = sc.sticky['WALKABOUT_STEPSIZE']
    
C = rs.ViewCamera()
T = rs.ViewTarget()
Cnew = C
Tnew = T
Dx = T[0] - C[0]
Dy = T[1] - C[1]
Cnew[0] = Cnew[0] + Dy * StepSize
Cnew[1] = Cnew[1] - Dx * StepSize
Tnew[0] = Tnew[0] + Dy * StepSize
Tnew[1] = Tnew[1] - Dx * StepSize
rs.ViewCameraTarget(rs.CurrentView(), Cnew, Tnew)
)
Elevator Up:
-_RunPythonScript (
import rhinoscriptsyntax as rs
import scriptcontext as sc
import math
StepSize = 0.05
if sc.sticky.has_key('WALKABOUT_STEPSIZE'):
    StepSize  = sc.sticky['WALKABOUT_STEPSIZE']
    
C = rs.ViewCamera()
T = rs.ViewTarget()
Cnew = C
Tnew = T
Dx = T[0] - C[0]
Dy = T[1] - C[1]
Dist = math.sqrt(Dx*Dx + Dy*Dy)
Cnew[2] = Cnew[2] - Dist * StepSize
Tnew[2] = Tnew[2] - Dist * StepSize
rs.ViewCameraTarget (rs.CurrentView(), Cnew, Tnew)
)
Elevator down:
-_RunPythonScript (
import rhinoscriptsyntax as rs
import scriptcontext as sc
import math
StepSize = 0.05
if sc.sticky.has_key('WALKABOUT_STEPSIZE'):
    StepSize  = sc.sticky['WALKABOUT_STEPSIZE']
    
C = rs.ViewCamera()
T = rs.ViewTarget()
Cnew = C
Tnew = T
Dx = T[0] - C[0]
Dy = T[1] - C[1]
Dist = math.sqrt(Dx*Dx + Dy*Dy)
Cnew[2] = Cnew[2] + Dist * StepSize
Tnew[2] = Tnew[2] + Dist * StepSize
rs.ViewCameraTarget (rs.CurrentView(), Cnew, Tnew)
)
Small steps:
-_RunPythonScript ( import scriptcontext as sc sc.sticky['WALKABOUT_STEPSIZE'] = .005 ) **Medium-small steps:** -_RunPythonScript ( import scriptcontext as sc sc.sticky['WALKABOUT_STEPSIZE'] = .01 )
Medium steps:
-_RunPythonScript ( import scriptcontext as sc sc.sticky['WALKABOUT_STEPSIZE'] = .05 )
Medium-large steps:
-_RunPythonScript ( import scriptcontext as sc sc.sticky['WALKABOUT_STEPSIZE'] = .1 )
Large steps:
-_RunPythonScript ( import scriptcontext as sc sc.sticky['WALKABOUT_STEPSIZE'] = .5 )
Custom steps:
-_RunPythonScript (
import rhinoscriptsyntax as rs
import scriptcontext as sc
import math
StepSize = 0.05
if sc.sticky.has_key('WALKABOUT_STEPSIZE'):
    StepSize  = sc.sticky['WALKABOUT_STEPSIZE']
NewStepSize = rs.RealBox("New step sizefactor", StepSize)
if NewStepSize is not None:
  StepSize = NewStepSize
  sc.sticky['WALKABOUT_STEPSIZE'] = StepSize
)