August 11, 2009

Rhinoscript | CenterWall

Slab 커맨드가 벽체 모델링에 아주 유용하기는 하나 센터라인을 기준으로 그리는 경우에는 조금 불편한점이 있다. 아래는 Offset -> Loft -> ExtrudeSrf 과정의 Macro를 이용하여 센터라인을 기준으로 벽체를 만들수 있는 스크립트이다. 최근 실제 프로젝트에서는 복수의 커브를 입력으로 하는 스크립트를 제작하여 활용하여 모델링 시간을 줄일 수 있었다. VisualARQ가 완성도가 있어지면 별 필요없을듯...

Option Explicit
centerWall
Sub centerWall()

Rhino.Command "Offset Pause Bothsides"
Dim arrObjects, strObject, arrLoft, arrWall, Wall
arrObjects = Rhino.LastCreatedObjects

If IsNull(arrObjects) Then Exit Sub

For Each strObject In arrObjects
Rhino.SimplifyCurve strObject
Next

arrLoft = Rhino.AddLoftSrf (arrObjects,,,2,0)

Rhino.SelectObjects arrLoft

Rhino.Command "MergeAllFaces ExtrudeSrf DeleteInput=Yes"

Rhino.DeleteObjects arrObjects

arrWall = Rhino.LastCreatedObjects

Rhino.SurfaceIsocurveDensity arrWall(0) ,-1

End Sub

No comments: