gsee

AM_Offset py2.7

Nov 28th, 2019
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.97 KB | None | 0 0
  1. #Simple window to offset transforms from your selection
  2.  
  3. import maya.cmds as mc
  4. import functools
  5.  
  6. def ot_offset(_):
  7.     selection = mc.ls(selection=True)
  8.     mc.select(d=True)
  9.  
  10.     for n in selection:
  11.         mc.setAttr(n + '.tx', mc.floatField(tx, query=True, value=True) + mc.getAttr(n + '.tx'))
  12.         mc.setAttr(n + '.ty', mc.floatField(ty, query=True, value=True) + mc.getAttr(n + '.ty'))
  13.         mc.setAttr(n + '.tz', mc.floatField(tz, query=True, value=True) + mc.getAttr(n + '.tz'))
  14.         mc.setAttr(n + '.rx', mc.floatField(rx, query=True, value=True) + mc.getAttr(n + '.rx'))
  15.         mc.setAttr(n + '.ry', mc.floatField(ry, query=True, value=True) + mc.getAttr(n + '.ry'))
  16.         mc.setAttr(n + '.rz', mc.floatField(rz, query=True, value=True) + mc.getAttr(n + '.rz'))
  17.         mc.setAttr(n + '.sx', mc.floatField(sx, query=True, value=True) + mc.getAttr(n + '.sx'))
  18.         mc.setAttr(n + '.sy', mc.floatField(sy, query=True, value=True) + mc.getAttr(n + '.sy'))
  19.         mc.setAttr(n + '.sz', mc.floatField(sz, query=True, value=True) + mc.getAttr(n + '.sz'))
  20.  
  21. # Set window
  22. def close_callback(window, _):
  23.     print "Close!", window
  24.     mc.deleteUI(window, window=True)
  25.  
  26. if mc.window("offsetTransform", query=True, exists=True):
  27.     mc.deleteUI("offsetTransform", window=True)
  28.  
  29. window = mc.window("offsetTransform", title="Offset transform Tool", widthHeight=(250, 100))
  30. mc.columnLayout(adjustableColumn=True)
  31. mc.columnLayout( columnAlign=('center'), rowSpacing=1)
  32. mc.text(label='Translate')
  33. tx = mc.floatField(value=0)
  34. ty = mc.floatField(value=0)
  35. tz = mc.floatField(value=0)
  36. mc.text( label='Rotate')
  37. rx = mc.floatField(value=0)
  38. ry = mc.floatField(value=0)
  39. rz = mc.floatField(value=0)
  40. mc.text( label='Scale')
  41. sx = mc.floatField(value=0)
  42. sy = mc.floatField(value=0)
  43. sz = mc.floatField(value=0)
  44. mc.button(label='Offset', command=(ot_offset))
  45. mc.button(label="Close", command=functools.partial(close_callback, window))
  46. mc.setParent('..')
  47. mc.showWindow(window)
Advertisement
Add Comment
Please, Sign In to add comment