Wednesday, October 8, 2008

Another Grid

SA: This is another Grid I was working. Note: I have the redraw disabled and enabled, it will take for-ev-er if you comment them out

Option Explicit
'Script written by STeveA
'Script Version: 08 October 2008
Call GridOfObjects ()
Sub GridOfObjects ()
Rhino.EnableRedraw (False)
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.01)
arrRef(0) = Array(i,j,0)
arrRef(1) = Array(i,j,1)
arrTarg(0) = Array(i,j,0)
arrTarg(1) = Array(0,0,3)
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(t,s,0), Array(t,s,2), 0.01)
arrRef2(0) = Array(t,s,0)
arrRef2(1) = Array(t,s,1)
arrTarg2(0) = Array(t,s,0)
arrTarg2(1) = Array(10,10,3)
Call Rhino.OrientObject (arrObjects2 , arrRef2, arrTarg2)
Next
Next
Dim arrObjects3 , a, b
Dim arrRef3(1), arrTarg3(1)
For a = 0 To 20
For b = 0 To 20
arrObjects3 = Rhino.AddCylinder (Array(a,b,0), Array(a,b,2), 0.01)
arrRef3(0) = Array(a,b,0)
arrRef3(1) = Array(a,b,1)
arrTarg3(0) = Array(a,b,0)
arrTarg3(1) = Array(20,20,3)
Call Rhino.OrientObject (arrObjects3 , arrRef3, arrTarg3)
Next
Next
Dim arrObjects4 , f, u
Dim arrRef4(1), arrTarg4(1)
For f = 0 To 20
For u = 0 To 20
arrObjects4 = Rhino.AddCylinder (Array(f,u,0), Array(f,u,2), 0.01)
arrRef4(0) = Array(f,u,0)
arrRef4(1) = Array(f,u,1)
arrTarg4(0) = Array(f,u,0)
arrTarg4(1) = Array(0,20,3)
Call Rhino.OrientObject (arrObjects4 , arrRef4, arrTarg4)
Next
Next
Dim arrObjects5 , v, d
Dim arrRef5(1), arrTarg5(1)
For v = 0 To 20
For d = 0 To 20
arrObjects5 = Rhino.AddCylinder (Array(v,d,0), Array(v,d,2), 0.01)
arrRef5(0) = Array(v,d,0)
arrRef5(1) = Array(v,d,1)
arrTarg5(0) = Array(v,d,0)
arrTarg5(1) = Array(10,10,3)
Call Rhino.OrientObject (arrObjects5 , arrRef5, arrTarg5)
Next
Next
Dim arrObjects6 , m, e
Dim arrRef6(1), arrTarg6(1)
For m = 0 To 20
For e = 0 To 20
arrObjects6 = Rhino.AddCylinder (Array(m,e,0), Array(m,e,2), 0.01)
arrRef6(0) = Array(m,e,0)
arrRef6(1) = Array(m,e,1)
arrTarg6(0) = Array(m,e,0)
arrTarg6(1) = Array(20,0,3)
Call Rhino.OrientObject (arrObjects6 , arrRef6, arrTarg6)
Next
Next
Dim arrObjects7 , h, r
Dim arrRef7(1), arrTarg7(1)
For h = 0 To 20
For r = 0 To 20
arrObjects7 = Rhino.AddCylinder (Array(h,r,0), Array(h,r,2), 0.01)
arrRef7(0) = Array(h,r,0)
arrRef7(1) = Array(h,r,1)
arrTarg7(0) = Array(h,r,0)
arrTarg7(1) = Array(0,10,3)
Call Rhino.OrientObject (arrObjects7 , arrRef7, arrTarg7)
Next
Next
Dim arrObjects8 , n, o
Dim arrRef8(1), arrTarg8(1)
For n = 0 To 20
For o = 0 To 20
arrObjects8 = Rhino.AddCylinder (Array(n,o,0), Array(n,o,2), 0.01)
arrRef8(0) = Array(n,o,0)
arrRef8(1) = Array(n,o,1)
arrTarg8(0) = Array(n,o,0)
arrTarg8(1) = Array(10,0,3)
Call Rhino.OrientObject (arrObjects8 , arrRef8, arrTarg8)
Next
Next
Dim arrObjects9 , l, y
Dim arrRef9(1), arrTarg9(1)
For l = 0 To 20
For y = 0 To 20
arrObjects9 = Rhino.AddCylinder (Array(l,y,0), Array(l,y,2), 0.01)
arrRef9(0) = Array(l,y,0)
arrRef9(1) = Array(l,y,1)
arrTarg9(0) = Array(l,y,0)
arrTarg9(1) = Array(20,10,3)
Call Rhino.OrientObject (arrObjects9 , arrRef9, arrTarg9)
Next
Next
Dim arrObjects10 , p, q
Dim arrRef10(1), arrTarg10(1)
For p = 0 To 20
For q = 0 To 20
arrObjects10 = Rhino.AddCylinder (Array(p,q,0), Array(p,q,2), 0.01)
arrRef10(0) = Array(p,q,0)
arrRef10(1) = Array(p,q,1)
arrTarg10(0) = Array(p,q,0)
arrTarg10(1) = Array(10,20,3)
Call Rhino.OrientObject (arrObjects10 , arrRef10, arrTarg10)
Next
Next
Rhino.EnableRedraw (True)
End Sub

