heath west: 081026_twistedVase

the design of this series of vases is based upon the controlled randomness of radial dimensions inserted into the logistics of the rhinoscript. in theory, each vase will be unique when compared to its neighbor. the material make up of the series may be easily 3d printed, as each form is a closed polysurface. yet, cnc processes of manufacturing such as molding, makes the series available for a variety of material possibilities.

Option Explicit
‘Script modified by heath west
‘Script written by mark.bearak
‘Script copyrighted by dtls.Architecture
‘Script version Tuesday, October 28, 2008 1:48:31 PM

Call Main()
Sub Main()
Dim arrPlane, i, j, strCrv(), strInnerCrv(), intRadius, dblTwist, arrDomain, strSrf1, strSrf2, arrLftSrf1, arrLftSrf2, arrLftSrf3
For j = 0 To 5
For i = 0 To 10
ReDim Preserve strCrv(i)
ReDim Preserve strInnerCrv(i)
intRadius = RandomNumber(2,10)
arrPlane = Rhino.PlaneFromPoints (array(0,j*25,i*7), array(1,j*25,i*7), array(0,j*25+1,i*7))
strCrv(i) = Rhino.AddCircle (arrPlane, intRadius)
strInnerCrv(i) = Rhino.AddCircle (arrPlane, intRadius-1)
arrDomain = Rhino.CurveDomain(strCrv(i))
dblTwist = arrDomain(0) + (arrDomain(1)/10)*i
Rhino.CurveSeam strCrv(i), dblTwist
If i = 0 Then
Call rhino.MoveObject (strInnerCrv(i),array(0,0,0),array(0,0,1))
End If
If i = 0 Then
strSrf1 = Rhino.AddPlanarSrf (strCrv)
strSrf2 = Rhino.AddPlanarSrf (strInnerCrv)
End If
If i = 10 Then
arrLftSrf1 = Rhino.AddLoftSrf (array(strCrv(i),strInnerCrv(i)))
End If
Next
arrLftSrf2 = Rhino.AddLoftSrf (strCrv,,,1)
arrLftSrf3 = Rhino.AddLoftSrf (strInnerCrv,,,1)
Call Rhino.JoinSurfaces (array(arrLftSrf1(0),arrLftSrf2(0),arrLftSrf3(0),strsrf1(0),strsrf2(0)),True)
Call Rhino.deleteobjects (strCrv)
Call Rhino.DeleteObjects (strInnerCrv)
Next
End Sub

Function RandomNumber(nMin, nMax)

RandomNumber = Null

If Not IsNumeric(nMin) Then Exit Function
If Not IsNumeric(nMax) Then Exit Function

If nMin >= nMax Then Exit Function
Randomize

RandomNumber = Int((nMax – nMin + 1) * Rnd + nMin)

End Function

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s