AutoLISP
ヘルプ
AutoCAD 2020の場合は、<F1>→lispでキーワード検索→概要 - AutoLISPアプリケーションから閲覧できる
関数の呼び出し
funcにval1とval2を入れて呼び出す
code:lisp
(func val1 val2)
(func val1 val2)の結果をfunc2に渡す
code:lisp
(func2 (func val1 val2))
変数の代入
変数x宣言し、"aaa"を代入する
code:lisp
(setq x "aaa")
変数xとyを同時に定義する
code:lisp
(setq x "aaa" y 56)
最後に宣言した変数の値をfuncに代入する
code:lisp
(func 23 (setq x "aaa" y 56))
演算子
code:lisp
(* 34 (+ 56 45))
演算子も関数の一種ということ
コメント
一行コメント:;を先頭につける
code:lisp
; this is a comment
(* 34 (+ 56 45)) ; this is also a comment
複数行コメント:;|と|;で囲む
関数定義
code:lisp
(defun func (aaa bbb)
(strcat aaa "+" bbb)
)
(func "a" "b")
ローカル変数は引数部分で/で区切って先に宣言する
code:lisp
(defun func (aaa bbb / ccc)
(setq ccc "test")
(strcat ccc "+" aaa "+" bbb)
)
(func "a" "b")
!ccc
global変数のほうのcccはnilになる
区別しやすいよう、global変数名は*text*のようにアスタリスクで囲っておくとよい
すべて関数として定義されている
PAUSE
PI
T
trueを示す
falseを示したいときはnilを使う
code:lisp
(command "._circle" "0,0" "4,4")
ユーザーに値を指定させたい場合は、その部分にPAUSEを入れる
こっちのほうが高速らしい
再定義されたコマンドを使わない場合は_.か._を先頭につける