명령 매크로 정보

명령 매크로에는 명령, 특수 문자, DIESEL 표현식 또는 AutoLISP 프로그래밍 코드가 포함될 수 있습니다.

사용자 인터페이스 사용자화 편집기(Windows) 또는 사용자화 대화상자(Mac OS)에서 명령의 매크로 특성을 수정하여 매크로를 정의한 다음 명령에 지정할 수 있습니다.

주: AutoCAD LT에서는 AutoLISP가 지원되지 않습니다.

매크로 기본

매크로는 사용자 인터페이스 요소가 사용될 때 수행되어야 하는 동작을 정의합니다. 매크로는 명령(예: circle)처럼 단순할 수 있고 특수 문자(예: ^C^C)를 포함할 수 있습니다.

예를 들어 ^C^C_circle ₩1 매크로는 1단위의 반지름으로 원을 그립니다. 아래 표에서 이 매크로를 정의하는 구성요소에 대해 설명합니다.

CIRCLE 매크로의 구성요소

구성요소

구성요소 유형

결과

^C^C

특수 컨트롤 문자 시퀀스

Esc 키를 두 번 누르는 것과 유사한 시퀀스입니다.

_

특수 컨트롤 문자

뒤에 오는 명령이 현지화된 명령 이름이 아니라 전역 명령 이름을 사용해야 함을 나타냅니다.

.

특수 컨트롤 문자

뒤에 오는 명령이 존재할 수도 있는 재정의된 명령이 아니라 명령의 표준 정의를 사용해야 함을 나타냅니다.

CIRCLE

명령

CIRCLE 명령을 시작합니다.

특수 문자

명령을 사용하는 동안 공백은 스페이스바를 누르는 것과 같습니다.

특수 컨트롤 문자

사용자 입력을 위해 일시 중지를 작성합니다. 이 예제에서는 원의 중심점에 대한 일시 중지입니다.

1

특수 컨트롤 문자

원의 반지름을 묻는 프롬프트에 대한 응답입니다. 이 예제에서는 1단위입니다.

활성 명령 취소

사용자 인터페이스에 있는 버튼을 클릭할 때 이 버튼에 지정된 매크로가 프로그램의 현재 컨텍스트에서 실행됩니다. 즉, 매크로에서 현재 프롬프트에 대한 응답을 제공하려고 합니다. 매크로가 실행될 때 현재 활성화된 명령이 없도록 하려면 매크로의 머리말로 ^C 명령 시퀀스를 붙입니다. ^C를 하나만 사용해도 대부분의 명령이 취소되지만, 치수기입 명령에서 명령 프롬프트로 되돌아가려면 ^C^C를 사용하고 -LAYER 명령의 현재 옵션을 기반으로 하면 ^C^C^C를 사용해야 합니다. ^C^C는 명령 시퀀스 대부분의 상쇄를 처리함으로써 사용할 권장 시퀀스가 됩니다.

매크로 문자 검증

매크로의 모든 문자가 중요하며 공백도 중요합니다. 매크로 끝에 공백을 추가하면 사용자가 명령을 완료하기 위해 스페이스바나 Enter 키를 누른 것으로 해석됩니다.

매크로에서 표준 명령 사용

AutoCAD 또는 AutoCAD 기반 제품의 일부인 명령에는 머리말로 마침표(.) 문자가 붙어야 합니다. 마침표 문자는 표준 명령이 UNDEFINE 명령으로 정의되지 않더라도 사용할 수 있도록 합니다. 이 예방조치를 사용함으로써 매크로가 동일한 사용자화(CUI/CUIx) 파일을 공유하는 다른 컴퓨터에서 사용될 때 해당 매크로를 단정할 수 있습니다.

주: AutoCAD LT에서는 명령이 정의되지 않은 상태로 있을 수 없습니다.

매크로에 대한 국제 지원

