명령 매크로와 스크립팅

모든 Rhino의 명령들은 명령 매크로에서 사용될 수 있습니다. 명령 매크로는 명령 프롬프트에서 명령을 입력하여 실행하거나, 도구모음 단추, 바로 가기 키, 명령 앨리어스에서도 실행할 수 있으며, ReadCommandFile 명령을 사용하거나, Rhino의 명령 스트림에 Paste 명령으로 붙여넣어 실행할 수 있습니다.

명령 매크로 쓰기

명령행에 명령 시퀀스를 입력하듯이 명령 매크로를 작성합니다.

특수 문자

매크로에서의 뜻

(공백)

매크로의 공백 문자는 Enter 키를 누르는 것과 같은 역할을 합니다.

공백이 포함된 이름(또는 텍스트 문자열)을 스크립트로 작성할 때 명령 시퀀스가 중단되는 것을 방지하기 위하여 공백을 큰 따옴표로 둘러싸야 합니다.

예:

_-SelName "Table 01"

_-SelName Table 01

*
(별표 문자)

별표 문자는 Enter 키를 눌러 다시 시작하지 않고도 자동으로 반복하게 설정합니다.

!
(느낌표)

바로 전 명령을 취소합니다.

매크로 시작에 있는 느낌표(!)와 공백은 이전의 어떠한 명령도 취소합니다. 그 외의 위치에 있는 경우에는 매크로가 취소됩니다. 필요하다면 스크립트의 마지막에 느낌표를 사용하실 수 있습니다.

-
(하이픈 / 대시)

대화상자를 표시하지 않습니다.

일반적으로 모든 명령은 명령행에서 매크로로 실행할 수 있습니다(기본적으로 대화상자를 표시하는 명령 포함). 대화상자를 표시하지 않고 명령행 옵션을 사용하려면 명령 이름의 앞에 하이픈(-)을 붙입니다. DevLoft를 비롯한 일부 명령에서는 명령행에서만 사용 가능한 옵션이 있습니다.

_
(밑줄)

명령과 옵션을 영어로 실행합니다.

Rhino는 다양한 언어로 지역화되어 있습니다. 한국어 버전에서는 프롬프트, 명령 옵션, 대화상자, 메뉴 등이 번역되어 있습니다. 다른 일부 언어 버전의 경우, 명령도 번역되어 있습니다. 매크로가 전세계적으로 확실하게 실행되게 하려면, 영어로 매크로를 작성하고 모든 명령 이름과 옵션 앞에 _(밑줄)을 넣을 것을 제안합니다.

예:

Cerchio 3Punti 0,0,0 1,1,0 0,3,0

이 매크로는 이탈리아어 버전의 Rhino에서만 실행됩니다.

 

_Circle _3Point 0,0,0 1,1,0 0,3,0

이 매크로는 Rhino의 모든 언어 버전에서 실행됩니다.

  • 매크로를 작성하고 테스트하려면 MacroEditor를 사용하세요.

'
(아포스트로피)

다음에 오는 명령이 중첩할 수 있는 명령입니다.

뷰와 구성평면의 조작과, 개체 스냅은 중첩할 수 있습니다. 지오메트리를 만드는 명령은 중첩할 수 없습니다.

일회성 개체 스냅과 하위 개체 지정 필터는 자동적으로 중첩이 가능하며, 아포스트로피가 필요하지 않습니다.

\
(백슬래시)

도구모음 단추 매크로의 마지막 문자가 "\"이면, 마지막에 Enter 없이도 매크로가 실행됩니다.

예:

매크로 "5\"로 도구모음 단추를 만듭니다. 이 단추를 클릭하면 명령행에 5가 입력된 후 멈추며, 다음 입력을 대기하는 상태가 됩니다. 이 기능은 화면에서 숫자 키패드처럼 실행되는 도구모음을 만들 때 사용할 수 있습니다.

~
(물결표)

화면이 어지럽지 않게 명령행 옵션을 표시하지 않습니다. 작업은 평상시와 마찬가지로 실행됩니다.

;

(세미콜론)

메모.

세미콜론 (;)으로 시작하는 선은 매크로의 일부가 아니지만, 이를 이용하여 매크로를 문서 작성할 수 있으며, 다른 입력도 시도할 수 있습니다.

예:

;이것은 시험용 매크로입니다
_Circle 0,0,0 15
_Line 0,0,0 pause ;15,0,0
; Line 0,0,0 0,15,0
_Line 0,0,0 -15,0,0

