#################################################################### # written by Michael Munoz # # 3D Artist # # eleazermunoz@hotmail.com # # www.eleazermunoz.com # # # # # # Phython Script must be load in a phython shell!!! # # # # This a quick setup tool that will help with direct # # connection and the locking and hiding of attributes # # # # 1.Quick Connection # # rotate - connect all rotation or just name axis # # translate - connect all translates or just name axis # # # # # 2.Lock Connection # # rotate - lock and hide all rotate or name axis # # Unlock - unlock all rotate # # # # translate - lock and hide all rotate or name axis # # Unlock - unlock all translate # # # # S - lock and hide all sizes # # U - unlock sizes # # # # V - lock and hide Visibility # # Unlock - unlock Visibility # # # #################################################################### import maya.cmds as cmds import maya.mel as mm def quickLockTranslation (*args): connected=cmds.ls( selection=True ) cmds.setAttr (connected[0]+'.tx', lock=True, keyable=False) cmds.setAttr (connected[0]+'.ty', lock=True, keyable=False) cmds.setAttr (connected[0]+'.tz', lock=True, keyable=False) def quickLockTranslationX (*args): connected=cmds.ls( selection=True ) cmds.setAttr (connected[0]+'.tx', lock=True, keyable=False) def quickLockTranslationY (*args): connected=cmds.ls( selection=True ) cmds.setAttr (connected[0]+'.ty', lock=True, keyable=False) def quickLockTranslationZ (*args): connected=cmds.ls( selection=True ) cmds.setAttr (connected[0]+'.tz', lock=True, keyable=False) def quickUnTranslate (*args): connected=cmds.ls( selection=True ) cmds.setAttr (connected[0]+'.tx', lock=False, keyable=True) cmds.setAttr (connected[0]+'.ty', lock=False, keyable=True) cmds.setAttr (connected[0]+'.tz', lock=False, keyable=True) ################################################################### def quickLockRotate (*args): connected=cmds.ls( selection=True ) cmds.setAttr (connected[0]+'.rx', lock=True, keyable=False) cmds.setAttr (connected[0]+'.ry', lock=True, keyable=False) cmds.setAttr (connected[0]+'.rz', lock=True, keyable=False) def quickLockRotateX (*args): connected=cmds.ls( selection=True ) cmds.setAttr (connected[0]+'.rx', lock=True, keyable=False) def quickLockRotateY (*args): connected=cmds.ls( selection=True ) cmds.setAttr (connected[0]+'.ry', lock=True, keyable=False) def quickLockRotateZ (*args): connected=cmds.ls( selection=True ) cmds.setAttr (connected[0]+'.rz', lock=True, keyable=False) def quickUnRotate (*args): connected=cmds.ls( selection=True ) cmds.setAttr (connected[0]+'.rx', lock=False, keyable=True) cmds.setAttr (connected[0]+'.ry', lock=False, keyable=True) cmds.setAttr (connected[0]+'.rz', lock=False, keyable=True) ################################################################### def quickLockScale(*args): connected=cmds.ls( selection=True ) cmds.setAttr (connected[0]+'.sx', lock=True, keyable=False) cmds.setAttr (connected[0]+'.sy', lock=True, keyable=False) cmds.setAttr (connected[0]+'.sz', lock=True, keyable=False) def quickUnScale (*args): connected=cmds.ls( selection=True ) cmds.setAttr (connected[0]+'.sx', lock=False, keyable=True) cmds.setAttr (connected[0]+'.sy', lock=False, keyable=True) cmds.setAttr (connected[0]+'.sz', lock=False, keyable=True) ################################################################### def quickLockVis(*args): connected=cmds.ls( selection=True ) cmds.setAttr (connected[0]+'.v', lock=True, keyable=False) def quickUnVis (*args): connected=cmds.ls( selection=True ) cmds.setAttr (connected[0]+'.v', lock=False, keyable=True) ################################################################### def quickConnectionRotate (*args): connected=cmds.ls( selection=True ) cmds.connectAttr (connected[0]+'.rotate', connected[1]+'.rotate') def quickConnectionRotateX (*args): connected=cmds.ls( selection=True ) cmds.connectAttr (connected[0]+'.rotateX', connected[1]+'.rotateX') def quickConnectionRotateY (*args): connected=cmds.ls( selection=True ) cmds.connectAttr (connected[0]+'.rotateY', connected[1]+'.rotateY') def quickConnectionRotateZ (*args): connected=cmds.ls( selection=True ) cmds.connectAttr (connected[0]+'.rotateZ', connected[1]+'.rotateZ') #################################################################### def quickConnectionTranslation (*args): connected=cmds.ls( selection=True ) cmds.connectAttr (connected[0]+'.translation', connected[1]+'.translation') def quickConnectionTranslationX (*args): connected=cmds.ls( selection=True ) cmds.connectAttr (connected[0]+'.translationX', connected[1]+'.translationX') def quickConnectionTranslationY (*args): connected=cmds.ls( selection=True ) cmds.connectAttr (connected[0]+'.translationY', connected[1]+'.translationY') def quickConnectionTranslationZ (*args): connected=cmds.ls( selection=True ) cmds.connectAttr (connected[0]+'.translationZ', connected[1]+'.translationZ') import maya.cmds as cmds if cmds.window('mMunoz_quickSetup', exists=True): cmds.deleteUI('mMunoz_quickSetup', window=True) cmds.window('mMunoz_quickSetup', title="mMunoz_quickSetup", iconName='quickSetup') cmds.columnLayout( adjustableColumn=True ) cmds.frameLayout( label='Quick Connection', labelAlign='center', borderStyle='in') cmds.rowColumnLayout( numberOfColumns=4, columnWidth=[(1, 50), (2, 33), (3, 33), (4, 33)] ) cmds.button( label='rotate', command=quickConnectionRotate) cmds.button( label='X', command=quickConnectionRotateX) cmds.button( label='Y', command=quickConnectionRotateY) cmds.button( label='Z', command=quickConnectionRotateZ) cmds.button( label='translate', command=quickConnectionTranslation) cmds.button( label='X', command=quickConnectionTranslationX) cmds.button( label='Y', command=quickConnectionTranslationY) cmds.button( label='Z', command=quickConnectionTranslationZ) cmds.setParent( '..' ) cmds.setParent( '..' ) #################################################################### #################################################################### cmds.frameLayout( label='Lock Connection', labelAlign='center', borderStyle='in') cmds.rowColumnLayout( numberOfColumns=5, columnWidth=[(1, 50), (2, 17), (3, 17), (4, 17), (5, 50)] ) cmds.button( label='rotate', command=quickLockRotate) cmds.button( label='X', command=quickLockRotateX) cmds.button( label='Y', command=quickLockRotateY) cmds.button( label='Z', command=quickLockRotateZ) cmds.button( label='Unlock', command=quickUnRotate) cmds.button( label='translate', command=quickLockTranslation) cmds.button( label='X', command=quickLockTranslationX) cmds.button( label='Y', command=quickLockTranslationY) cmds.button( label='Z', command=quickLockTranslationZ) cmds.button( label='Unlock', command=quickUnTranslate) cmds.text (label='') cmds.button( label='S', command=quickLockScale) cmds.button( label='U', command=quickUnScale) cmds.button( label='V', command=quickLockVis) cmds.button( label='Unlock', command=quickUnVis) cmds.setParent( '..' ) cmds.setParent( '..' ) cmds.showWindow()