Site Tools


등각투영 뷰 (Isometric View) 만들기

RhinoScript

Version: 4.0
Summary: RhinoScript 를 사용하여 등각투영 뷰 만들기

질문

AutoCAD 의 VPOINT 명령은 모델의 등각투영 뷰 (Isometric View)를 만듭니다. Rhino 에도 유사한 기능이 있습니까?

답변

VPOINT 명령은 사용자가 입력한 점을 사용하여 벡터를 만들며, 이 벡터는 도면이 보이는 방향을 정의합니다. Rhino 에서는 ViewportProperties 명령을 사용하여 이와 같은 기능을 실행할 수 있습니다. ViewportProperties 대화 상자에서, 먼저 뷰를 평행 투영 (parallel projection) 으로 설정합니다. 그 후, 대상 위치를 0,0,0 으로 설정하고 카메라 위치를 사용자가 모델을 바라보는 위치로 설정합니다.

이 과정이 번거롭다면, 다음의 RhinoScript subroutine 을 사용하셔도 좋습니다:

 Sub VPoint
 
   Dim strView
   strView = Rhino.CurrentView
   If Rhino.ViewProjection(strView) = 2 Then
     Rhino.Print "Viewport must be set for parallel projection."
     Exit Sub
   End If
 
   Dim arrOptions
   arrOptions = Array("NE Isometric", "NW Isometric", "SE Isometric", "SW Isometric", "User Defined")
 
   Dim strOption
   strOption = Rhino.ListBox(arrOptions, "Select viewing direction", "VPoint")
   If IsNull(strOption) Then Exit Sub
 
   Dim arrCamera
   Select Case strOption
     Case "NE Isometric" arrCamera = Array( 1, 1,1)
     Case "NW Isometric" arrCamera = Array(-1, 1,1)
     Case "SE Isometric" arrCamera = Array( 1,-1,1)
     Case "SW Isometric" arrCamera = Array(-1,-1,1)
     Case Else arrCamera = Rhino.GetPoint("View point")
   End Select
 
   If Not IsArray(arrCamera) Then Exit Sub
 
   Dim arrTarget, v
   arrTarget = Array(0,0,0)
   v = Rhino.VectorCreate(arrCamera, arrTarget)
   If Rhino.IsVectorTiny(v) Then Exit Sub
 
   Rhino.EnableRedraw False    
   Rhino.ViewCameraTarget strView, arrCamera, arrTarget
   Rhino.ZoomExtents strView
   Rhino.EnableRedraw True
 
 End Sub
ko/developer/scriptsamples/isometric.txt · Last modified: 2015/09/14 (external edit)