cwisbg

Cuber_v1.2

Aug 10th, 2012
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.45 KB | None | 0 0
  1. # Cuber_v1.2
  2.  
  3. # cwisbg
  4. from pymel.core import *
  5. import maya.cmds as mc
  6. import random as r
  7. import time
  8. start = time.clock()
  9. # Prompt Box
  10. promptBox1 = promptDialog(t= 'Cuber_v.1',bgc=[.5,.7,.8],
  11.      button = 'create',
  12.      m= "How manny Cubes would you like?")
  13. if promptBox1 == 'create':
  14.      promptReturn = promptDialog(query=True, text=True)          
  15.  
  16. # Scene Clean
  17. cuberCheck = mc.ls("cuber_grp")
  18. papNm = "PapaCube"
  19. if cuberCheck:
  20.     cuberChildren = listRelatives(cuberCheck, c=1)
  21.     ittor = len(cuberChildren)
  22.     papNm = "{0}{1}".format(papNm, ittor)
  23.     papaCube = [polyCube( n= papNm, w = 1, h = 1, d = 1)[0]]
  24.     parent(papaCube, cuberGrp)
  25. else:
  26.     cuberGrp = group(n = "cuber_grp", em=1)
  27.     papaCube = [polyCube( n= "{0}0".format(papNm),w = 1, h = 1, d = 1)[0]]
  28.     parent(papaCube, cuberGrp)
  29.        
  30. rotAmnt = 90
  31. rot_direction = [[rotAmnt,0,0],[0,rotAmnt,0],[0,0,rotAmnt]]
  32. rotLen = len(rot_direction) -1
  33. moveAmnt = 1
  34. move_direction = [[moveAmnt,0,0],[0,moveAmnt,0],[0,0,moveAmnt],
  35. [-moveAmnt,0,0],[0,-moveAmnt,0],[0,0,-moveAmnt]]
  36. moveDir_len = len(move_direction)-1
  37.  
  38. lastPlaceCheck = ls("last_saved_lct")
  39. lpTracker = 0
  40. lP = []
  41. if lastPlaceCheck:
  42.     lP = lastPlaceCheck[0].getTranslation()
  43.     delete("last_saved_lct")    
  44. # Cuber - Cube creation        
  45. z = int(promptReturn) # number of cubes
  46. x = 0 # count down to
  47. i = 1 # itterator
  48. while x <= z:  
  49.         if x == 0:
  50.             last = papaCube[0]  
  51.         else:
  52.             last = cube        
  53.         rando = r.randint(0,moveDir_len)
  54.         randoR = r.randint(0, rotLen)
  55.  
  56.         moveDir = move_direction[rando]
  57.  
  58.         lastPlace = last.getTranslation("world")
  59.         lastPlus = [sum(l) for l in zip(moveDir, lastPlace)]
  60.  
  61.         cube = duplicate(papaCube, n = '{0}_cube_{1}'.format(papNm,x))[0]
  62.        
  63.         if lpTracker == 0 and x == 0:
  64.             print "here"
  65.             move(cube, lP ,os=1, wd = 1)
  66.         else:
  67.             move(cube, lastPlus, os=1, wd = 1 )
  68.         cuberCheck = mc.ls("cuber_grp")
  69.         cuberChildren = listRelatives(cuberCheck, c=1)
  70.            
  71.         for cb in cuberChildren:
  72.             samePlace = 0
  73.             while samePlace:
  74.                 cubeCurrent = cube.getTranslation()    
  75.                 cbTrans = cb.getTranslation()
  76.                 if cbTrans == cubeCurrent:
  77.                     move(cube, lastPlus, os=1, wd = 1 )
  78.                     print "same place"
  79.                 else:
  80.                     samePlace += 1
  81.         #rotate(cube, rot_direction[randoR], r=1)
  82.         #a = parent(cube,papaCube[x])  
  83.         #papaCube.append(cube)
  84.         #parent(cube, "cuber_grp")
  85.         refresh(cw=1)
  86.         i += 1
  87.         x += 1
  88.         lpTracker = 1
  89.        
  90.        
  91. """    
  92. # selecting
  93. mc.select(cl=True) #clear selection
  94. b = z # so z is not overwritten
  95. while b >= 1:
  96.   mc.refresh(cw=1)  
  97.   sl = mc.select(papaCube[b], add =1 )
  98.   b -= 1 # Temp Proggress bar
  99. """
  100.  
  101. cubeCombine = listRelatives("cuber_grp")
  102. lastPlace = cubeCombine[-1].getTranslation()
  103. lastSave = spaceLocator(n = "last_saved_lct")
  104. move(lastSave, lastPlace, os=1, wd = 1 )
  105. parent(lastSave, "cuber_grp")
  106.  
  107.  
  108. combinedCubes = polyUnite( cubeCombine, n = "test", mergeUVSets = 1, ch=0)
  109. polyMergeVertex(combinedCubes, d= .01, am=1, ch=0)
  110. polyNormal(combinedCubes, normalMode = 2, userNormalMode = 0, ch=1)
  111. polySoftEdge(combinedCubes, a=180, ch=0)
  112.  
  113.  
  114. elapsed = (time.clock() - start)
  115. elapsed = elapsed/60
  116. print "done, took:", elapsed
Advertisement
Add Comment
Please, Sign In to add comment