::
(이중 콜론)

레이어 이름 사이의 이중 콜론(::)으로 레이어 중첩을 나타냅니다. -Layer 명령에서 Layer 01 아래에 중첩된 새로운 레이어를 추가하려면 다음과 같이 매크로를 사용합니다:

! _-Layer New "Layer 01:: New Layer" Enter

#
(해시)

다음 명령의 히스토리 기록을 사용하도록 설정합니다.

예: #ArcBlend

%
(퍼센트)

다음 명령의 히스토리 기록을 사용 안 함으로 설정합니다.

예: %ArcBlend

원 그리기

이 매크로는 원 중심이 5,5이고, 반지름이 10인 원을 만듭니다:

! _-Circle 5,5 10

기재된 내용 사이의 공백은 수작업으로 직접 명령을 입력할 때 Enter 키를 누르는 곳과 같은 위치입니다.

개체를 선택 해제하고 Move 명령을 시작합니다

이 매크로는 Move 명령을 시작하지만 이동할 개체의 선택을 묻기 전에 모든 개체를 선택 해제 상태로 만듭니다:

! _SelNone _Move

점을 통과하는 커브를 만듭니다

이 매크로는 세 점 세트를 만들어 이를 모두 선택하고, 점에 폴리라인을 맞춥니다:

! _SelAll _Points _Pause _Pause _Pause _Enter _Invert _CurveThroughPt _EnterEnd

이 스크립트의 실행 내역:

! _SelAll

이제까지의 모든 명령을 취소하고 현재 모델의 모든 개체를 선택합니다.

_Points

Points 명령을 실행합니다.

_Pause

_Pause

_Pause

세 점 위치를 지정합니다.

_Enter

점 개체의 생성을 중단하도록 Enter 키를 누르는 효과를 냅니다.

_Invert

선택 영역을 반전(Invert) 합니다. 그 장면에서 보이는 모든 개체는 스크립트의 처음부터 선택된 것이므로, 반전을 실행한 후에는 오직 새로 만들어진 점 개체들만 선택됩니다.

_CurveThroughPt

점 개체를 통하는 폴리라인을 만듭니다.

_EnterEnd

명령을 완료합니다.

대화상자 표시하지 않기

! -_Rebuild _Pause _Points=10 _Degree=3 _Enter

커브를 선택하고, 이 매크로를 실행합니다. 모든 옵션을 매크로가 지정합니다.

이러한 스크립트를 사용해 보려면

  1. 도움말 항목에서 매크로를 선택합니다.
  2. 클립보드에 복사하려면 Ctrl + C를 누릅니다.
  3. Rhino 명령 프롬프트를 클릭하고 Ctrl + V를 눌러 매크로를 붙여넣습니다.
특별 스크립트 명령

일시 중지

사용자 입력을 위해 매크로에서 멈춥니다.

예:

! _Circle _Pause 50

이 매크로는 점을 요구하고, 그 점이 50 단위가 반지름인 원의 중심이 되도록 그립니다.

MultiPause

여러 선택을 하는 동안 스크립트를 중지합니다. 예를 들어 Join, Polyline, FilletEdge 가 여기에 해당됩니다.

Enter

매크로 안에서 Enter 키를 누르는 효과를 냅니다.

이 명령은 Enter 키를 누를 때와는 다르게, 이전 명령어를 반복하지 않습니다.

EnterEnd

명령을 완료합니다.

SetRedrawOff

매크로가 실행되는 동안, 화면 다시 그리기와 구성평면/카메라 변경을 방지합니다.

SetRedrawOn

이 명령은 SetRedrawOff를 실행한 후 다시 그리기를 다시 켭니다.

NoEcho

명령 히스토리 창에 매크로 명령이 반영되는 기능을 끕니다.

Echo

명령 히스토리 창에 매크로 명령이 반영되는 기능을 켭니다.

무엇을 매크로에 입력해야 할지 잘 모를 때는 하이픈이 붙은 명령 버전을 실행합니다. 명령의 시퀀스를 강조 표시하여 복사한 후 매크로 텍스트에 붙여넣습니다.

MacroEditor

도구모음 메뉴 패널 톱니 바퀴 메뉴

도구

도구

명령 >

매크로 편집기

패널

매크로 편집기

매크로 편집기

MacroEditor 명령은 매크로를 만들고 테스트하는 편집창을 엽니다.

