

Entries tagged as ‘Jae Heon Lim’
homework + project proposal
November 7, 2008 · Leave a Comment
Call Delete()
Call Main()
Sub Main()
Dim arrLoc : arrLoc = Rhino.GetPoint (“Select your locator”)
Dim dblWidth : dblWidth = Rhino.GetReal (“how wide Is your material”,.125)
Dim arrPt, i, j, k, dblDist, arrNewPta, arrNewPtb, arrNewPtc, strCrva(), strCrvb(), counter, arrFinalCrvsa, arrFinalCrvsb
Dim strSrfa, arrSrfsa, strSrfb, arrSrfsb, strUnrollSrf
For i = 0 To 72 Step 24
For j = 0 To 168 Step 24
arrPt = array(i,j,120)
dblDist = Rhino.Distance (arrLoc, arrPt)
dblDist = dblDist/12
If dblDist > 8.5 Then dblDist = 8.5
If dblDist < 2 Then dblDist = 2
counter = 0
For k = -180 To 90 Step 90
ReDim Preserve strCrva(counter)
ReDim Preserve strCrvb(counter)
arrNewPta = Rhino.Polar (arrPt, k, dblDist)
arrNewPtb = array(arrNewPta(0),arrNewPta(1),arrNewPta(2)-(dblDist*sin(i*j/48))*4)
arrNewPtc = array(arrPt(0),arrPt(1),arrPt(2)-(dblDist*cos(i*j/48)*4))
strCrva(counter) = Rhino.AddLine (arrPt, arrNewPta)
strCrvb(counter) = Rhino.AddCurve (array(arrNewPta,arrNewPtb,arrNewPtc))
counter = counter+1
Next
arrFinalCrvsa = Rhino.JoinCurves (array(strCrva(0),strCrvb(0),strCrva(2),strCrvb(2)),True)
arrFinalCrvsb = Rhino.JoinCurves (array(strCrva(1),strCrvb(1),strCrva(3),strCrvb(3)),True)
arrSrfsa = Rhino.AddPlanarSrf (arrFinalCrvsa)
For Each strSrfa In arrSrfsa
Call Rhino.SelectObject (strSrfa)
Call Rhino.Command (“unrollsrf e=n enter”)
Call Rhino.UnselectAllObjects
strUnrollSrf = rhino.FirstObject
Call Unrolla(strUnrollSrf, array(i*2,j*2),dblWidth)
Next
arrSrfsb = Rhino.AddPlanarSrf (arrFinalCrvsb)
For Each strSrfb In arrSrfsb
Call Rhino.SelectObject (strSrfb)
Call Rhino.Command (“unrollsrf e=n enter”)
Call Rhino.UnselectAllObjects
strUnrollSrf = rhino.FirstObject
Call Unrollb(strUnrollSrf, array(i*2,(j*2)-17),dblWidth)
Next
Next
Next
End Sub
Sub Delete()
Call Rhino.Command (“selall “)
Call Rhino.Command (“delete “)
End Sub
Function Unrolla(strSrf,arrLoc,dblWidth)
Dim arrBoundingBox, strCrv, strCrvb, arrCrvs
arrBoundingBox = Rhino.BoundingBox (strSrf)
arrCrvs = Rhino.DuplicateSurfaceBorder (strSrf)
Call Rhino.DeleteObject (strSrf)
strCrv = Rhino.AddLine (array(arrBoundingBox(0)(0),(arrBoundingBox(0)(1)+arrBoundingBox(3)(1))/2),array((arrBoundingBox(0)(0)+arrBoundingBox(1)(0))/2,(arrBoundingBox(1)(1)+arrBoundingBox(2)(1))/2))
Call Rhino.MoveObject (strCrv, array(0,0),array(arrLoc(0),arrLoc(1)+dblWidth/2))
strCrvb = Rhino.CopyObject (strCrv, array(0,0),array(0,0-(dblWidth)))
Call Rhino.MoveObjects (arrCrvs, array(0,0),arrLoc)
Call Rhino.addLine (rhino.CurveStartPoint (strCrv),rhino.CurveStartPoint (strCrvb))
Call Rhino.addLine (rhino.CurveEndPoint (strCrv),rhino.CurveEndPoint (strCrvb))
Call Rhino.AddText (arrLoc(0)/48 & arrLoc(1)/48, array(arrLoc(0),(arrLoc(1))-25,0),6)
End Function
Function Unrollb(strSrf,arrLoc,dblWidth)
Dim arrBoundingBox, strCrv, strCrvb, arrCrvs
arrBoundingBox = Rhino.BoundingBox (strSrf)
arrCrvs = Rhino.DuplicateSurfaceBorder (strSrf)
Call Rhino.DeleteObject (strSrf)
strCrv = Rhino.AddLine (array(arrBoundingBox(1)(0),(arrBoundingBox(0)(1)+arrBoundingBox(3)(1))/2),array((arrBoundingBox(0)(0)+arrBoundingBox(1)(0))/2,(arrBoundingBox(1)(1)+arrBoundingBox(2)(1))/2))
Call Rhino.MoveObject (strCrv, array(0,0),array(arrLoc(0),arrLoc(1)+dblWidth/2))
strCrvb = Rhino.CopyObject (strCrv, array(0,0),array(0,0-(dblWidth)))
Call Rhino.MoveObjects (arrCrvs, array(0,0),arrLoc)
Call Rhino.addLine (rhino.CurveStartPoint (strCrv),rhino.CurveStartPoint (strCrvb))
Call Rhino.addLine (rhino.CurveEndPoint (strCrv),rhino.CurveEndPoint (strCrvb))
End Function

Categories: Homework
Tagged: Jae Heon Lim
homework + project proposal_Jae Heon Lim
October 29, 2008 · Leave a Comment
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.
Categories: Homework
Tagged: Jae Heon Lim




