Daily Archives: October 29, 2008

EunKyoung Kim_ week1 vases

Imagining to use the same size of base material, all the height of the base is same and not exceeding the limit of it. The vertical position of the neck (converging point) is climbing and the size of opening is getting smaller related to the distance from the converging point. 
 
Explicit
‘Script added by EunKyoung.Kim
‘Script copyrighted by EK2
‘Script version Tuesday, October 28, 2008 4:31:06 PM
Call Cleareverything()
Call Main()
Sub Main()
 Dim arrPlane, i, j, strCrv(), strInnerCrv(), strSrf1, strSrf2, arrLftSrf1, arrLftSrf2, arrLftSrf3
 For j = 0 To 5
  For i = 0 To 10
   ReDim Preserve strCrv(i)
   ReDim Preserve strInnerCrv(i)
   arrPlane = Rhino.PlaneFromPoints (Array(0,j*25,i*5), Array(1,j*25,i*5), Array(0,j*25+1,i*5))
   If i < j+1 Then
    strCrv(i) = Rhino.AddCircle (arrPlane, (15-i)/2)
    strInnerCrv(i) = Rhino.AddCircle (arrPlane, (15-i)/2-1)
    If i = 0 Then
     Call Rhino.MoveObject (strInnerCrv(i),Array(0,0,0),Array(0,0,1))
    End If
   Else
    If i = j+1 Or i = j+2 Then
     strCrv(i) = Rhino.AddCircle (arrPlane, 3.0)
     strInnerCrv(i) = Rhino.AddCircle (arrPlane, 2.0)
    Else
     strCrv(i) = Rhino.AddCircle (arrPlane, i-(j+1))
     strInnerCrv(i) = Rhino.AddCircle (arrPlane, i-(j+1)-1)
    End If
   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
Sub Cleareverything()
 Call Rhino.Command(“SelAll”)
 Call Rhino.Command(“delete”)
End Sub

Hyunchang Cho – rotating vase

