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 helicoidSurface(2, 20, 2, 30,10) Call Rhino.EnableRedraw(True) End Sub Function helicoidSurface(a, b, c, countU,countV) helicoidSurface = Null 'a = radius: t = turns Dim i, j, q, r, u,v, x, y, z, arrOutput(), arrStorage() ReDim arrOutput(countU), arrStorage(countV) r=0 For i = -1 To 1 Step 1/(countU/2) q=0 For j = 0 To 1 Step 1/countV u = i*PI*c v = j*PI*c x = a*u*cos(v) y = a*u*sin(v) z = b*j arrStorage(q) = array(x,y,z) Call Rhino.addpoint(arrStorage(q)) q=q+1 Next arrOutput(r) = arrStorage r=r+1 Next helicoidSurface = arrOutput End Function