Show frames
Go to: Synopsis. Return value. Related. Flags. Python examples.
joint(
[objects]
, [absolute=boolean], [angleX=angle], [angleY=angle], [angleZ=angle], [assumePreferredAngles=boolean], [automaticLimits=boolean], [children=boolean], [component=boolean], [degreeOfFreedom=string], [exists=string], [limitSwitchX=boolean], [limitSwitchY=boolean], [limitSwitchZ=boolean], [limitX=[angle, angle]], [limitY=[angle, angle]], [limitZ=[angle, angle]], [name=string], [orientJoint=string], [orientation=[angle, angle, angle]], [position=[linear, linear, linear]], [radius=float], [relative=boolean], [rotationOrder=string], [scale=[float, float, float]], [scaleCompensate=boolean], [scaleOrientation=[angle, angle, angle]], [secondaryAxisOrient=string], [setPreferredAngles=boolean], [stiffnessX=float], [stiffnessY=float], [stiffnessZ=float], [symmetry=boolean], [symmetryAxis=string], [zeroScaleOrient=boolean])
Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.
joint is undoable, queryable, and editable.
The joint command is used to create, edit, and query, joints
within Maya. (The standard edit(-e) and query(-q) flags are
used for edit and query functions). If the object is not
specified, the currently selected object (dag object) will be
used.
Multiple objects are allowed only for the edit mode. The same
edit flags will be applied on all the joints selected, except
for -p without -r (set joint position in the world space). An
ik handle in the object list is equivalent to the list of
joints the ik handle commands. When -ch/children is present,
all the child joints of the specified joints, including the
joints implied by possible ik handles, will also be included.
In the creation mode, a new joint will be created as a child
of a selected transform or starts a hierarchy by itself if no
transform is selected. An ik handle will be treated as a
transform in the creation mode.
The default values of the arguments are:
-degreeOfFreedom xyz
-name "Joint#"
-position 0 0 0
-absolute
-dof "xyz"
-scale 1.0 1.0 1.0
-scaleCompensate true
-orientation 0.0 0.0 0.0
-scaleOrientation 0.0 0.0 0.0
-limitX -360 360
-limitY -360 360
-limitZ -360 360
-angleX 0.0
-angleY 0.0
-angleZ 0.0
-stiffnessX 0.0
-stiffnessY 0.0
-stiffnessZ 0.0
-limitSwitchX no
-limitSwitchY no
-limitSwitchZ no
-rotationOrder xyz
Those arguments can be specified in the creation mode,
editied in the edit mode (-e), or queried in the query mode
(-q).
In query mode, return type is based on queried flag.
connectJoint, ikHandle, ikHandleDisplayScale, ikSolver, ikSystem, ikSystemInfo, insertJoint, jointCluster, jointDisplayScale, jointLattice, mirrorJoint, removeJoint
absolute, angleX, angleY, angleZ, assumePreferredAngles, automaticLimits, children, component, degreeOfFreedom, exists, limitSwitchX, limitSwitchY, limitSwitchZ, limitX, limitY, limitZ, name, orientJoint, orientation, position, radius, relative, rotationOrder, scale, scaleCompensate, scaleOrientation, secondaryAxisOrient, setPreferredAngles, stiffnessX, stiffnessY, stiffnessZ, symmetry, symmetryAxis, zeroScaleOrient
Long name (short name) |
Argument types |
Properties |
|
absolute(a)
|
boolean
|
 
|
|
The joint center position is in absolute world coordinates.
(This is the default.)
|
|
angleX(ax)
|
angle
|
 
|
|
Set the x-axis angle. When queried, this flag
returns a float.
|
|
angleY(ay)
|
angle
|
 
|
|
Set the y-axis angle. When queried, this flag
returns a float.
|
|
angleZ(az)
|
angle
|
 