매크로 편집기 패널

패널 옵션

과정

  1. 명령을 매크로 편집기 창에 입력합니다.
  2. 테스트하려면 실행을 클릭합니다.
  3. 매크로를 삭제하려면 삭제를 클릭합니다.

안내

ReadCommandFile

도구모음 메뉴

도구

도구

명령 >

파일에서 읽기

ReadCommandFile 명령은 텍스트 파일에서 명령 매크로를 읽고 실행합니다.

과정

안내

텍스트 파일을 아래의 예와 같이 만든 후, ReadCommandFile 명령을 실행합니다. 이 텍스트 파일의 내용은 여러 커브를 한 번에 작성하는 것입니다.

! _interpcrv
23,5,0
23,2,5.0
23.7,5.2,1
_Enter
_interpcrv
26.1,4.9,1.1
26.8,4.9,1.0
27.1,4.8,0.9
_Enter

etc&.

Echo

도구모음 메뉴

도구모음에 없습니다.

메뉴에 없습니다.

Echo 명령은 명령 히스토리 창에 매크로 명령이 반영되는 기능을 켭니다.

반영되는 것을 해제하려면 NoEcho 명령을 사용합니다.

NoEcho

도구모음 메뉴

도구모음에 없습니다.

메뉴에 없습니다.

NoEcho 명령은 명령 히스토리 창에 매크로 명령이 표시되는 기능을 끕니다.

NoEcho 또는 _NoEcho 명령이 올바르게 실행되려면 이 단어가 매크로의 맨처음 단어여야 합니다. 느낌표를 포함한 모든 것이 그 뒤어 와야 하며, 공백 하나로 구분됩니다.

Enter

도구모음 메뉴

도구모음에 없습니다.

메뉴에 없습니다.

Enter 명령은 스크립트 또는 도구모음 단추 프로그래밍에서 Enter 키를 누르는 것처럼 기능을 합니다.

이 스크립트는 구성평면을 z축 기준으로 설정합니다:

'_CPlane _3Point

_Pause _Pause _Pause _Enter

Enter 명령은 Enter 키를 누를 때와 다르게, 이전 명령을 반복하지 않습니다.

EnterEnd

도구모음 메뉴

도구모음에 없습니다.

메뉴에 없습니다.

EnterEnd 명령은 매크로 또는 도구모음 단추 프로그래밍에서 명령 문자열을 완성하기 위해 Enter 키를 누르는 것과 같은 역할을 합니다.

EnterEnd는 Options 또는 DocumentProperties 명령처럼, 명령에 여러 단계의 옵션이 있어 공백의 명령 프롬프트로 되돌아오기 위해 여러번 Enter 키를 눌러야하는지 세지 않고 이런 명령을 완료하고 싶을 때 편리하게 사용할 수 있습니다. 예:

! _-DocumentProperties _Mesh _Custom _MaxEdgeSrf .01

이 명령에서 나오려면 적어도 2~3 차례의 Enter가 필요합니다. EnterEnd를 사용하면 명령에서 원하는 순간에 나올 수 있습니다.

! _-DocumentProperties _Mesh _Custom _MaxEdgeSrf .01 _EnterEnd

Exit

도구모음 메뉴

도구모음에 없습니다.

파일

끝내기

Exit 명령은 현재 Rhino 세션을 종료합니다.

명령행 옵션을 사용하려면

  • 명령의 앞에 하이픈을 입력합니다(-Exit).
명령행 옵션

 

아니요

 

취소

 

일시 중지

도구모음 메뉴

도구모음에 없습니다.

메뉴에 없습니다.

Pause 명령은 매크로를 중지하고 사용자의 입력을 기다립니다.

이 매크로는 점을 요구하고, 그 점이 50 단위가 반지름인 원의 중심이 되도록 그립니다.

! _Circle _Pause 50

MultiPause

도구모음 메뉴

도구모음에 없습니다.

메뉴에 없습니다.

MultiPause 명령은 매크로를 중지하고 사용자의 입력을 기다립니다.

이 매크로는 결합할 개체를 묻습니다.

! _Join _MultiPause

Run

도구모음 메뉴

도구모음에 없습니다.

메뉴에 없습니다.

Run 명령은 Rhino 내부에서 다른 응용 프로그램을 실행합니다.

과정

  • 파일의 이름과 경로를 입력하여 실행합니다.

SetRedrawOff

도구모음 메뉴

메뉴에 없습니다.

SetRedrawOff 명령은 스크립트 동안에 화면 다시 그리기, 구성평면이나 카메라 변경을 방지합니다.

화면 다시 그리기를 다시 켜려면

SetRedrawOn

도구모음 메뉴

메뉴에 없습니다.

SetRedrawOn 명령은 스크립트 동안에 화면 다시 그리기, 구성평면이나 카메라 변경을 사용함으로 설정합니다..

화면 다시 그리기를 끄려면

스크립팅

RhinoScript는 스크립트를 실행하기 위한 플러그인입니다. 스크립트 언어를 사용하면 루프, 이름 바꾸기, 변수 이름, 파일 찾기, 쿼리 등을 사용할 수 있습니다.

사용할 명령:

기본 단계

  1. 스크립트 기능을 작성합니다.
    RhinoScripts는 파일 확장명으로 .rvb 를 사용합니다.
  2. 스크립트를 메모리로 로드하려면 LoadScript 명령을 사용합니다.
  3. 스크립트를 실행하려면 RunScript 명령을 사용합니다.

마우스를 사용하여 .rvb 파일을 Rhino 창으로 끌어오면 해당 스크립트가 실행됩니다.

스크립트에 대한 더욱 자세한 정보는

  • Rhino 도움말 메뉴에서 플러그인을 클릭하고 RhinoScript를 클릭합니다.

Rhino 관련 스크립트에 대한 자세한 정보 참조: http://wiki.mcneel.com/rhino/basicmacros

LoadScript

도구모음 메뉴

도구모음에 없습니다.

도구 메뉴

Rhino Script >

Load

LoadScript 명령은 디스크에서 스크립트 파일을 읽고, 스크립트 인터프리터로 로드하여 실행합니다.

마우스를 사용하여 .rvb 파일을 Rhino 창으로 끌어오면 해당 스크립트가 실행됩니다.

과정

  • 스크립트 파일 로드 대화상자에서 도움말 메뉴를 클릭합니다

RhinoScript 프로그래머를 위한 온라인 참조 자료: http://developer.rhino3d.com/guides/rhinoscript/

RunScript

도구모음 메뉴

도구모음에 없습니다.

도구 메뉴

Rhino Script >

Run

RunScript 명령은 이전에 로드된 스크립트를 실행합니다.

마우스를 사용하여 .rvb 파일을 Rhino 창으로 끌어오면 해당 스크립트가 실행됩니다.

과정

  • 스크립트 하위 루틴 실행 대화상자에서 도움말 메뉴를 클릭합니다.

EditScript

도구모음 메뉴

도구

Rhino Script >

편집

EditScript 명령은 RhinoScript 파일을 편집하기 위해 텍스트 편집기 유틸리티를 엽니다.

과정

  • 스크립트 편집 대화상자에서 도움말 메뉴를 클릭합니다.

RunPythonScript

도구모음 메뉴

도구모음에 없습니다.

도구

Python 스크립트 >

Run

RunPythonScript 명령은 Python 스크립트를 실행합니다.

Rhino.Python 프로그래머를 위한 온라인 참조 자료: http://developer.rhino3d.com/guides/rhinopython/.

-RunPythonScript

옵션

ResetEngine

Python 엔진이 다시 초기화되도록 강제로 설정합니다. 여러 파일과 연결된 Python 스크립트를 작성하고 테스트하는 경우에만 유용합니다.

EditPythonScript

도구모음 메뉴

도구

Python 스크립트 >

편집

EditPythonScript 명령은 Python 스크립트를 편집합니다.

Rhino 관련 스크립트에 대한 자세한 정보 참조: http://wiki.mcneel.com/developer/python.

Script Compiler

도구모음

메뉴

Grasshopper

7 버전의 새 기능

도구

도구

Script Compiler

Script Compiler 응용 프로그램은 스크립트 파일 (.rvb, .py, gh, ghx) 을 *.rhp 플러그인으로 변환시킵니다.

 

Rhino 설치관리자가 다음 위치에 Script Compiler 응용 프로그램을 설치합니다:

C:\Program Files\Rhino <버전>\System\RhinoScriptCompiler.exe

과정

  1. 도구 > Script Compiler를 선택합니다.

  2. 강조 표시된 글자 키를 눌러 액션을 확인합니다.

 

 

 

Rhinoceros 7 © 2010-2020 Robert McNeel & Associates. 2020-12-08