pymel.core.general.rotate¶
- rotate(obj, *args, **kwargs)¶
The rotate command is used to change the rotation of geometric objects. The rotation values are specified as Euler angles (rx, ry, rz). The values are interpreted based on the current working unit for Angular measurements. Most often this is degrees. The default behaviour, when no objects or flags are passed, is to do a absolute rotate on each currently selected object in the world space.
- Modifications:
allows any iterable object to be passed as first argument:
rotate("pSphere1", [0,1,2])
NOTE: this command also reorders the argument order to be more intuitive, with the object first
Flags:
Long Name / Short Name Argument Types Properties absolute / a bool
Perform an absolute operation. centerPivot / cp bool
Let the pivot be the center of the bounding box of all objects componentSpace / cs bool
Rotate in local component space constrainAlongNormal / xn bool
When true, transform constraints are applied along the vertex normal first and only use the closest point when no intersection is found along the normal. deletePriorHistory / dph bool
If true then delete the history prior to the current operation. euler / eu bool
Modifer for -relative flag that specifies rotation values should be added to current XYZ rotation values. forceOrderXYZ / fo bool
When true, euler rotation value will be understood in XYZ rotation order not per transform node basis. objectCenterPivot / ocp bool
Let the pivot be the center of the bounding box of each object objectSpace / os bool
Perform rotation about object-space axis. orientAxes / oa float, float, float
Euler axis for orientation. pivot / p float, float, float
Define the pivot point for the transformation preserveChildPosition / pcp bool
When true, transforming an object will apply an opposite transform to its child transform to keep them at the same world-space position. Default is false. preserveGeometryPosition / pgp bool
When true, transforming an object will apply an opposite transform to its geometry points to keep them at the same world-space position. Default is false. preserveUV / puv bool
When true, UV values on rotated components are projected across the rotation in 3d space. For small edits, this will freeze the world space texture mapping on the object. When false, the UV values will not change for a selected vertices. Default is false. reflection / rfl bool
To move the corresponding symmetric components also. reflectionAboutBBox / rab bool
Sets the position of the reflection axis at the geometry bounding box reflectionAboutOrigin / rao bool
Sets the position of the reflection axis at the origin reflectionAboutX / rax bool
Specifies the X=0 as reflection plane reflectionAboutY / ray bool
Specifies the Y=0 as reflection plane reflectionAboutZ / raz bool
Specifies the Z=0 as reflection plane reflectionTolerance / rft float
Specifies the tolerance to findout the corresponding reflected components relative / r bool
Perform a operation relative to the object’s current position rotateX / x bool
Rotate in X direction rotateXY / xy bool
Rotate in X and Y direction rotateXYZ / xyz bool
Rotate in all directions (default) rotateXZ / xz bool
Rotate in X and Z direction rotateY / y bool
Rotate in Y direction rotateYZ / yz bool
Rotate in Y and Z direction rotateZ / z bool
Rotate in Z direction symNegative / smn bool
When set the component transformation is flipped so it is relative to the negative side of the symmetry plane. The default (no flag) is to transform components relative to the positive side of the symmetry plane. translate / t bool
When true, the command will modify the node’s translate attribute instead of its rotateTranslate attribute, when rotating around a pivot other than the object’s own rotate pivot. worldSpace / ws bool
Perform rotation about global world-space axis. xformConstraint / xc unicode
Apply a transform constraint to moving components. none - no constraintsurface - constrain components to the surfaceedge - constrain components to surface edgeslive - constraint components to the live surfaceFlag can have multiple arguments, passed either as a tuple or a list. Derived from mel command maya.cmds.rotate
Example:
import pymel.core as pm # create a circle and grouped cone to rotate; pm.circle( n='circle1' ) # Result: [nt.Transform(u'circle1'), nt.MakeNurbCircle(u'makeNurbCircle1')] # pm.cone( ax=(0, 1, 0), n='cone1' ) # Result: [nt.Transform(u'cone1'), nt.MakeNurbCone(u'makeNurbCone1')] # pm.group( 'cone1', n='group1' ) # Result: nt.Transform(u'group1') # # rotate the active objects 45 degrees about the world space X axis # centered at each object's rotate pivot point. pm.select( 'cone1' ) pm.rotate( '45deg', 0, 0, r=True ) # Set the rotation values for group1 to (90, 0, 0). This is # equivalent to: # pm.setAttr('group1.rx',90) # pm.setAttr('group1.ry',0) # pm.setAttr('group1.rz',0) pm.rotate( '90deg', 0, 0, 'group1' ) # rotate the circle 180 degrees about its local space Y axis # centered at the rotate pivot point 1 0 0. pm.rotate( 0, '180deg', 0, 'circle1', pivot=(1, 0, 0) )