|
|
Set the z-axis angle. When queried, this flag
returns a float.
|
|
assumePreferredAngles(apa)
|
boolean
|
|
|
Meaningful only in the edit mode. It sets the
joint angles to the corresponding preferred
angles.
|
|
automaticLimits(al)
|
boolean
|
|
|
Meaningful only in edit mode. It sets the joint to
appropriate hinge joint with joint limits. It modifies
the joint only if (a) it connects exactly to two
joints (one parent, one child), (b) it does not lie on
the line drawn between the two connected joints, and
the plane it forms with the two connected joints
is perpendicular to one of its rotation axes.
|
|
children(ch)
|
boolean
|
|
|
It tells the command to apply all the edit options
not only to the selected joints, but also to their
descendent joints in the DAG.
|
|
component(co)
|
boolean
|

|
|
Use with the -position switch to position the joint
relative to its parent (like -relative) but to compute
new positions for all children joints so their world
coordinate positions do not change.
|
|
degreeOfFreedom(dof)
|
string
|
 
|
|
Specifies the degrees of freedom for the IK.
Valid strings consist of non-duplicate letters from x,
y, and z. The letters in the string indicate what
rotations are to be used by IK. The order a letter
appear in the string does not matter. Examples are x,
yz, xyz. When queried, this flag returns a string.
Modifying dof will change the locking state of the
corresponding rotation attributes. The rule is: if an
rotation is turned into a dof, it will be unlocked if
it is currently locked. When it is turned into a
non-dof, it will be locked if it is not currently
locked.
|
|
exists(ex)
|
string
|
|
|
Does the named joint exist? When queried, this flag
returns a boolean.
|
|
limitSwitchX(lsx)
|
boolean
|
 
|
|
Use the limit the x-axis rotation? When
queried, this flag returns a boolean.
|
|
limitSwitchY(lsy)
|
boolean
|
 
|
|
Use the limit the y-axis rotation? When
queried, this flag returns a boolean.
|
|
limitSwitchZ(lsz)
|
boolean
|
 
|
|
Use the Limit the z-axis rotation? When
queried, this flag returns a boolean.
|
|
limitX(lx)
|
[angle, angle]
|
 
|
|
Set lower and upper limits on the x-axis of
rotation. Also turns on
the joint limit. When queried, this flag returns 2 floats.
|
|
limitY(ly)
|
[angle, angle]
|
 
|
|
Set lower and upper limits on the y-axis of
rotation. Also turns on
the joint limit. When queried, this flag returns 2 floats.
|
|
limitZ(lz)
|
[angle, angle]
|
 
|
|
Set lower and upper limits on the z-axis of
rotation. Also turns on
the joint limit. When queried, this flag returns 2 floats.
|
|
name(n)
|
string
|
 
|
|
Specifies the name of the joint. When queried,
this flag returns a string.
|
|
orientJoint(oj)
|
string
|
|
|
The argument can be one of the following strings: xyz,
yzx, zxy, zyx, yxz, xzy, none.
It modifies the joint orientation and scale orientation
so that the axis indicated by the first letter in the argument
will be aligned with the vector from this joint to its first
child joint. For example, if the argument is "xyz", the x-axis will
point towards the child joint.
The alignment of the remaining two joint orient axes are
dependent on whether or not the -sao/-secondaryAxisOrient flag
is used. If the -sao flag is used, see the documentation for
that flag for how the remaining axes are aligned.
In the absence of a user specification for the secondary axis
orientation, the rotation axis indicated by the last letter in
the argument will be aligned with the vector perpendicular to
first axis and the vector from this joint to its parent joint.
The remaining axis is aligned according the right hand rule.
If the argument is "none", the joint orientation
will be set to zero and its effect to the hierarchy
below will be offset by modifying the scale
orientation.
The flag will be ignored if:
A. the joint has non-zero rotations when the argument
is not "none".
B. the joint does not have child joint, or the
distance to the child joint is zero when the argument
is not "none".
C. either flag -o or -so is set.
|
|
orientation(o)
|
[angle, angle, angle]
|
 
