threading in maya with python

smh1988

New Member
دارم thread ها رو تو مایا با python پیاده سازی میکنم .
یه برنامه ی ساده نوشتم فقط برای تست که خیلی خوب جواب داد ( ولی با توابع maya.cmds در تعامل نبود )

کد:
import thread           #to importing classes
from threading import * #all funcs from "thread" class will comes
n=0
def add(k,p):
    global n           
    for i in range(k):
        n=n+1
    print 'adder'+str(p) , n #process switching may happen between 'n' and 'add..
def test(k) :
    global n
    n=0
    th=[ Thread (target=add,args=(k,i)) for i in range (100) ]
    #creating a list of threads from 'add' function with k and p args .
    for t in th :
        t.start ()      #start() runs all threads 
    for t in th :
        t.join()        #waiting for them
    print 'in main' , n


ولی به محض اینکه چند تا از توابع maya.cmds رو می زارم توش مایا هم توش میمونه !
منظورو اینه که برنامه کاملا معلق میمونه ولی سیستم عامل هنگ نمی کنه
تو این قسمت سعی دارم 121 عدد pSphere رو به صورت threadوار به ارتفاع 20 برسونم
کد:
import maya.cmds
import thread
import time
from threading import *


def mover(p,a):
    tmp='pSphere'+str(p+1)
    for k in range(200):
        maya.cmds.move(0,k/10.0,0, tmp)
	maya.cmds.refresh()

def test() :
    th=[ Thread (target=mover,args=(i,0)) for i in range (10) ]
    for t in th :
        t.start ()
    for t in th :
        t.join()

what can I do !
:shock::cry:
 

smh1988

New Member
یه حرف تخصصی می خوام بزنم !
دوستانی که تحملشو ندارن نخونن !
از یه جایی خوندم که بهتره به جای python از خود maya استفاده کنم ( Maya Idle)
حالا یکی به من بگه چه جوری ؟
 

smspersia

Member
یه حرف تخصصی می خوام بزنم !
دوستانی که تحملشو ندارن نخونن !
از یه جایی خوندم که بهتره به جای python از خود maya استفاده کنم ( Maya Idle)
حالا یکی به من بگه چه جوری ؟

دقیقا منظورت از این تایپک چیه؟ کمک می خوای :green:



یکی از pSphere کپی کن تو اون زاویه ای که می خوای قرارش بده SHIFT+D بزن 200 بار
از تایپ کردنم راحتره
 

smh1988

New Member
من که گفتم تخصصیه !
نه عزیزم میخوام از threading تو مایا استفاده کنم نه اینکه duplicate کنم !:lol:
 

ARDNiri

Member
یه سوال :
تو کدی که نوشتی از ماژول thread استفاده کردی یاthreading ؟
 

smh1988

New Member
سوالتو متوجه نشدم
کلا می خوام 2 تا تابع رو در بین هم اجرا کنم !
 

جدیدترین ارسال ها

بالا