개체들을 Top뷰에서 보았을 때 투영한 면적을 계산하기 위해서는 Top뷰에서 실루엣을 추출하고 이들의 합쳐진 커브의 면적을 계산하면 된다. 아래 스크립트는 건폐율 계산을 쉽게할 수 있도록 Top뷰의 실루엣 라인의 결합한 커브를 만들어준다. 스크립트는 단순히 Silhouette, CurveBoolean명령의 조합으로 작성되었다.
Option Explicit
Call Main()
Sub Main()
Dim arrObjects, strView, arrBox, arrPt
arrObjects = RHino.GetObjects("Surface or Polysurfaces", 8 + 16)
If isNull(arrObjects) Then Exit Sub
strView = Rhino.CurrentView
Rhino.EnableRedraw False
Rhino.CurrentView "Top"
Rhino.SelectObjects arrObjects
arrBox = RHino.BoundingBox(arrObjects)
arrPt = Rhino.PointAdd(arrBox(2), Rhino.VectorCreate(arrBox(2), arrBox(0)))
Rhino.Command "_Silhouette _ProjectToCPlane _Yes _CurveBoolean _DeleteInput=_All _CombineRegion=_Yes W" & RHino.Pt2Str(arrPt) & " _Enter", False
Rhino.CurrentView strView
Rhino.EnableRedraw True
End Sub
No comments:
Post a Comment