Archive for April, 2010

Create Joints in center of mesh with PaintSelectTool

#Módulo que chama os comandos do maya. 
import maya.cmds as cmds

#Contador.
count=0

#Função que gera toda a ação principal.
def myLoop():
    #Variável que conta cada ciclo da função.
    global count
    #Seleciona o loop apartir do edge selecionado.
    cmds.SelectEdgeLoopSp()
    #Converte o loop de edges para vertices.
    cmds.ConvertSelectionToVertices()
    #Cria um clustes aparir da seleção de vertices.
    clu=cmds.cluster()
    #Variavel que guarda a posição do cluster no mundo.
    cluOrig=cmds.getAttr(clu[1]+".origin")
    #Limpa a seleção.
    cmds.select(clear=True)
    #Variavel que guarda o nome e cria o joint.
    jnt=cmds.joint(position=cluOrig[0]) 
    #Deleta o cluster.
    cmds.delete(clu)
    #Incrementa "1" na variavel count.
    count=count+1
    #Checa quantas vezes a função foi rodada. Se é a primeira vez que a função é 
    #rodada ele não linca o joint, pois ainda não existe nenhum para ser lincado.
    if count > 1:      
        cmds.parent(jnt, myCurrJNT)
    else:
        print"Nenhum pai"
    
    

#Cria a ferramenta PaintSelectTool com as seguintes configurações.
cmds.artSelectCtx(n='artCreateJoint', pm="tangent",r=0.2, sop='select', ads=False, ch=False, bsc='python "myCurrJNT=cmds.ls(selection=True)"' ,asc='python "myLoop()"')
#Chama a ferramenta criada anteriormente.
cmds.setToolTo('artCreateJoint')

List selection

#
#
import maya.cmds as mc 
selVs = mc.ls(selection=True) 
#
#

Window

#
# Se a janela existir ele a deleta.
if mc.window(myWin, exists=True):  
       mc.deleteUI("Rosenio")

myWin = mc.window("Rosenio", wh=(250,250) )  
#
#

Select shapes

#
#
shapeSel=cmds.listRelatives(shapes=True)  
#
#

Exemplo para fazer botões usando “for loop statement”

Referência tirada de um estudo do blog JustinAnimator’s thoughts.

#
#
import maya.cmds as mc  
   
#Função dos botões. Mostra o nome do botão.  
def mySoftIs (name):  
     print "Meu soft é %s" % name  
       
   
#Cria a nossa janela.  
if mc.window(myWin, exists=True):  
mc.deleteUI("Softwares")  
       
myWin = mc.window("Softwares", wh=(100,100) )  
mc.rowColumnLayout()  
   
#Variavel(array) que guarda os nomes.  
mySofts =('Maya', '3D', 'Zbrush', 'Photoshop')  
   
#Executa o loop de criação dos botões.  
for obj in mySofts:  
     mc.button(l=obj, c=lambda x, i=obj:mySoftIs(i))  
   
   
mc.showWindow(myWin) 
#
#

Hello world!

#
#
import maya.cmds as cmds

def helloGuys():
    print ('Hello World!!!')

helloGuys()
#
#
Return top