Tuesday, October 7, 2008

Organic cylinders

Check this script out. This is another version of the tilted grid iteration:

Option Explicit
'Script written by
'Script copyrighted by '
Script version Tuesday, October 07, 2008 6:27:54 PM

Call Main()
Sub Main()
Dim y, x, aref(1), arefB(1) Dim aref1(1), arefB2(1), arrobjects3, arrobjects4
For x = 0 To 20
For y = 0 To 20
'arrObjects3 = Rhino.Addcylinder(Array(x,y,0), Array(x,y,2),.1)
arrObjects4 = Rhino.Addcylinder(Array(y,x,0), Array(x,x,2),.1)

aref1(0) = Array(x,x,1)
aref1(1) = Array(x,x,1)
arefB2(0) = Array(y,x,0)
arefB2(1) = Array(0,0,3)

Call Rhino.OrientObject (arrobjects4, (aref1), (arefB2))

Next
Next

End Sub

Spiraling Inward: Script


Option Explicit
'Script written by Savannah Bridge
'Script version Monday, October 06, 2008 11:47:39 PM
Call Main()
Sub Main()
Rhino.EnableRedraw (False)
'Here we call the Sub Routine Spirals specifiying
'the minimum and maximum depth of the curves.

Spirals Null, 0, 3
Rhino.EnableRedraw (True)
End Sub

Sub Spirals(spiral, depth, maxdepth)

If depth = 0 Then
Rhino.Command "Spiral f 0,0,0 1 1,1,1 M=Pitch P=2 10"
'here we make sure the last created object has only one object,
'rather than an array.

spiral = Rhino.LastCreatedObjects ()(0)
End If

If depth < color="#ccccff">'divide the original spiral and add points
points = Rhino.DivideCurve (spiral,8,True)

Dim i
'This loop just scales the original spiral to 1/4 the
'size and creates a copy at all points.

For i = 0 To Ubound(points)
Dim newSpiral
newSpiral = Rhino.ScaleObject (spiral, points(i), Array(0.25, 0.
25, 0.0), True)
Spirals newSpiral, depth+1, maxDepth
Next
End If
End Sub

Tilting grid iterations









Option Explicit
'Script written by Simeon Stevens
'Script version Friday, October 07, 2008 5:35:03 PM
Call GridOfObjects()
Sub GridOfObjects()
Dim arrObjects, arrObjects2, i, j, y, x, line, aref(1), arefB(1)
Dim aref1(1), arefB2(1), arrobjects3, arrobjects4
'For i = 0 To 20
'For j = 0 To 20
'arrObjects = Rhino.Addcylinder(Array(i,j,0), Array(i,j,2),.1)
'arrObjects2 = Rhino.Addcylinder(Array(i,j,0), Array(i,j,0),.1)
'aref(0) = Array(i,j,0)
'aref(1) = Array(i,j,1)
'arefB(0) = Array(i,j,0)
'arefB(1) = Array(5,5,3)
'Call Rhino.OrientObject (arrobjects, aref, arefb)
'Next
'Next
For x = 0 To 20
For y = 0 To 20
arrObjects3 = Rhino.Addcylinder(Array(x,y,0),
Array(x,y,2),.1)
arrObjects4 = Rhino.Addcylinder(Array(y,x,0),
Array(y,x,2),.1)
aref1(0) = Array(y,x,0)
aref1(1) = Array(y,x,1)
arefB2(0) = Array(y,x,0)
arefB2(1) = Array(0,0,3)
Call Rhino.OrientObject (arrobjects3, (aref1), (arefB2))
Next
Next
End Sub
Page


hott messssss























Option Explicit
Call Main()


Sub Main()
Dim poly1, poly2, poly3, arrPoly1Points, arrPoly2Points, arrpoly3points, i, n, r, q


n=60


r=20


q=55


Rhino.Command "Polygon N=" & n & " w0,0,0 w0,12,0" poly1 = Rhino.LastCreatedObjects()(0)


Rhino.Command "Polygon R=" & r & " w0,0,25 w0,12,25" poly2 = Rhino.LastCreatedObjects()(0)


Rhino.command "polygon Q=" & q & "w0,0,60 w0,12,50"


poly3 = Rhino.lastcreatedobjects()(0)


arrPoly1Points = Rhino.PolylineVertices(poly1) arrPoly2Points = Rhino.PolylineVertices(poly2)


arrpoly3points = Rhino.polylinevertices(poly3)
Dim arrbasepts, arrtopbasepts, dblradiusdblradius = .125


For i = 0 To q


Rhino.addcylinder arrpoly2points(n), arrpoly3points(i), dblradius


Next


End Sub

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

Butterfly