smh1988
New Member
دارم thread ها رو تو مایا با python پیاده سازی میکنم .
یه برنامه ی ساده نوشتم فقط برای تست که خیلی خوب جواب داد ( ولی با توابع maya.cmds در تعامل نبود )
ولی به محض اینکه چند تا از توابع maya.cmds رو می زارم توش مایا هم توش میمونه !
منظورو اینه که برنامه کاملا معلق میمونه ولی سیستم عامل هنگ نمی کنه
تو این قسمت سعی دارم 121 عدد pSphere رو به صورت threadوار به ارتفاع 20 برسونم
what can I do !
یه برنامه ی ساده نوشتم فقط برای تست که خیلی خوب جواب داد ( ولی با توابع 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 !