Allows movement of selected object(s) using arrow keys. This was the behavior in 3dsmax prior to version7.
Script
Nudge with Arrow Keys
By Johnathon Horne · 2006-10-21
Community compatibilityNo compatibility reports yet
No reports yet for the available releases.
Community reviewsNo reviews yet.
- Version
- 1.5
- 3ds Max compatibility
- See listing claims below
How compatibility works
Choose the 3ds Max version you use. For example, selecting 2020 puts direct matches for 2020 first, followed by listings that say a supported version or newer.
Scripts that only mention an older version can still appear as “2020 unconfirmed.” Listings that rule out 2020 are excluded. Use “Show scripts with unconfirmed compatibility” to also see listings without a clear match.
Community reports show what worked for members on a specific release. They’re separate from the listing’s compatibility claims and don’t change the filter.
- From original requirements
- 7
- Original version requirement
- 7
- Date updated
- 2004-11-14
- Legacy votes
- 7
- Homepage
- http://www.neverwake.com
- External download
- External download
Tags: transform
Description
Additional Info
Customize GUI - scripts are located in the 'neverwake' category.
Assign each script to a hotkey. I recommend the following keys:
Right Arrow = X +10
Left Arrow = X -10
Up Arrow = Z +10
Down Arrow = Z-10
Shift + Up Arrow = Y +10
Shift + Down Arrow = Y -10
Add Cntl + All of the above for X/Y/Z + or - 1 unit
Known issues:
1. The macros use the currently selected coordinate system in the max
toolbar pulldown. If mode is set to View - nothing will happen and the
objects will not move. Use something other than View (not a big deal to
me - as I never use View anyway).
2. Moving subobjects in spline objects (ie - spline points or
segments - etc) is not supported... based on the subobject code structure
for splines - don't expect me to add this anytime soon...
Basic error checking - but not torture tested. If you find a major
bug - please let me know and I'll attempt to fix it.
Future possibilities: user-set movement distances instead of 1- and
10-unit presets.
History:
1.5 Added support for sub-object selection (emesh and epoly objects). Confirmed support for max5 - max7.
1.0: Inital release.
Comments (2)
Hello
PerfectCell · 2013-02-14
A workmate was asking for a script that does what yours does. He tried it out, but had a few requests.
Here's what I did with it:
There are two macro files, nudgeU and nudgeD. nudgeU has a positive nudge amount and nudgeD has a negative nudge amount.
The two macros are mapped to the up and down keys.
macroscript nudgeU category:"oo"
(
global refCoord
global refCoordDo
global nudgeAmount
global subLevel
global refCoordDefault
global currAxis
global x
global y
global z
try
(
refCoord = getRefCoordSys()
subLevel = subObjectLevel
nudgeAmount = 0.5
refCoordDefault = #world
if refCoord == #local then
(
refCoordDo = #local
)
else
(
refCoordDo = refCoordDefault
)
currAxis = (toolmode.axisconstraints as string)
if currAxis == "x" then
(
x = nudgeAmount
y = 0
z = 0
)
if currAxis == "y" then
(
x = 0
y = nudgeAmount
z = 0
)
if currAxis == "z" then
(
x = 0
y = 0
z = nudgeAmount
)
if currAxis == "XY" then
(
x = nudgeAmount
y = nudgeAmount
z = 0
)
if currAxis == "YZ" then
(
x = 0
y = nudgeAmount
z = nudgeAmount
)
if currAxis == "ZX" then
(
x = nudgeAmount
y = 0
z = nudgeAmount
)
fn moveobj =
(
if toolmode.commandmode == #move then in coordsys refCoordDo move $ [x,y,z]
if toolmode.commandmode == #rotate then in coordsys refCoordDo rotate $ (eulerangles x y z)
)
fn movepoint =
(
if toolmode.commandmode == #move then in coordsys refCoordDo move $.selectedVerts [x,y,z]
if toolmode.commandmode == #rotate then in coordsys refCoordDo rotate $.selectedVerts (eulerangles x y z)
)
fn moveedge =
(
if toolmode.commandmode == #move then in coordsys refCoordDo move $.selectedEdges [x,y,z]
if toolmode.commandmode == #rotate then in coordsys refCoordDo rotate $.selectedEdges (eulerangles x y z)
)
fn movepoly =
(
if toolmode.commandmode == #move then in coordsys refCoordDo move $.selectedFaces [x,y,z]
if toolmode.commandmode == #rotate then in coordsys refCoordDo rotate $.selectedFaces (eulerangles x y z)
)
if subLevel == 0 then moveobj() else
if subLevel == 1 then movepoint() else
if subLevel == 2 then moveedge() else
if subLevel == 3 then moveedge() else
if subLevel == 4 then movepoly() else
if subLevel == 5 then movepoly() else
if subLevel == undefined then moveobj()
)
catch()
)
)
I can't actually get rotating subselections to work, so someone else might be able to fix that part, but it works well for what we need.
sebashtion H. · 2009-05-09
Hello I am new to scripts.
is there a way to update this to max 2009?
Sebashtion H.