Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from pymel.core import *
- import math
- def getDist(a,b):
- s1t = a.getTranslation()
- s2t = b.getTranslation()
- dist = math.sqrt((s2t[0] - s1t[0])**2 + (s2t[1] - s1t[1])**2 + (s2t[2] - s1t[2])**2)
- return dist
- def getAngle1(a,b):# RETURNS averaged ANGLE
- l1 = spaceLocator()
- pc1 = pointConstraint(a,l1)
- l2 = spaceLocator()
- pc2 = pointConstraint(b,l2)
- ac = aimConstraint(l2,l1,aim = [0,1,0], u=[0,1,0])
- r1 = a.getRotation()
- r2 = l1.getRotation()
- x = r1[0]+r2[0]/2
- y = r1[1]+r2[1]/2
- z = r1[2]+r2[2]/2
- angle = x,y,z
- delete(l1,l2,pc1,pc2,ac)
- return angle
- def getAngle(a,b):# RETURNS RAW ANGLE
- l1 = spaceLocator()
- pc1 = pointConstraint(a,l1)
- l2 = spaceLocator()
- pc2 = pointConstraint(b,l2)
- ac = aimConstraint(l2,l1,aim = [0,1,0], u=[0,1,0])
- r1 = a.getRotation()
- r2 = l1.getRotation()
- x = r1[0]+r2[0]/2
- y = r1[1]+r2[1]/2
- z = r1[2]+r2[2]/2
- angle = x,y,z
- delete(l1,l2,pc1,pc2,ac)
- return r2
- sl = selected()
- moveAmnt = 3
- start = 1
- iAmnt = 10
- for i in range(0,iAmnt):
- print i
- if start:
- pap = sl[0]
- start = 0
- else:
- pap = dup
- a = getAngle(sl[0],sl[1])
- d = getDist(sl[0], sl[1])
- dup = duplicate(sl[0])
- move(dup,[0,moveAmnt,0],r=1,os=1,wd=1
- rotate(dup, a)
- if not start:
- parent(dup, papa)
Advertisement
Add Comment
Please, Sign In to add comment