#go into solvers menu and create particle disk cache before you run script. #this script will calcuate the position or each particle and return a unit vector from math import sqrt import pickle import maya.cmds as cmds time = cmds.currentTime( query=True ) timeStep = 10 sel = cmds.ls (sl=True) print(sel[0]) ptcount = cmds.getAttr (sel[0] + '.count') print(ptcount) for i in range(0, ptcount): cmds.currentTime( str(time), edit=True ) cmds.select (sel[0] + '.pt[' + str(i) + ']', r=True) pos = cmds.getParticleAttr (sel[0] + '.pt[' + str(i) + ']' , at ='worldPosition' ) print(pos) cmds.currentTime( str(time+timeStep ), edit=True ) posTwo = cmds.getParticleAttr (sel[0] + '.pt[' + str(i) + ']' , at ='worldPosition' ) vx = pos[0] - posTwo[0] vy = pos[1] - posTwo[1] vz = pos[2] - posTwo[2] magnatude = sqrt((vx * vx) + (vy * vy) + (vz * vz)) normVector = [vx/magnatude,vy/magnatude,vz/magnatude] print(normVector)