|
|
The joint orientation. When queried, this flag
returns 3 floats.
|
|
position(p)
|
[linear, linear, linear]
|
 
|
|
Specifies the position of the center of the joint.
This position may be relative to the joint's parent
or in absolute world coordinates (see -r and -a
below). When queried, this flag returns 3 floats.
|
|
radius(rad)
|
float
|
 
|
|
Specifies the joint radius.
|
|
relative(r)
|
boolean
|
 
|
|
The joint center position is relative to the joint's parent.
|
|
rotationOrder(roo)
|
string
|
 
|
|
The rotation order of the joint. The
argument can be one of the following strings: xyz,
yzx, zxy, zyx, yxz, xzy.
|
|
scale(s)
|
[float, float, float]
|
 
|
|
Scale of the joint. When queried, this flag
returns 3 floats.
|
|
scaleCompensate(sc)
|
boolean
|
 
|
|
It sets the scaleCompenstate attribute of
the joint to the given argument. When this is true,
the scale of the parent joint will be compensated
before any rotation of this joint is applied, so that
the bone to the joint is scaled but not the bones to
its child joints. When queried, this flag returns an
boolean.
|
|
scaleOrientation(so)
|
[angle, angle, angle]
|
 
|
|
Set the orientation of the coordinate axes for
scaling. When queried, this flag returns 3 floats.
|
|
secondaryAxisOrient(sao)
|
string
|
|
|
The argument can be one of the following strings: xup, xdown,
yup, ydown, zup, zdown, none.
This flag is used in conjunction with the -oj/orientJoint
flag. It specifies the scene axis that the second axis should
align with. For example, a flag combination of "-oj yzx -sao yup"
would result in the y-axis pointing down the bone, the
z-axis oriented with the scene's positive y-axis, and
the x-axis oriented according to the right hand rule.
|
|
setPreferredAngles(spa)
|
boolean
|
|
|
Meaningful only in the edit mode. It sets the
preferred angles to the current joint angles.
|
|
stiffnessX(stx)
|
float
|
 
|
|
Set the stiffness (from 0 to 100.0) for x-axis.
When queried, this flag returns a float.
|
|
stiffnessY(sty)
|
float
|
 
|
|
Set the stiffness (from 0 to 100.0) for y-axis.
When queried, this flag returns a float.
|
|
stiffnessZ(stz)
|
float
|
 
|
|
Set the stiffness (from 0 to 100.0) for z-axis.
When queried, this flag returns a float.
|
|
symmetry(sym)
|
boolean
|

|
|
Create a symmetric joint from the current joint.
|
|
symmetryAxis(sa)
|
string
|

|
|
This flag specifies the axis used to mirror symmetric joints. Any combination of x, y, z can be used. This option is only used when the symmetry flag is set to True.
|
|
zeroScaleOrient(zso)
|
boolean
|
|
|
It sets the scale orientation to zero and
compensate the change by modifing the translation and
joint orientation for joint or rotation for general
transform of all its child transformations.
The flag will be ignored if the flag -so is set.
|
|
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
# Create a 3-joint chain
#
cmds.select( d=True )
cmds.joint( p=(0, 0, 0) )
cmds.joint( p=(0, 4, 0) )
cmds.joint( 'joint1', e=True, zso=True, oj='xyz' )
cmds.joint( p=(0, 8, -1) )
cmds.joint( 'joint2', e=True, zso=True, oj='xyz' )
# Create a fourth joint with z joint limits of -90 deg for
# the lower limit and 90 deg for the upper limit. The
# joint will be positioned at (0, 0, 4) in world
# coordinates.
#
cmds.joint( lz=('-90deg', '90deg'), p=(0, 8, 4) )
# Set the joint limits but leave them disabled.
cmds.joint( edit=True, lz=('-90deg', '90deg'), lsz=False )