autocad에는 autoLisp을 개발하는데 유용한 에디터를 제공한다.
command창에 vlide혹은 vlisp를 치면 visual lisp에디터가 실행된다.
visual lisp은 세로운 언어가 아니라 autoLisp에서 cad의 객체를 다루는 함수가추가되
일종의 라이브러리라고 봐도 될까 싶다.
다음은 auto Lisp과 visual Lisp이 잘정리 되어있는 사이트다.
AfraLISP
찌릭의 네이버 블로그
AfraLISP의 내용을 옮긴다.
visual lisp 을 쓰기위해선 함수를 로드해야하는것같다.
(vl-load-com)
cad 어플리캐이션오브젝트를 가져온다.
(setq acadObject(vlax-get-acad-object))
cad오브젝트에서 Perferences(환경설정)속성을 가저온다.
(setq prefsObject(vlax-get-property acadObject 'Preferences))
환경설정에서 파일속성을 가져온다.
(setq tabnameObject(vlax-get-property prefsObject 'Files))
작업지원경로(SupportPath)를 가져온다.
(setq thePath(vlax-get-property tabnameObject 'SupportPath))
작업지원경로문자열에 temp경로를 추가한다.
- strcat은 문자열 인수들을 합쳐서 하나의 문자열로 만든다.
(setq thePath(strcat thePath ";" "c:\\TEMP"))
작업지원 경로를 추가한다.
(vlax-put-property tabnameObject 'SupportPath thePath)
vla는 기존의 entity를다룰경우
vlax는 object를 다룰 경우인것 같다.(아마도)
함수이름은 대부분 내용을 알수있을 법하게 직관적으로 작성되어있다.그나마 외우는부담이 좀 적다만...
visual Lisp가 auto Lisp보다 우월하거나 한것이 아니다.
서로 상충되며 각각의 쓰임에 맞게 쓸수있도록 해야겟다.
댓글 없음 :
댓글 쓰기