Tag Archives: Adrian Smith

Toad Stools

parametric_page_1parametric_page_2parametric_page_31parametric_page_4parametric_page_5parametric_page_6

Toad Stool by Adrian, Rika, Sonal

 

stool1

Pseudo code

_input height

_adjust width (of base and top) according to height

_input number of sections

_loop depending on number of sections

_generate curves for sections

_generate surface from curves

_offset surface

_rotate sections around a point (angle based on number of sections)

_draw ellipse for seat based on width of top of sections

_make surface from ellipse, extrude

_get top profile of stool from rotated stool, use to cut notches in seat

_lay out for contour cut for mill

Final project proposal

Group :  Adrian, Sonal and Rika

Project:  Toadstools

Material: laminated wood/ chipboard, foam, MDF, maybe hardware.

Description: a series of stools that conforms to the physical aspects of the specific users. The stools come together to form a larger stoolscape.

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