명령 매크로 문자열은 명령 프롬프트에서 허용되는 모든 예상 입력과 함께 실행할 명령 및 시스템 변수를 AutoCAD에 지시하는 데 사용됩니다. 특수 문자, 디젤 표현식 및 AutoLISP 프로그래밍 코드도 명령 매크로 문자열에 포함될 수 있습니다.
사용자 명령 매크로 문자열을 작성하여 다음과 같은 작업에 도움을 줄 수 있습니다.
다음을 사용하여 명령 매크로 문자열을 정의하고 편집합니다.
명령 매크로 문자열은 일련의 명령과 특수 구문을 사용하는 예상되는 옵션 및 값으로 정의되지만, AutoCAD 명령 프롬프트에서 입력한 입력과 유사합니다. 리본의 클릭 버튼 또는 바로 가기 메뉴의 항목과 같은 프로그램의 사용자 인터페이스와 상호 작용하는 경우 명령 매크로 문자열이 실행됩니다. 명령 매크로의 구문은 단일 명령 이름(예: CIRCLE)처럼 간단할 수도 있고 특수 문자(예: ^C^C_.circle ₩1)가 포함되어 보다 복잡할 수도 있습니다.
다음은 명령 매크로 문자열에서 가장 많이 사용되는 특수 문자입니다.
다음은 AutoCAD 명령 프롬프트에서 CIRCLE 명령을 시작하고 반지름이 5인 원을 그리는 것과 동일한 입력이 명령 매크로 문자열로 표시되는 방법입니다.
명령 프롬프트 시퀀스 | 해당하는 매크로 문자열 구문 |
---|---|
Command: CIRCLE Specify center point for circle or [3P/2P/Ttr (tan tan radius)]: Specify radius of circle or [Diameter] <2.5000>: 5 |
CIRCLE; \ 5; |
다음은 최종 명령 매크로 문자열입니다.
![]() |
|
매크로의 공백은 AutoCAD 명령 프롬프트에서 스페이스바를 누르는 것과 같으므로 이전 매크로 문자열은 세미콜론 없이 다음과 같이 쓸 수도 있습니다.
^C^C_.circle \5
다음은 MOCORO 명령을 사용하여 AutoCAD 명령 프롬프트에서 복사된 객체를 복사 및 회전하는 또 다른 예이며 명령 시퀀스가 명령 매크로 문자열로 표시되는 방식을 보여줍니다.
명령 프롬프트 시퀀스 | 해당하는 매크로 문자열 구문 |
---|---|
Command: MOCORO Select objects: Specify opposite corner: Select objects: Base point: [Move/Copy/Rotate/Scale/Base/Undo]<eXit>: C Second point of displacement/Undo/<eXit>: Second point of displacement/Undo/<eXit>: [Move/Copy/Rotate/Scale/Base/Undo]<eXit>: R Second Point or Rotation angle: [Move/Copy/Rotate/Scale/Base/Undo]<eXit>: |
MOCORO; \ \ ; \ C; \ ; R; \ ; |
다음은 최종 명령 매크로 문자열입니다.
![]() |
|
사용자 인터페이스에 있는 버튼을 클릭할 때 이 버튼에 지정된 매크로가 프로그램의 현재 컨텍스트에서 실행됩니다. 즉, 매크로에서 현재 프롬프트에 대한 응답을 제공하려고 합니다. 매크로가 실행될 때 현재 활성화된 명령이 없도록 하려면 매크로의 머리말로 ^C 명령 시퀀스를 붙입니다. 단일 ^C로 대부분의 명령을 취소하더라도 치수기입 명령에서 명령 프롬프트로 복귀하려면 ^C^C가 필요하며 -LAYER 명령의 현재 옵션을 기준으로 ^C^C^C가 필요합니다. ^C^C는 대부분의 명령 시퀀스에서 취소를 처리하며 사용하는 것이 좋습니다.
AutoCAD 또는 AutoCAD 기반 제품의 일부인 명령에는 머리말로 마침표(.) 문자가 붙어야 합니다. 마침표 문자는 표준 명령이 UNDEFINE 명령으로 정의되지 않더라도 사용할 수 있도록 합니다. 이 예방조치를 사용함으로써 매크로가 동일한 사용자화(CUI/CUIx) 파일을 공유하는 다른 컴퓨터에서 사용될 때 해당 매크로를 단정할 수 있습니다.
매크로의 모든 문자가 중요하며 공백도 중요합니다. 공백은 스페이스바를 누른 것으로 해석되며, 입력에 공백 문자가 생기거나 Enter 키를 누른 것처럼 결과가 표시될 수 있습니다. 이 결과는 명령 프롬프트에서 명령 또는 시스템 변수를 사용하는 경우와 같습니다.
매크로를 처음 작성하는 경우 일반적으로 익숙한 제품 언어의 명령 이름 및 옵션 값을 사용하여 작성합니다. 각 명령 및 옵션은 다른 제품 언어에서 매크로를 사용할 수 있는 로컬 및 전역 이름이 있습니다. 영어 이외의 언어 지원을 사용하기 위해 추가 작업은 필요하지 않습니다. 각 명령이나 옵션 앞에 밑줄 문자(_)만 입력하면 됩니다. 밑줄 문자는 명령 이름 또는 옵션 값을 실행하기 전에 제품의 로컬 언어로 변환하도록 프로그램에 신호를 보냅니다.
단일 객체 선택 모드는 편집 명령에서 객체 선택 프롬프트의 일반적인 반복을 취소합니다. 하나의 객체를 선택하고 다른 모든 프롬프트에 응답하고 나면 명령이 끝납니다.
다음 예제의 매크로를 고려해 봅시다.
^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를 사용하여 전체 프롬프트의 표시와 명령행 내역에서의 입력을 억제할 수 있습니다.