1.오토리습(Autolisp) 시작하기
오토리습(Autolisp)이란?
오토리습은 오토캐드
에서 사용할 수 있는 프로그래밍 언어입니다. 오토 캐드(CAD) 내부의 도형과 도면 뿐만 아니라 외부 프로그램과 연동하여 사용자가 원하는 다양한 작업을 명령어 하나로 수행할 수 있습니다.
ZWCAD
, Brics캐드
, 캐디안
등과 같은 대안캐드에서도 오토캐드와 유사한 기능을 수행하도록 구현 해 놓았기 때문에, 어느정도의 함수들은 오토캐드와 동일하게 사용하실 수 있습니다.
오토리습의 특징
LISP문법 사용
오토리습(Autolisp)은 LISP
(LISt Processing)이라는 프로그래밍 언어를 기반으로 만들어진 언어로서, 모든 것이 (
로 시작해서 )
로 끝나는 리스트
로 이루어진 것이 특징입니다. 리스트
는 여러 값들을 묶어 놓은 것입니다.
대부분(전부는 아닙니다)의 오토리습 함수는 해당 함수를 실행하는 것으로 값을 직접 변경하기보다는, 입력값에 대해 단순히 출력값만을 반환하는 함수형 프로그래밍의 성격을 띕니다. 따라서 어떤 변수의 값을 변경하고 싶을때는, 함수를 실행한 후에 반환된 값을 다시 변수에 저장하는 과정이 필요합니다.
사용자 인터페이스
캐드 프로그램 자체는 Lisp언어로 제작되지 않았지만, 사용자들의 편의성을 위해서 캐드의 각 기능들을 Lisp언어로 사용할 수 있도록 만들어 두었습니다. 오토캐드에서는 리습파일(확장자가 .lsp
인 파일)을 로드하거나, 명령어 창에 직접 리습함수를 입력함으로서 캐드 프로그램에서 만들어 놓은 혹은 사용자가 제작한 함수들을 사용할 수 있습니다.
오토리습을 사용함으로서, 사용자는 실제 내부에 어떤방식으로 그 기능이 실행되도록 되어있는지 알 필요 없이, 특정 함수를 호출하는 것만으로 해당 기능을 이용할 수 있습니다.
시작하면서
오토리습을 배우시려는 분들은 대부분 프로그래머는 아닐 거라는 생각이 듭니다. 대부분은 현직에서 캐드를 사용하시면서 직간접적으로 일명 리습
이라고 불리는 매크로를 사용 해 보셨을 거고, 기존 리습을 사용하다가 불편함을 느끼셔서 더 좋은 리습이 있는지 검색해보고 명령어도 바꿔보고 하시다가, 어느순간 관심이 생겨서 배워보고 싶다는 생각이 드신분들이 오셨을 거라는 생각이 듭니다.
어쩌면 제 프로그램을 구매하신 후 표시되는 링크를 통해서 오신 분들도 계실 수 있겠네요. 어느 경로를 통해 오셨든지 프로그래밍이 익숙한 분들은 아니실 것이므로, 생소한 용어들은 최대한 배제하고 글을 작성 해 보겠습니다.
처음에는 오토리습의 기본적인 함수들을 알아보고, 그 함수들을 사용한 간단한 예제를 풀어보는 형식으로 작성할 예정입니다. 처음이라 낯설어서 어렵게 느껴지실 수 있지만 하나하나 따라하시고, 많이 사용 해 보시고 익숙해지시면 그리 어렵게 느껴지지만은 않으실겁니다.