Go to: Synopsis. Return value. Flags. Python examples.
manipMoveContext( [object] , [activeHandle=int], [activeHandleNormal=int],
[alignAlong=[float, float,
float]], [editPivotMode=boolean], [editPivotPosition=boolean],
[interactiveUpdate=boolean],
[mode=int], [orientAxes=[float, float, float]],
[orientTowards=[float, float,
float]], [position=boolean],
[postCommand=script],
[postDragCommand=[script,
string]], [preCommand=script], [preDragCommand=[script, string]],
[preserveChildPosition=boolean],
[preserveUV=boolean],
[reflection=boolean],
[reflectionAbout=int],
[reflectionAxis=int],
[reflectionTolerance=float],
[snap=boolean], [snapComponentsRelative=boolean],
[snapLiveFaceCenter=boolean],
[snapLivePoint=boolean],
[snapRelative=boolean],
[snapValue=float])
Note: Strings representing object names and
arguments must be separated by commas. This is not depicted in the
synopsis.
manipMoveContext is undoable, queryable, and editable.
This command can be used to create, edit, or query a move manip
context. Note that the flags -s, -sv, -sr, -scr, -slp, -slf control
the global behaviour of all move manip context. Changing one
context independently is not allowed. Changing a context's
behaviour using the above flags, will change all existing move
manip context.
string |
The name of the new context |
In query mode, return type is based on queried flag.
activeHandle, activeHandleNormal, alignAlong, editPivotMode, editPivotPosition, interactiveUpdate, mode, orientAxes,
orientTowards, position, postCommand, postDragCommand, preCommand, preDragCommand, preserveChildPosition, preserveUV, reflection, reflectionAbout, reflectionAxis, reflectionTolerance, snap, snapComponentsRelative, snapLiveFaceCenter, snapLivePoint, snapRelative, snapValue
Long name (short name) |
Argument types |
Properties |
mode(m) |
int |
|
|
Translate mode:
- 0 - Object Space
- 1 - Local Space
- 2 - World Space (default)
- 3 - Move Along Vertex Normal
- 4 - Move Along Rotation Axis
- 5 - Move Along Live Object Axis
- 6 - Custom Axis Orientation
|
|
activeHandle(ah) |
int |
|
|
Sets the default active handle for the manip. That is, the
handle which should be initially active when the tool is activated.
Values can be:
- 0 - X axis handle is active
- 1 - Y axis handle is active
- 2 - Z axis handle is active
- 3 - Center handle (all 3 axes) is active (default)
|
|
position(p) |
boolean |
|
|
Returns the current position of the manipulator |
|
editPivotPosition(epp) |
boolean |
|
|
Returns the current position of the edit pivot
manipulator. |
|
orientAxes(oa) |
[float, float, float] |
|
|
Orients manipulator rotating around axes by specified
angles |
|
orientTowards(ot) |
[float, float, float] |
|
|
Orients active handle towards world point |
|
alignAlong(aa) |
[float, float, float] |
|
|
Aligns active handle along vector. |
|
interactiveUpdate(iu) |
boolean |
|
|
Value can be : true or false. This flag value is valid only if
the mode is 3 i.e. move vertex normal. |
|
activeHandleNormal(ahn) |
int |
|
|
- 0 - U axis handle is active
- 1 - V axis handle is active
- 2 - N axis handle is active ( default )
- 3 - Center handle (all 3 axes) is active
applicable only when the manip mode is 3. |
|
snap(s) |
boolean |
|
|
Value can be : true or false. Enable/Disable the discrete move.
If set to true, the move manipulator of all the move contexts would
snap at discrete points along the active handle during mouse drag.
The interval between the points can be controlled using the
'snapValue' flag. |
|
preserveChildPosition(pcp) |
boolean |
|
|
When false, the children objects move when their parent is
moved. When true, the worldspace position of the children will be
maintained as the parent is moved. Default is false. |
|
preserveUV(puv) |
boolean |
|
|
When false, the uvs are not changes to match the vertex edit.
When true, the uvs are edited to project to new values to stop
texture swimming as vertices are moved. |
|
snapValue(sv) |
float |
|
|
Applicable only when the snap is enabled. The manipulator of
all move contexts would move in steps of 'snapValue' |
|
snapRelative(sr) |
boolean |
|
|
Value can be : true or false. Applicable only when the snap is
enabled. If true, the snapValue is treated relative to the original
position before moving. If false, the snapValue is treated relative
to the world origin. NOTE: If in local/object Space Mode, the
snapRelative should be ON. Absolute discrete move is not supported
in local/object mode. |
|
snapComponentsRelative(
scr) |
boolean |
|
|
Value can be : true or false. If true, while snapping a group
of CVs/Vertices, the relative spacing between them will be
preserved. If false, all the CVs/Vertices will be snapped to the
target point (is used during grid snap(hotkey 'x'), and point
snap(hotkey 'v')) Depress the 'x' key before click-dragging the
manip handle and check to see the behaviour of moving a bunch of
CVs, with this flag ON and OFF. |
|
snapLivePoint(slp) |
boolean |
|
|
Value can be : true or false. If true, while moving on the live
polygon object, the move manipulator will snap to the vertices of
the object. |
|
snapLiveFaceCenter(slf) |
boolean |
|
|
Value can be : true or false. If true, while moving on the live
polygon object, the move manipulator will snap to the face centers
of the object. |
|
reflection(rfl) |
boolean |
|
|
This flag is obsolete. Reflection is now managed as part of
selection itself using the symmetricModeling command. |
|
reflectionAbout(rab) |
int |
|
|
This flag is obsolete. Reflection is now managed as part of
selection itself using the symmetricModeling command. |
|
reflectionAxis(rfa) |
int |
|
|
This flag is obsolete. Reflection is now managed as part of
selection itself using the symmetricModeling command. |
|
reflectionTolerance(rft) |
float |
|
|
This flag is obsolete. Reflection is now managed as part of
selection itself using the symmetricModeling command. |
|
preCommand(prc) |
script |
|
|
Specifies a command to be executed when the tool is
entered. |
|
postCommand(psc) |
script |
|
|
Specifies a command to be executed when the tool is
exited. |
|
preDragCommand(prd) |
[script, string] |
|
|
Specifies a command and a node type. The command will be
executed at the start of a drag when a node of the specified type
is in the selection. |
|
postDragCommand(pod) |
[script, string] |
|
|
Specifies a command and a node type. The command will be
executed at the end of a drag when a node of the specified type is
in the selection. |
|
editPivotMode(epm) |
boolean |
|
|
Returns true manipulator is in edit pivot mode |
|
Flag can appear in Create mode of
command |
Flag can appear in Edit mode of command |
Flag can appear in Query mode of command |
Flag can have multiple arguments, passed
either as a tuple or a list. |
import maya.cmds as cmds
# To create a new move context:
cmds.manipMoveContext()
# To query the mode of an existing context:
cmds.manipMoveContext( 'manipMoveContext1', q=True, mode=True )
# To edit an existing context to come up with the X axis handle
# active by default:
cmds.manipMoveContext( 'manipMoveContext1', e=True, ah=0 )
cmds.spaceLocator( p=(0, 0, 0), name='locatorA' )
cmds.manipMoveContext( 'manipMoveContext1', e=True, m=2 ) # WorldSpace
cmds.manipMoveContext( 'manipMoveContext1', e=True, snap=True )
cmds.manipMoveContext( 'manipMoveContext1', e=True, snapValue=0.4 )
# Now, dragging any of the move handles will
# move the object in steps of 0.4 units.
cmds.move( 0.8, 0, 0, 'locatorA', a=True )
cmds.manipMoveContext( 'manipMoveContext1', e=True, snap=True )
cmds.manipMoveContext( 'manipMoveContext1', e=True, snapValue=2 )
cmds.manipMoveContext( 'manipMoveContext1', e=True, snapRelative=False )
# Now, dragging X-axis handle will
# move the object in steps of 2 units, and will
# place the object anywhere in (0,0,0) (2,0,0) (4,0,0) ...etc
# NOTE: If in objectSpace Mode, the snapRelative should be ON.
# Absolute discrete move is not supported in objectSpace mode.
cmds.move( 0.8, 0, 0, 'locatorA', a=True )
cmds.manipMoveContext( 'manipMoveContext1', e=True, snap=True )
cmds.manipMoveContext( 'manipMoveContext1', e=True, snapValue=2 )
cmds.manipMoveContext( 'manipMoveContext1', e=True, snapRelative=True )
# Now, dragging X-axis handle will
# move the object in steps of 2 units, and will
# place the object anywhere in (2.8,0,0) (4.8,0,0) (6.8,0,0) ...etc