이번 기사에서는 함수 「command」에 대해 해설합니다.
AutoCAD는 편리한 표준 명령을 많이 제공하지만 일반적으로 수동으로 실행해야 합니다. 명령을 실행했을 때마다 필요한 옵션을 사용자 자신이 입력해야합니다. 명령에 따라서는 복잡한 옵션의 입력을 몇번이나 요구하기 때문에 실행하는 것이 귀찮습니다.
command를 활용하면 그런 귀찮은 명령의 실행을 자동화할 수 있습니다. 옵션의 입력도 자동으로 할 수 있으므로 작업의 효율화가 가능합니다. 사용 예와 함께 해설하기 때문에 꼭 봐 주세요.
AutoCAD 명령은 command에서 호출할 수 있습니다. 인수로서, 좌우에 「"」를 기술한 커멘드명과, 실행에 필요한 옵션을 지정해 주세요.
(command "line" (list 0 0) (list 1 1))
선두에는 커멘드명이 필요하기 때문에 "line"라고 기술해, 옵션으로서 시점과 종점의 좌표를 지정하고 있습니다. 이번에는 좌표를 그대로 기술하고 있습니다만, 변수를 지정하는 것도 가능합니다.
위의 예에서는 명령이 종료되지 않았으므로 커서를 움직이면 끝점에서 고무 손이 표시됩니다. Enter를 누르면 명령을 종료 할 수 있지만 인수 끝에 ""를 쓰면 자동 종료 할 수 있습니다.
(command "line" (list 0 0) (list 1 1) "")
중심(0,0)으로 직경 10의 원을 그리는 프로그램은 다음과 같습니다.
(command "circle" (list 0 0) "D" 10)
인수의 "D"는 직경을 나타내는 옵션입니다. "D" 뒤에 기술한 수치가 원의 직경이 됩니다.
특정의 인수만 유저 입력으로 하고 싶은 경우는 「pause」라고 기술하는 것으로 유저 입력 대기 상태로 하는 것이 가능합니다. 예를 들어, 원의 도면에서 중심 좌표를 사용자 입력으로 하는 경우는 다음과 같이 기술합니다.
(command "circle" pause "D" 10)
pause는 AutoLISP의 미리 정의된 변수라고 하며, 미리 특정 데이터가 저장된 변수입니다. 그 외에는 원주율을 나타내는 「pi」나 nil이 아닌 것을 나타내는 「T」등이 있습니다.
AutoCAD 명령을 실행하면 명령줄에 처리와 관련된 문자열이 차례로 표시되지만 이를 에코백이라고 합니다. 에코백은 시스템 변수 CMDECHO에 의해 디스플레이를 제어할 수 있습니다. 0으로 숨기고 1로 표시할 수 있습니다.
command의 구문과 인수 및 반환값은 다음과 같습니다.
이번 정리
프로그래밍의 필수품! AutoLISP의 함수 (1) | 2021.12.22 |
---|---|
리스트를 작성하는 함수 「list」 「cons」 (0) | 2021.12.21 |
AutoLISP 초보자가 최초로 기억해야 할 함수 5종 (0) | 2021.12.21 |
AutoLISP 개발을 시작합시다! lsp 파일 만들기 ~ 실행 설명 (3) | 2021.12.20 |
AutoCAD 사용자가 AutoLISP를 사용해야 하는 장점 3개 (0) | 2021.12.20 |
댓글 영역