매크로를 처음 작성하는 경우 일반적으로 익숙한 언어의 명령 이름 및 옵션 값을 사용하여 매크로를 작성합니다. 각 명령 및 옵션은 로컬 및 전역 이름이 있으므로 AutoCAD에서 지원되는 모든 다양한 언어로 매크로를 사용할 수 있습니다. 영어 이외의 언어 지원을 사용하기 위해 추가 작업은 필요하지 않습니다. 각 명령이나 옵션 앞에 밑줄 문자(_)만 입력하면 됩니다. 밑줄 문자를 입력하면 명령 이름 또는 옵션 값을 실행하기 전에 해석하도록 AutoCAD에 지시합니다.

단일 객체 선택 모드 사용

단일 객체 선택 모드는 편집 명령에서 객체 선택 프롬프트의 일반적인 반복을 취소합니다. 하나의 객체를 선택하고 다른 모든 프롬프트에 응답하고 나면 명령이 끝납니다.

다음 예제의 매크로를 고려해 봅시다.

^C^C._erase single 

이 매크로는 현재 명령을 종료하고 단일 객체 선택 모드에서 ERASE 명령을 시작합니다. 매크로가 시작된 후, 단일 객체를 선택하거나 도면의 빈 영역을 클릭하고 윈도우/교차 선택을 지정할 수 있습니다. 이러한 방법을 사용하여 선택한 객체는 지워집니다.

매크로에서 명령 반복

매크로를 작성하고 나면 다른 명령으로 진행하기 전에 작성한 매크로를 몇 번 반복하려고 할 수도 있습니다. 매크로에서 선행 별표(*)를 사용하여 Esc 키를 누르거나 ^C로 시작하는 다른 매크로를 시작할 때까지 매크로의 명령이 반복되어야 함을 나타냅니다.

다음 예제에서 매크로는 명령을 반복합니다.

*^C^C._move Single 
*^C^C._copy Single 
*^C^C._erase Single 
*^C^C._stretch Single Crossing 
*^C^C._rotate Single 
*^C^C._scale Single 
주: 이 기능을 사용하여 옵션을 선택할 수 없거나, 이미지 배열 메뉴에서 매크로에 이 기능을 사용할 수 없습니다.

매크로 종료

일부 매크로에는 특수 종료자가 필요합니다. 예를 들어, TEXT 명령의 경우 스페이스바가 아니라 Enter 키를 눌러서 종료해야 하고 일부 명령은 두 번 이상 스페이스바나 Enter 키를 눌러야 완료됩니다.

두 가지 특수 규칙이 이 문제를 해결해줍니다.

다음 매크로를 비교합니다.

ucs 
ucs ;

첫 번째 예제에서는 UCS 명령을 시작하고 행이 공백으로 끝나기 때문에 스페이스바 누르기가 시뮬레이트됩니다. 다음과 같은 프롬프트가 표시됩니다.

UCS의 원점 지정 또는 [면(F)/이름(NA)/객체(OB)/이전(P)/뷰(V)/표준(W)/X/Y/Z/Z축(ZA)] <표준>:

두 번째 예제에서는 UCS 명령을 시작하고 스페이스바 누르기를 시뮬레이트한 다음 기본값(표준)을 승인하는 Enter 키 누르기가 시뮬레이트됩니다.

매크로에서 반향 및 프롬프트 억제

매크로의 문자는 키보드에서 해당 문자를 입력했더라도 명령행 프롬프트에 나타납니다. 이 표시 중복을 반향이라고 합니다. MENUECHO 시스템 변수를 사용하여 매크로 반향을 억제할 수 있습니다. 항목 입력에서 반향 및 프롬프트가 켜지는 경우 매크로 앞의 ^P가 일시적으로 해당 반향과 프롬프트를 끕니다. 또한 매크로에서 ^Q를 사용하여 전체 프롬프트의 표시와 명령행 내역에서의 입력을 억제할 수 있습니다.