Option Explicit
‘Script written by HyunChang Cho
‘Script copyrighted by team H
‘Script version Tuesday, October 28, 2008 10:34:18 PM
Call Cleareverything()
Call Main()
Sub Main()
 Dim arrPlane, i, j, strCrv(), strInnerCrv(), strSrf1, strSrf2, arrLftSrf1, arrLftSrf2, arrLftSrf3
 For j = 0 To 5
  For i = 0 To 10
   ReDim Preserve strCrv(i)
   ReDim Preserve strInnerCrv(i)
   arrPlane = Rhino.PlaneFromPoints (array(0,j*25,i*(j+2)), array(1,j*25,i*(j+2)), array(0,j*25+1,i*(j+2)))
   If i < j+3 Then
    strCrv(i) = Rhino.AddCircle (arrPlane, (15-i)/3)
    strInnerCrv(i) = Rhino.AddCircle (arrPlane, (15-i)/3-1)
    If i = 0 Then
     Call rhino.MoveObject (strInnerCrv(i),array(0,0,0),array(0,0,1))
    End If
   Else
    If i < 2*j Then
     strCrv(i) = Rhino.AddCircle (arrPlane, 2.0)
     strInnerCrv(i) = Rhino.AddCircle (arrPlane, 1.0)
    Else
    strCrv(i) = Rhino.AddCircle (arrPlane, i)
    strInnerCrv(i) = Rhino.AddCircle (arrPlane, i-1)
    End If
   End If 
   
   If i > 0 Then
    Call Rhino.MoveObject (strCrv(i), array(0,j*25,i*(j+2)), array(0,j*25+(j+2),i*(j+2)))
    Call Rhino.MoveObject (strInnerCrv(i), array(0,j*25,i*(j+2)), array(0,j*25+(j+2),i*(j+2)))
    Call Rhino.RotateObject (strCrv(i), array(0,j*25,i*(j+2)), 12*i*(j+1))
    Call Rhino.RotateObject (strInnerCrv(i), array(0,j*25,i*(j+2)), 12*i*(j+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

Sub Cleareverything()
 Call Rhino.Command(“SelAll”)
 Call Rhino.Command(“delete”)
End Sub

cambodian vase

Call Main()
Sub Main()
Dim arrPlane, i, j, strCrv(), strInnerCrv(), strSrf1, strSrf2, arrLftSrf1, arrLftSrf2, arrLftSrf3
For j = 0 To 5
For i = 0 To 15
ReDim Preserve strCrv(i)
ReDim Preserve strInnerCrv(i)
arrPlane = Rhino.PlaneFromPoints (array(0,j*25,i*5), array(1,j*25,i*5), array(0,j*25+1,i*5))
If cos(i) < sin(j) Then
strCrv(i) = Rhino.AddCircle (arrPlane, 9.0)
strInnerCrv(i) = Rhino.AddCircle (arrPlane, 8.0)
If i = 0 Then
Call rhino.MoveObject (strInnerCrv(i),array(0,0,0),array(0,0,1))
End If
Else
strCrv(i) = Rhino.AddCircle (arrPlane, 4.0)
strInnerCrv(i) = Rhino.AddCircle (arrPlane, 3.0)
End If
If i = 0 Then
strSrf1 = Rhino.AddPlanarSrf (strCrv)
strSrf2 = Rhino.AddPlanarSrf (strInnerCrv)
End If
If i = 15 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

Project Proposal DREJ

Emily and I will be developing a vertical ecosystem created from a porous and planted structural block.  We are interested in the relationship between a product and the waste created in the fabrication of that product.  Specifically, we will be looking at milling a structural component and then using the particles created during the milling process to “stuff” back into the milled component to create a growing substrate for plants.

vase


Option Explicit
‘Script written by mark.bearak
‘Script copyrighted by dtls.Architecture
‘Script version Tuesday, October 21, 2008 1:08:31 PM

Call Main()
Sub Main()
Dim arrPlane, i, j, strCrv(), strInnerCrv(), strSrf1, strSrf2, arrLftSrf1, arrLftSrf2, arrLftSrf3
For j = 0 To 5
For i = 0 To 10
ReDim Preserve strCrv(i)
ReDim Preserve strInnerCrv(i)
arrPlane = Rhino.PlaneFromPoints (array(0+cos(i)*2+3,j*25,i*(j+1)), array(1,j*25,i*(j+1)), array(0,j*25+1,i*(j+1)))
If i < j+3 Then
strCrv(i) = Rhino.AddCircle (arrPlane, 10.0)
strInnerCrv(i) = Rhino.AddCircle (arrPlane, 9.0)
If i = 0 Then
Call rhino.MoveObject (strInnerCrv(i),array(0,0,0),array(0,0,1))
End If
Else
strCrv(i) = Rhino.AddCircle (arrPlane, 5.0)
strInnerCrv(i) = Rhino.AddCircle (arrPlane, 4.0)
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

Rika: vases… waves

‘Option Explicit
‘Script written by mark.bearak
‘Script modified by rika chaudhry
‘Script copyrighted by dtls.Architecture
‘Script version Tuesday, October 28, 2008

Call Main()
Sub Main()
 Dim arrPlane, arrPlane2, i, j, strCrv(), strInnerCrv()
 Dim intWidth : intWidth  = 8
 Dim intMatWidth : intMatWidth = .25
 Dim intTopWid : intTopWid = intWidth – 2
 For j = 0 To 5
  For i = 0 To 10
   ReDim Preserve strCrv(i)
   ReDim Preserve strInnerCrv(i)
   arrPlane = Rhino.PlaneFromPoints (Array(0,j*35,i*(j+1)), Array(1,j*35,i*(j+1)), Array(0,j*35+1,i*(j+1)))
   arrPlane2 = Rhino.PlaneFromPoints (Array(i+j,j*35,i*(j+1)), Array(i+j+1,j*35,i*(j+1)), Array(i+j,j*35+1,i*(j+1)))
   If i=j-4 Or i=j-2 Or i=j Or i=j+2 Or i=j+4  Then
    strCrv(i) = Rhino.Addellipse (arrPlane, intWidth+i-j,intWidth+i)
    strInnerCrv(i) = Rhino.Addellipse (arrPlane, intWidth+i-j-intMatWidth,intWidth+i-intMatWidth)
   Else
    strCrv(i) = Rhino.AddCircle (arrPlane2, intWidth+j-intTopWid)
    strInnerCrv(i) = Rhino.AddCircle (arrPlane2, intWidth+j-intTopWid-intMatWidth)
   End If
  Next
  Call Rhino.AddLoftSrf (strCrv,,,2)
  Call Rhino.AddLoftSrf (strInnerCrv,,,2)
  Call Rhino.deleteobjects (strCrv)
 Next
End Sub

Vase roots

added compression circles

Some vases: added compression circles

Initial idea... still to work

Initial idea... still to work

Option Explicit

Call Main()
Sub Main()
Dim i, j, k, n, v
Dim dblConv, arrPts(), arrPtsb(), circle, arrcircles(), strCrv
dblConv = 0.0174532925
Dim intLoop : intLoop = 10
ReDim dblRadius(intLoop)
Dim iterations : iterations = Rhino.GetInteger(“nr of iterations”,5)
If isNull (iterations) Then Exit Sub
Dim arrPlane

Rhino.EnableRedraw False

For v = 0 To iterations-1
For k = 0 To intLoop
dblRadius(k) = Rnd*10
If dblRadius(k) < 2 Then
dblRadius(k) = 2
End If
Next
For i = 0 To 36 Step 12
n=0
For j = 0 To intLoop
ReDim Preserve arrPts(j)
ReDim Preserve arrPtsb(j)
ReDim Preserve arrcircles(j)
arrPts(j) = (array(cos((i-n)*10*dblConv)*dblRadius(j)+50*v, (sin((i-n)*10*dblConv)*dblRadius(j))*-1, (j^1.2)*4))
arrPtsb(j) = (array(cos((i+n)*10*dblConv)*dblRadius(j)+50*v, (sin((i+n)*10*dblConv)*dblRadius(j))*-1, (j^1.2)*4))
arrPlane = PlaneFromPoints (array(50*v,0,(j^1.2)*4),array(1,0,(j^1.2)*4),array(0,1,(j^1.2)*4))
If j Mod 2 = 0 Then
arrcircles(j) = Rhino.AddCircle (arrPlane,dblRadius(j)+0.5)
Else
arrcircles(j) = Rhino.AddCircle (arrPlane,dblRadius(j)-0.5)
End If
n=n+1
Next

strCrv = Rhino.AddInterpCurve (arrPts)
Call Rhino.SelectObject (strCrv)
Call Rhino.Command (“pipe d 1 .25 enter enter”)
Call Rhino.unselectallobjects
Call Rhino.Deleteobject(strcrv)

For Each circle In arrcircles
Call Rhino.SelectObject (circle)
Call Rhino.Command (“pipe d .25 .25 enter enter”)
Call Rhino.unselectallobjects
Next

strCrv = Rhino.AddInterpCurve (arrPtsb)
Call Rhino.SelectObject (strCrv)
Call Rhino.Command (“pipe d 1 .25 enter enter”)
Call Rhino.unselectallobjects
Call Rhino.Deleteobject(strcrv)
Next
Next
Rhino.EnableRedraw True
End Sub

Jorge Barragan_Upside down vases

‘Option Explicit
‘Script written by mark.bearak
‘Script copyrighted by dtls.Architecture
‘Script version Tuesday, October 21, 2008 1:08:31 PM

Call Main()
Sub Main()
    Dim arrPlane, i, j, strCrv(), strInnerCrv(), strSrf1, strSrf2, arrLftSrf1, arrLftSrf2, arrLftSrf3
   
      For j = 0 To 5
      For i = 0 To 10
      ReDim Preserve strCrv(i)
      ReDim Preserve strInnerCrv(i)
      arrPlane = Rhino.PlaneFromPoints (Array(0,j*25,i*(j+1)), Array(1,j*25,i*(j+1)), Array(0,j*25+1,i*(j+1)))
      If i < j+3 Then
      strCrv(i) = Rhino.AddCircle (arrPlane, Log(10.0))
      strInnerCrv(i) = Rhino.AddCircle (arrPlane, Log(5.0))
      If i = 0 Then
      Call Rhino.MoveObject (strInnerCrv(i),Array(0,0,0),Array(0,0,1))
      End If
      Else
      strCrv(i) = Rhino.AddCircle (arrPlane,8.0)
      strInnerCrv(i) = Rhino.AddCircle (arrPlane, 6.0)
      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

 

 

 

Adrian Smith vase wk1

 

 

 

 

 

 

 

Call Main()
Sub Main()
Dim arrPlane, i, j, strCrv(), strInnerCrv(), strSrf1, strSrf2, arrLftSrf1, arrLftSrf2, arrLftSrf3
For j = 0 To 5
For i = 0 To 10
ReDim Preserve strCrv(i)
ReDim Preserve strInnerCrv(i)
 arrPlane = Rhino.PlaneFromPoints (Array(4*Cos(5*i),j*25+4*Sin(5*i),i*(j+3)), Array(1+4*Cos(5*i),j*25+4*Sin(5*i),i*(j+3)), Array(4*Cos(5*i),j*25+1+4*Sin(5*i),i*(j+3)))
  If i <= j Then
    strCrv(i) = Rhino.AddCircle (arrPlane, 8.0)
    strInnerCrv(i) = Rhino.AddCircle (arrPlane, 7.0)
  If i = 0 Then
    Call Rhino.MoveObject (strInnerCrv(i),Array(0,0,0),Array(0,0,1))
   End If
  Else
  strCrv(i) = Rhino.AddCircle (arrPlane, 5.0)
  strInnerCrv(i) = Rhino.AddCircle (arrPlane, 4.0)
   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

homework + project proposal_Jae Heon Lim

Option Explicit
‘Script modified by Jae Heon Lim
‘Script written by Mark Bearak
‘Script copyrighted by dtls.Architecture
‘Script version Tuesday, October 21, 2008 1:08:31 PM

Call Main()
Sub Main()
Dim arrPlane, i, j, strCrv(), strInnerCrv(), strSrf1, strSrf2, arrLftSrf1, arrLftSrf2, arrLftSrf3
For j = 0 To 5
For i = 0 To 10
ReDim Preserve strCrv(i)
ReDim Preserve strInnerCrv(i)
arrPlane = Rhino.PlaneFromPoints (array(0,j*40,i*(j+1)), array(1,j*40,i*(j+1)), array(0,j*40+1,i*(j+1)))
If i > j+1 Then
strCrv(i) = Rhino.AddCircle (arrPlane, 15.0)
strInnerCrv(i) = Rhino.AddCircle (arrPlane, 14.0)
If i = 0 Then
Call rhino.MoveObject (strInnerCrv(i),array(0,0,0),array(0,0,1))
End If
Else
strCrv(i) = Rhino.AddCircle (arrPlane, 5.0)
strInnerCrv(i) = Rhino.AddCircle (arrPlane, 4.0)
End If
If i=j+3 Then
strCrv(i)=Rhino.AddCircle(arrPlane, 14.0)
strInnerCrv(i)=Rhino.AddCircle(arrPlane, 13.0)
Call rhino.MoveObject (strCrv(i),array(0,0,0),array(6,0,0))
Call rhino.MoveObject (strInnerCrv(i),array(0,0,0),array(6,0,0))
End If
If i=j+2 Then
strCrv(i)=Rhino.AddCircle(arrPlane, 13.0)
strInnerCrv(i)=Rhino.AddCircle(arrPlane, 12.0)
Call rhino.MoveObject (strCrv(i),array(0,0,0),array(0,-5,0))
Call rhino.MoveObject (strInnerCrv(i),array(0,0,0),array(0,-5,0))
End If
If i=j+1 Then
strCrv(i)=Rhino.AddCircle(arrPlane, 10.0)
strInnerCrv(i)=Rhino.AddCircle(arrPlane, 9.0)
Call rhino.MoveObject (strCrv(i),array(0,0,0),array(4,0,0))
Call rhino.MoveObject (strInnerCrv(i),array(0,0,0),array(4,0,0))
End If
If i=j Then
strCrv(i)=Rhino.AddCircle(arrPlane, 16.0)
strInnerCrv(i)=Rhino.AddCircle(arrPlane, 15.0)
Call rhino.MoveObject (strCrv(i),array(0,0,0),array(0,-3,0))
Call rhino.MoveObject (strInnerCrv(i),array(0,0,0),array(0,-3,0))
End If
If i=j-1 Then
strCrv(i)=Rhino.AddCircle(arrPlane, 10.0)
strInnerCrv(i)=Rhino.AddCircle(arrPlane, 9.0)
Call rhino.MoveObject (strCrv(i),array(0,0,0),array(-4,0,0))
Call rhino.MoveObject (strInnerCrv(i),array(0,0,0),array(-4,0,0))
End If
If i=j-2 Then
strCrv(i)=Rhino.AddCircle(arrPlane, 14.0)
strInnerCrv(i)=Rhino.AddCircle(arrPlane, 13.0)
Call rhino.MoveObject (strCrv(i),array(0,0,0),array(0,5,0))
Call rhino.MoveObject (strInnerCrv(i),array(0,0,0),array(0,5,0))
End If
If i=j-3 Then
strCrv(i)=Rhino.AddCircle(arrPlane, 16.0)
strInnerCrv(i)=Rhino.AddCircle(arrPlane, 15.0)
Call rhino.MoveObject (strCrv(i),array(0,0,0),array(-6,0,0))
Call rhino.MoveObject (strInnerCrv(i),array(0,0,0),array(-6,0,0))
End If
If i = 0 Then
strCrv(i)=Rhino.AddCircle(arrPlane, 17.0)
strInnerCrv(i)=Rhino.AddCircle(arrPlane, 16.0)
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

For the project proposal, I would to make an attempt to represent mixtures of those two images above, which are Toyo Ito’s pavillion at Bruges, Belgium, and Zen space by Herzog de Meuron, by reinterpretating the spatial quality, and the parametric surface.