3. AutoLISP 함수 종류

 

 기호 및 숫자

 (+ <num1> <num2> ... )

  + 표시 이후 숫자를 모두 더한다.

 (- <num1> <num2> ... )

  <num1>에서 <num1> 이후의 숫자를 모두 뺀다.

 (* <num1> <num2> ... )

  * 이후의 숫자를 모두 곱한다.

 (/ <num1> <num2> ... )

  <num1>에서 <num1> 이후의 숫자들의 곱으로 나눈다. 

 (= <num1> <num2> ...)

  <num1>과 <num2>가 같은지 검사한다.

 (/= <num1> <num2>)

  <num1>과 <num2>가 다른지 검사한다.

 (< <num1> <num2> ...)

  <num1>이 <num2>보다 작은지 검사한다.

 (<= <num1> <num2> ...)

  <num1>이 <num2>보다 같거나 작은지 검사한다.

 (> <num1> <num2> ...)

  <num1>이 <num2>보다 큰지 검사한다.

 (>= <num1> <num2> ...)

  <num1>이 <num2>보다 같거나 큰지 검사한다.

 (~ <integer>)

  <num>의 2진 NOT을 응답한다.

 (1+ <num>)

  <num> 1을 더한다.

 (1- <num>)

  <num> 1을 뺀다.

 

 A

 (abs number)

 number의 절대 값을 구한다.

 (alert string)

 대화상자를 통해 경고 메시지를 출력한다.

 (and expression1 expression2 ...)

 expression1, expression2 모두가 T이면 T를 응답한다.

 (angle point1 point2)

 point1에서 point2까지 직선의 각을 구한다.

 (angtos angle [<mode> [<precision>]])

 라디안 단위를 여러 단위로 변환하여 문자열로 응답한다.

 (append <list1> <list2> ...)

 나열된 <list>을 하나의 list로 만든다.

 (apply <function> <list>)

 <list>의 인수를 가진 <function>을 실행한다.

 (ascii <string>)

 <string>의 ASCII 문자 CODE를 응답한다.

 (assoc <item> <alist>)

 <alist>의 <item>에 해당하는 list를 구한다.

 (atan num [num2])

 아크탄젠트 값을 라디안으로 응답한다.

 (atof string)

 string을 실수로 변환한다.

 (atoi string)

 string을 정수로 변환한다.

 (atom <item>)

 <item>이 list인 경우 nil을 응답한다.

 

 B

 (boole <func> <int1> <int2> ...)

 일반 논리 boole함수를 응답한다.

 (boundp <atom>)

 일반 논리 boole함수를 응답한다.

 

 C

 (cadr <list>)

 <list>의 두 번째 요소를 구한다.

 (car <list>)

 <list>의 첫 번째 요소를 구한다.

 (cdr <list>)

 <list>의 첫 번째 요소를 제외한 모든 요소를 구한다.

 (char <num>)

 <num>를 해당 ASCII문자를 응답한다.

 (close <file-desc>)

 파일을 닫는다.

 (cond <testexpr> <result>...)

 각각의 조건식의 결과가 T이면 다음의 <result>를 실행한다.

 (cos angle)

 angle의 코사인값을 구한다.

 

 D

 (defun <sym> <arg list> <expr> ...)

 <sym>이라는 이름으로 함수를 정의한다.

 (distance <pt1> <pt2>)

 <pt1>과 <pt2>사이의 거리를 구한다.

 

 E

 (entdel <entity-name>)

 <entity name>을 삭제하거나 복구한다.

 (entget <entity-name>)

 <entity name>의 entity list를 구한다.

 (entlast)

 가장 최근에 그려진 도면요소를 선택한다.

 (entmod <elist>)

 도면요소의 바뀐 내용을 화면에 반영한다.

 (entnext [<ename>])

 <ename> 다음에 있는 도면요소를 구한다.

 (eq <expr1> <expr2>)

 <expr1>과  <expr2>가 같은지 검사한다.

 (eval <expr>)

 <expr>의 계산결과를 응답한다.

 (exp <num>)

 e의 <num> 제곱을 구한다.

 (expt <base> <power>)

 <base> <power> 제곱을 구한다.

 

 F

 (findfile <filename>)

 <filename>의 파일을 찾는다.

 (fix <num>)

 <num>를 정수로 변환한다.

 (float <num>)

 <num>를 실수로 변환한다.

 (foreach <name> <list> <expr> ...)

 <list>내의 모든 요소를 <expr>로 실행한다.

 

 G

 (gcd <num1> <num2>)

 <num1>과 <num2>의 최대 공약수를 구한다.

 (getangle [<pt>] [prompt>])

 사용자로부터 각도를 요구한다.

 (getcorner <pt> [prompt>])

 사용자로부터 <pt>점을 기준으로 점를 요구한다.

 (getdist [<pt>] [prompt>])

 사용자로부터 거리를 요구한다.

 (getenv <var-name>)

 시스템 환경변수의 값을 응답한다.

 (getreal [<prompt>])

 사용자로부터 실수 입력을 요구한다.

 (getstring [<cr>] [<prompt>])

 사용자로부터 문자열 입력을 요구한다.

 (getvar <varname>)

 AutoCAD의 시스템 변수를 구한다.

 (graphscr)

 화면을 그래픽 화면으로 전환한다.

 

 I

 (if <testexpr> <thenexpr> [<esleexpr>])

 <testexpr>이 nil이 아니면 <thenexpr>을,
 그외의 경우에는 <elseexpr>을 실행한다.

 (initget [<bits>] [<string>]...)

 getxxx 함수에 의해서 사용되는 각종 옵션을 설정한다.

 (itoa <integer>)

 정수를 문자로 변환한다.

 

 L

 (lambda <arguments> <expr> ...)

 anonymous(무영) 함수를 정의한다.

 (last <list>)

 <list>의 마지막 요소를 응답한다.

 (length <list>)

 <list>의 요소수를 정수로 응답한다.

 (list <expr1> <expr2>...)

 <expr1>, <expr2> 이후의 요소를 묶어 하나의 list로 응답한다.

 (listp <item>)

 <item>이 리스트이면 T, 그렇지 않으면 nil을 응답한다.

 (load <filename> [<onfaiure>])

 AutoLISP 파일을 loading한다.

 (log <num>)

 <num>의 자연대수를 구한다.

 (logand <num> <num> ... )

 logand 이후의 숫자의 논리곱 AND를 구한다.

 (logior <num> <num> ... )

 logand 이후의 숫자의 논리합 OR를 구한다.

 (lsh <num> <numbits> ... )

 <num>을 <numbits> 만큼 논리적으로 시프트한다.

 

 M

 (mapcar <function> <list> <list>... )

 list의 개별 요소를 갖는 <function>을 실행한다.

 (max <num1> <num2> ... )

 나열된 수치 중 가장 큰수를 구한다.

 (member <expr> <list>)

 <list>를 검색하여 <expr> 을 찾는다.

 (min <num1> <num2> ... )

 나열된 수치 중 가장 작은수를 구한다.

 

 N

 (not <item>)

 <item>의 결과 T인지 nil인지 검사한다.

 (nth <n> <list>)

 <list>의 <n>번째 요소를 응답한다.

 (null <item>)

 <item>이 nil이면 T를 응답한다.

 (nump <item>)

 <item>이 실수 또는 정수이면 T를 응답한다.

 

 O

 (open <filename> <mode>)

 파일을 오픈한다.

 (or <expr1> <expr2> ...)

 <expr1>, <expr2> 중 어느 하나라도 nil이 아니면 T를 응답한다.

 (osnap <pt> <mode>)

 <mode>에 의해서 <pt>점에 적용한 점을 구한다.

 

 P

 (pi)

 상수로 3.1415926, π

 (polar <pt><angle><distance>)

 <pt>점에서 <angle> 각으로 <distance>거리만큼 떨어진 점을 구한다.

 (prin1 <expr> [<file-desc>])

 <expr>을 화면 또는 파일에 출력한다.

 (princ <expr> [<file-desc>])

 <expr>을 화면 또는 파일에 출력한다.

 (print <expr> [<file-desc>])

 <expr>을 화면 또는 파일에 출력한다.

 (progn <expr1> <expr2> ...)

 여러 개의 실행문 및 수식을 하나의 문장으로 묶어 처리한다.

 (prompt <msg>)

 화면에 <msg>를 출력한다.

 

 Q

 (quote <expr>)

 <expr>을 계산 없이 그대로 응답한다.

 

 R

 (read <string>)

 <string>의 첫 번째 list또는 atom을 응답한다.

 (read-char [<file-desc>])

 키보드 또는 파일에서 하나의 문자를 읽어 들인다.

 (read-line [<file-desc>])

 키보드 또는 파일에서 하나의 문자열을 읽어 들인다.

 (redraw [<ename> [<mode>]])

 도면 전체 또는 <ename>을 REDRAW한다.

 (rem <num1> <num2>)

 <num1>을 <num2>로 나누고 나머지를 구한다.

 (repeat <num> <expr> ...)

 <expr>을 <num>만큼 반복한다.

 (reverse <list>)

 <list>를 거꾸로 배치한다.

 (rtos <num> [<mode> <precision>])

 <num>를 여러 형태의 문자열로 응답한다.

 

 S

 (setq <sym> <expr> ...)

 <expr>을 <sym>에 설정한다.

 (setvar <varname> <value>)

 AutoCAD의 시스템 변수를 <value>로 설정한다.

 (sin <angle>)

 <angle>의 사인값을 구한다.

 (ssadd [<entity-name> [<selection-set>]])

 <selection-set>에 <entity-name>을 추가시킨다.

 (ssget [<mode> <pt1> <pt2> <pt-list>] [<filter-list>])

 하나 이상의 도면요소를 선택한다.

 (sslength <selection-set>)

 <selection-set>에 있는 도면요소의 갯수를 구한다.

 (ssname <selection-set> <index>)

 <selection-set>에서 <index>번째의 도면 요소의 이름을 구한다.

 (sqrt <num>)

 <num>의 제곱근을 구한다.

 (strcase <string> [<t>])

 <string>을 대문자 또는 소문자로 응답한다.

 (strcat <string1> <string2> ...)

 나열된 <string1>, <string2> ...을 연결하여 응답한다.

 (strlen <string>)

 <string>의 문자수를 구한다.

 (substr <string> <start> [<length>])

 <string>을 <start>부터 <length>수 만큼 응답한다.

 

 T

 (tblsearch <table name> <symbol> [<setnext>])

 <table name>의 <symbol>에 대한 정보를 응답한다.

 (terpri)

 화면에 newline을 출력한다.

 (textscr)

 TEXT 화면으로 전환한다.

 (type <item>)

 <type>의 형태를 응답한다.

 

 W

 (while <testexpr> <expr> ....)

 <testexpr>이 nil 이 될 때까지 <expr>을 계산한다.

 (write-char <num> [<file-desc>])

 파일에 <num>의 ASCII 코드에 대당하는 문자를 기록한다.

 (write-line <string> [<file-desc>])

 파일에 <string>을 기록한다.

 

 Z

 (zerop number)

 number가 0인지 검사한다.

 

AutoLISP 사용 규칙

최초 작성일 2000.02.09

Load 함수

최종 수정일 2006.03.11