Option Explicit 'Script written by 'Script copyrighted by 'Script version Monday, February 02, 2009 8:11:02 PM Call Main() Sub Main() Call Rhino.EnableRedraw(False) Call ellipticaltorus(2,3,4, 40,20) Call Rhino.EnableRedraw(True) End Sub Function ellipticaltorus(a,b,c, countU,countV) ellipticaltorus = Null Dim i, j, q, r, u,v, x, y, z, arrOutput ReDim arrOutput(countU), arrStorage(countV) r=0 For i = 0 To 1 Step 1/(countU) q=0 For j = 0 To 1 Step 1/countV u = 2*PI*j v = 2*PI*i x = (c+a*cos(u))*cos(v) y = (c+a*cos(u))*sin(v) z = b*sin(u) arrStorage(q) = array(x,y,z) Call Rhino.addpoint(arrStorage(q)) q=q+1 Next arrOutput(r) = arrStorage r=r+1 Next ellipticaltorus = arrOutput End Function