상세 컨텐츠

본문 제목

명령을 호출하는 함수 「command」

IT & Programming/LISP 공부

by 그림아이 2021. 12. 21. 02:00

본문

반응형

이번 기사에서는 함수 「command」에 대해 해설합니다.

 

AutoCAD는 편리한 표준 명령을 많이 제공하지만 일반적으로 수동으로 실행해야 합니다. 명령을 실행했을 때마다 필요한 옵션을 사용자 자신이 입력해야합니다. 명령에 따라서는 복잡한 옵션의 입력을 몇번이나 요구하기 때문에 실행하는 것이 귀찮습니다.

 

command를 활용하면 그런 귀찮은 명령의 실행을 자동화할 수 있습니다. 옵션의 입력도 자동으로 할 수 있으므로 작업의 효율화가 가능합니다. 사용 예와 함께 해설하기 때문에 꼭 봐 주세요.

 

command의 동작

AutoCAD 명령은 command에서 호출할 수 있습니다. 인수로서, 좌우에 「"」를 기술한 커멘드명과, 실행에 필요한 옵션을 지정해 주세요.

사용 예 ① line 실행

(command "line" (list 0 0) (list 1 1))

선두에는 커멘드명이 필요하기 때문에 "line"라고 기술해, 옵션으로서 시점과 종점의 좌표를 지정하고 있습니다. 이번에는 좌표를 그대로 기술하고 있습니다만, 변수를 지정하는 것도 가능합니다.

위의 예에서는 명령이 종료되지 않았으므로 커서를 움직이면 끝점에서 고무 손이 표시됩니다. Enter를 누르면 명령을 종료 할 수 있지만 인수 끝에 ""를 쓰면 자동 종료 할 수 있습니다.

(command "line" (list 0 0) (list 1 1) "")

사용 예 ② circle 실행

중심(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 서식

command의 구문과 인수 및 반환값은 다음과 같습니다.

구문
(command [ arguments ] … )
인수
argumentsAutoCAD 명령 이름과 그 옵션. 옵션에는 좌표나 캐릭터 라인 등 커맨드마다 필요한 것을 기술한다.
반환값
nil명령이 성공적으로 종료되면 nil을 리턴합니다.

요약

이번 정리

  • AutoCAD 명령은 command로 실행할 수 있습니다.
  • 인수의 끝에 ""를 쓰면 명령이 자동 종료됩니다.
  • 시스템 변수 CMDECHO로 에코백을 제어할 수 있습니다.

프로그래밍

 

 

728x90
반응형

관련글 더보기

댓글 영역