cwisbg

# test dup

Sep 15th, 2016
425
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.41 KB | None | 0 0
  1. from pymel.core import *
  2. import math
  3. def getDist(a,b):
  4.     s1t = a.getTranslation()
  5.     s2t = b.getTranslation()
  6.     dist = math.sqrt((s2t[0] - s1t[0])**2 + (s2t[1] - s1t[1])**2 + (s2t[2] - s1t[2])**2)
  7.     return dist
  8. def getAngle1(a,b):# RETURNS averaged ANGLE
  9.     l1 = spaceLocator()
  10.     pc1 = pointConstraint(a,l1)
  11.     l2 = spaceLocator()
  12.     pc2 = pointConstraint(b,l2)
  13.     ac = aimConstraint(l2,l1,aim = [0,1,0], u=[0,1,0])
  14.     r1 = a.getRotation()
  15.     r2 = l1.getRotation()
  16.     x = r1[0]+r2[0]/2
  17.     y = r1[1]+r2[1]/2
  18.     z = r1[2]+r2[2]/2
  19.     angle = x,y,z
  20.     delete(l1,l2,pc1,pc2,ac)
  21.     return angle
  22. def getAngle(a,b):# RETURNS RAW ANGLE
  23.     l1 = spaceLocator()
  24.     pc1 = pointConstraint(a,l1)
  25.     l2 = spaceLocator()
  26.     pc2 = pointConstraint(b,l2)
  27.     ac = aimConstraint(l2,l1,aim = [0,1,0], u=[0,1,0])
  28.     r1 = a.getRotation()
  29.     r2 = l1.getRotation()
  30.     x = r1[0]+r2[0]/2
  31.     y = r1[1]+r2[1]/2
  32.     z = r1[2]+r2[2]/2
  33.     angle = x,y,z
  34.     delete(l1,l2,pc1,pc2,ac)
  35.     return r2
  36. sl = selected()
  37. moveAmnt = 3
  38. start = 1
  39. iAmnt = 10
  40. for i in range(0,iAmnt):
  41.     print i
  42.     if start:
  43.        
  44.         pap = sl[0]
  45.         start = 0
  46.        
  47.     else:
  48.         pap = dup
  49.     a = getAngle(sl[0],sl[1])
  50.     d = getDist(sl[0], sl[1])
  51.     dup = duplicate(sl[0])
  52.    
  53.     move(dup,[0,moveAmnt,0],r=1,os=1,wd=1
  54.     rotate(dup, a)
  55.     if not start:
  56.         parent(dup, papa)
Advertisement
Add Comment
Please, Sign In to add comment