Tuesday, October 7, 2008

Bracelet


Creation:
Call GridOfObjects()
Sub GridOfObjects()
Dim arrObjects, i, j
Dim arrRef(1), arrTarg(1)
For i = 0 To 20 For j = 0 To 20
arrObjects = Rhino.AddCylinder(Array(i,j,0), Array(i,j,2), 0.05)
arrRef(0) = Array(i,j,0)
arrRef(1) = Array(j,i,1)
arrTarg(0) = Array(j,i,0)
arrTarg(1) = Array(15,15,10)
Call Rhino.OrientObject(arrObjects, arrRef, arrTarg)
Next
Next
Dim arrObjects2, t, s
Dim arrRef2(1), arrTarg2(1)
For t = 0 To 20
For s = 0 To 20
arrObjects2 = Rhino.AddCylinder(Array(s,t,0), Array(s,t,2), 0.05)
arrRef2(0) = Array(t,s,0)
arrRef2(1) = Array(t,s,1)
arrTarg2(0) = Array(t,s,0)
arrTarg2(1) = Array(5,5,10)
Call Rhino.OrientObject(arrObjects2, arrRef2, arrTarg2)
Next
Next
End Sub
Rotation:
Call Main()
Sub Main()
Dim strObSel, arrCent
Dim arrRot, arrObjRot
Dim t strObSel = Rhino.GetObjects("Be Careful, they're heavy",16)
arrRot = random(45,90)
If Not IsNull(strObSel) Then
For t = 0 To UBound(strObSel)
arrRot = random(10,1000)
arrCent = Rhino.SurfaceAreaCentroid(strObSel(t))
arrObjRot = Rhino.RotateObject(strObSel(t), arrCent(0), arrRot, Array(1,1,1))
Next
rhino.print "Is your back ok?"
End If
End Sub
Function random(low, up)
Randomize
random = (up / low) + Rnd
End Function

No comments: