명령 매크로와 스크립팅

이 명령은 어디에서 찾을 수 있습니까?

_a_blank.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

명령 매크로와 스크립팅

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

명령 매크로 쓰기

명령행에서 명령을 입력하듯이 명령 매크로를 작성합니다. 글자 사이의 공백이나 새 줄은 명령행에서 Enter 키를 누를 때와 같은 역할을 합니다.

특수 문자

문자

매크로에서의 뜻

*
(별표 문자)

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

!
(느낌표)

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

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

_
(밑줄)

영어 명령의 이름으로 인식하도록 하여 명령을 실행합니다.

Rhino는 많은 언어로 지역화될 수 있습니다. 한국어 버전에서는 프롬프트, 명령 옵션, 대화상자, 메뉴 등이 번역되어 있습니다. 한국어, 영어, 일본어, 중국어 이외의 언어 버전에서는 명령도 번역되어 있습니다. 한국어, 영어, 일본어, 중국어를 제외한 언어 버전에서는 영어 명령을 그대로 사용할 수 없습니다.

영어로 작성된 스크립트가 모든 컴퓨터(Rhino의 언어 버전과 상관없이)에서 실행되기 위해서는 스크립트가 강제로 Rhino가 모든 명령을 영어 명령 이름으로 인식하도록 해야 합니다.

예를 들면: Rhino 영어 버전에서는 다음의 매크로가 실행됩니다:

Circle 3Point 0,0,0 1,1,0 0,3,0

그러나 Rhino 프랑스어 버전에서는 실행되지 않습니다. 그 대신 다음 중 하나의 매크로가 필요합니다:

Cercle 3Point 0,0,0 1,1,0 0,3,0
_Circle _3Point 0,0,0 1,1,0 0,3,0

매크로가 전세계적으로 확실히 실행되게 하기 위해서는 영어로 작성 후 모든 명령 이름과 옵션의 앞에 _ 를 넣습니다.

-
(하이픈)

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

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

'
(아포스트로피)

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

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

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

\
(백슬래시)

도구모음 매크로의 첫 글자가 "!" 가 아니고, 마지막 글자가 " \"인 경우, 스크립트는 Enter 없이 명령행에서 실행되므로, 더 많은 정보를 추가할 수 있습니다.

이 기능은 "숫자 키패드"를 화면상에 만들며, 단추상의 자릿수, 소숫점, 각도(예 "<45")를 명령 문자열에 추가할 때 유용합니다.

~
(물결표)

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

;

(세미콜론)

메모.

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

예:

;이것은 시험용 매크로입니다
_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

원 그리기

이 매크로는 원 중심이 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

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

_CurveThroughPt

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

_EnterEnd

명령을 완료합니다.

대화상자 표시하지 않기

! -_Rebuild _Pause _Points=10 _Degree=3 _Enter

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

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

number-1.png도움말 항목에서 매크로를 선택합니다.

number-2.png클립보드에 복사하려면 Ctrl + C 를 누릅니다.

number-3.pngRhino 명령 프롬프트를 클릭하고 Ctrl + V 를 눌러 매크로를 붙여넣습니다.

특별 스크립트 명령

Pause

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

! _Circle _Pause 50

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

Enter

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

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

EnterEnd

명령을 완료합니다.

SetRedrawOff

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

SetRedrawOn

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

NoEcho

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

Echo

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

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

open_macro_editor.pngMacroEditor

이 명령은 어디에서 찾을 수 있습니까?

open_macro_editor.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

MacroEditor 명령

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

매크로 편집기 패널

paneloptions.png옵션

단계

number-1.png명령을 매크로 편집기 창에 입력합니다.

number-2.png테스트하려면 실행을 클릭합니다.

number-3.png매크로를 삭제하려면 삭제를 클릭합니다.

round_bullet.gif일부 텍스트를 선택하고 실행을 클릭하면 매크로의 선택된 부분만이 실행됩니다.

round_bullet.gif모두 선택, 복사, 붙여넣기, 삭제, 실행 메뉴가 오른쪽 클릭하여 표시되는 상황에 맞는 메뉴에 있습니다.

read_command_file....pngReadCommandFile

이 명령은 어디에서 찾을 수 있습니까?

read_command_file....png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

ReadCommandFiles 명령

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

단계

number_onestep.gifRhino의 텍스트 파일 열기 대화상자에서 읽을 파일을 선택합니다.

파일 내용이 명령행에 복사되고, 명령 파일의 선은 명령행에 입력된 것처럼 인식하게 됩니다.

round_bullet.gif명령 파일을 작성할 때, Enter 명령을 사용합니다. 이는 명령을 실행하기 위해 Enter 키를 누르는 것에 해당합니다.

round_bullet.gif특정한 파일을 자주 읽어오는 경우, 도구모음 단추에 ReadCommandFile을 파일 이름과 함께 적용하길 권장합니다. 예:

-readcommandfile myfile.txt

파일 이름에 공백이 있으면, 텍스트를 인용부호로 둘러쌉니다. 예를 들어:

-readcommandfile "my file.txt"

텍스트 파일을 아래의 예와 같이 만든 후, 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

이 명령은 어디에서 찾을 수 있습니까?

_nobutton.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

Echo 명령

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

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

NoEcho

이 명령은 어디에서 찾을 수 있습니까?

_nobutton.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

NoEcho 명령

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

반영되도록 설정하려면 Echo 명령을 사용합니다.

Enter

이 명령은 어디에서 찾을 수 있습니까?

_nobutton.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

Enter 명령

스크립트 또는 도구모음 단추 프로그래밍에서 Enter 키를 누르는 것을 의미합니다.

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

'_CPlane _3Point

_Pause _Pause _Pause _Enter

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

EnterEnd

이 명령은 어디에서 찾을 수 있습니까?

_nobutton.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

EnterEnd 명령

매크로 또는 도구모음 단추 프로그래밍에서 명령 문자열을 완성하기 위해 Enter 키를 누르는 것과 같은 역할을 합니다. EnterEnd는 Options 또는 DocumentProperties 명령처럼, 명령에 여러 단계의 옵션이 있어 공백의 명령 프롬프트로 되돌아오기 위해 여러번 Enter 키를 눌러야하는지 세지 않고 이런 명령을 완료하고 싶을 때 편리하게 사용할 수 있습니다. 예:

! _-DocumentProperties _Mesh _Custom _MaxEdgeSrf .01

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

! _-DocumentProperties _Mesh _Custom _MaxEdgeSrf .01 _EnterEnd

Exit

이 명령은 어디에서 찾을 수 있습니까?

_nobutton.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

Exit 명령

현재 Rhino 세션을 종료합니다.

Pause

이 명령은 어디에서 찾을 수 있습니까?

_nobutton.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

Pause 명령

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

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

! _Circle _Pause 50

Run

이 명령은 어디에서 찾을 수 있습니까?

_nobutton.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

Run 명령

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

단계

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

set_redraw_off.pngSetRedrawOff

이 명령은 어디에서 찾을 수 있습니까?

set_redraw_off.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

SetRedrawOff 명령

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

number_onestep.gif화면 다시 그리기를 사용하려면 SetRedrawOn 명령을 사용합니다.

set_redraw_off.pngSetRedrawOn

이 명령은 어디에서 찾을 수 있습니까?

set_redraw_off.png_rightbuttononly.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

SetRedrawOn 명령

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

number_onestep.gif화면 다시 그리기를 해제하려면 SetRedrawOff 명령을 사용합니다.

스크립팅

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

사용할 명령:

LoadScript

RunScript

EditScript

기본 단계

number-1.png스크립트 기능을 작성합니다.

RhinoScripts는 파일 확장명으로 .rvb 를 사용합니다.

number-2.png스크립트를 메모리로 로드하려면 LoadScript 명령을 사용합니다.

number-3.png스크립트를 실행하려면 RunScript 명령을 사용합니다.

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

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

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

Rhino 관련 스크립팅에 대한 자세한 정보는 http://www.rhino3d.com/scripting/ 를 참조하세요.

LoadScript

이 명령은 어디에서 찾을 수 있습니까?

_nobutton.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

LoadScript 명령

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

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

단계

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

Rhino 관련 스크립팅에 대한 자세한 정보는 http://www.rhino3d.com/scripting/ 를 참조하세요.

온라인 RhinoScript 프로그래머 참고 자료: http://www.rhino3d.com/5/rhinoscript/index.html

RunScript

이 명령은 어디에서 찾을 수 있습니까?

_nobutton.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

RunScript 명령

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

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

단계

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

Rhino 관련 스크립팅에 대한 자세한 정보는 http://www.rhino3d.com/scripting/ 를 참조하세요.

EditScript

이 명령은 어디에서 찾을 수 있습니까?

_nobutton.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

명령 매크로와 스크립팅 명령

텍스트 편집 또는 스크립트 편집을 위한 유틸리티를 엽니다.

단계

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

Rhino 관련 스크립팅에 대한 자세한 정보는 http://www.rhino3d.com/scripting/ 를 참조하세요.

RunPythonScript

이 명령은 어디에서 찾을 수 있습니까?

_nobutton.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

RunPythonScript 명령

Python 스크립트를 실행합니다.

Rhino 관련 스크립팅에 대한 자세한 정보는 http://www.rhino3d.com/scripting/ 를 참조하세요.

온라인 Rhino.Python 프로그래머 참고 자료:

http://www.rhino3d.com/5/ironpython/index.html

-RunPythonScript

옵션

ResetEngine

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

EditPythonScript

이 명령은 어디에서 찾을 수 있습니까?

_nobutton.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

EditPythonScript 명령

Python 스크립트를 편집합니다.

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

SetUserText

이 명령은 어디에서 찾을 수 있습니까?

_nobutton.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

SetUserText 명령

텍스트 정보를 개체에 첨부합니다.

Windows 레지스트리에서 사용하는 방식과 유사하게 정보가 키/값에 저장됩니다.

정보는 GetUserText 명령으로 검색합니다. 이 정보는 .NET 플러그인과 VisualBasic 스크립트로 첨부될 수 있습니다.

이 정보는 .NET과 Visual Basic 스크립트에서 쉽게 액세스할 수 있습니다.

텍스트 키 = 웨이트

텍스트 = 킬로그램

단계

number-1.png개체를 선택합니다.

number-2.png텍스트 키를 입력합니다.

number-3.png텍스트를 입력합니다.

키를 제거하려면

number-1.png개체를 선택합니다.

number-2.png텍스트 키를 입력합니다.

number-3.png"" (큰따옴표)를 입력합니다.

옵션

첨부_대상

개체

텍스트 정보를 개체 지오메트리에 첨부합니다.

정보가 지오메트리와 매우 가깝게 연관된 경우, 지오메트리에 첨부합니다. 예를 들어, 원을 제어점 편집하여 원이 NURBS 커브로 변경되면, 정보가 유효하지 않게 되므로, 원의 반지름이 지오메트리에 첨부되어야 합니다.

특성

개체의 특성에 텍스트 정보를 첨부합니다.

만약 정보가 색상과 같이, 상위 단계의 특성 정보인 경우, 개체의 특성에 첨부되어야 합니다. 특성 정보는 개체를 제어점 편집하거나, 트림 실행, 복사, 등을 실행할 때 계속 지속됩니다.

GetUserText

이 명령은 어디에서 찾을 수 있습니까?

_nobutton.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

GetUserText 명령

개체에 첨부된 텍스트 정보를 SetUserText 명령으로 검색합니다. 이 정보는 .NET 플러그인과 VisualBasic 스크립트에서도 검색이 가능합니다.

단계

number-1.png개체를 선택합니다.

number-2.png텍스트 키를 입력하거나 Enter 키를 눌러 모든 키를 사용합니다.

SetDocumentUserText

이 명령은 어디에서 찾을 수 있습니까?

_nobutton.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

SetDocumentUserText 명령

텍스트 정보를 Rhino .3dm 파일에 첨부합니다.

Windows 레지스트리에서 사용하는 방식과 유사하게 정보가 키/값에 저장됩니다.

정보는 GetDocumentUserText 명령으로 검색합니다. 이 정보는 .NET 플러그인과 VisualBasic 스크립트로 첨부될 수 있습니다.

이 정보는 .NET과 Visual Basic 스크립트에서 쉽게 액세스할 수 있습니다.

단계

number-1.png텍스트 키를 입력합니다.

number-2.png텍스트를 입력합니다.

GetDocumentUserText

이 명령은 어디에서 찾을 수 있습니까?

_nobutton.png도구모음

menuicon.png메뉴

ctrlplus.png바로 가기

GetDocumentUserText 명령

첨부된 텍스트 정보를 SetDocumentUserText 명령으로 검색합니다. 이 정보는 .NET 플러그인과 VisualBasic 스크립트에서도 검색이 가능합니다.

단계

number_onestep.gif텍스트 키를 입력하거나 Enter 키를 눌러 모든 키를 사용합니다.