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 crossCap(2,4, 40,20) Call Rhino.EnableRedraw(True) End Sub Function crossCap(a,b, countU,countV) crossCap = 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 = PI*j v = PI*i x = 0.5*(a*sin(u)*sin(2*v)) y = a*sin(2*u)*(sin(v)^2) z = a*cos(2*u)*(sin(v)^2) arrStorage(q) = array(x,y,z) Call Rhino.addpoint(arrStorage(q)) q=q+1 Next arrOutput(r) = arrStorage r=r+1 Next crossCap = arrOutput End Function