Sponsored links

【AutoLISP 関数】 頻出関数 一覧

Sponsored links
Sponsored links
Sponsored links

実行

コマンド

command / command-s

AutoCADコマンドの実行。

引数:コマンド、コマンドオプション、”” 、pause
戻り値: –

例: コマンド”LINE”を実行、1点目は0,0を指定、2点目はユーザー入力(pause)、エンターキー(空白キー)でコマンドを終わる。

(command-s "._LINE" "0,0" pause "")

vl-cmdf 

AutoCADコマンドの実行。
command/command-s と違い、コマンド実行前に引数が評価され、引数にエラーがある場合はコマンドを実行しない。

引数:コマンド、コマンドオプション、”” 、pause
戻り値: –

例: コマンド”LINE”を実行、1点目は0,0を指定、2点目はユーザー入力(pause)、エンターキー(空白キー)でコマンドを終わる。

(vl-cmdf "._LINE" "0,0" pause "")

条件式

if

条件に応じてプログラムを実行

引数:条件式、条件式がTの時にするプログラム、条件式がnilの時にするプログラム(省略可)
戻り値: 実行されたプログラムの戻り値

例:  (getreal)で数値をユーザー入力。数値が10なら”10です”、それ以外なら”10以外です”とアラートボックスに表示する

(if (= (getint) 10)
       (alert "10です")
       (alert "10以外です")
)			

progn

複数のプログラムをひとつのセットにする。
関数 if など、実行できるプログラムは一つだけれど複数実行したいとき、prognを使ってひとまとめにする。

引数:実行したいプログラム
戻り値: 最後のプログラムの戻り値

例:  (getreal)で数値をユーザー入力。数値が10なら”10です”、それ以外なら”10以外です”と、コマンドラインに表示させて、アラートボックスにも表示する。

(if (= (getint) 10)
    (progn
        (princ "10です")
        (alert "10です")
    )
    (progn
        (princ "10以外です")
        (alert "10以外です")
    )
)			

cond

条件に応じてプログラムを実行

引数:条件式、条件式がTの時にするプログラム
戻り値: 実行されたプログラムの戻り値

例:  (getreal)で数値をユーザー入力し変数aに代入。 aに入った数値が10なら”10です”、 20なら”20です” 30なら”30です”、それ以外なら”それ以外です”とアラートボックスに表示する

(setq a (getreal))
(cond
 ((= a 10)(alert "10です"))
 ((= a 20)(alert "20です"))
 ((= a 30)(alert "30です"))
 ( t (alert "それ以外です"))
)		

=

複数の引数がすべて同じならTを戻す。

引数:同じ値かどうか調べたい数値、文字列
戻り値: 同じならT、一つでも違うものは入っていればnil

例:  10と5+5が同じ値か調べる
同じ値なのでTが戻ります。

(= 10 (+ 5 5))

例:  文字列Abcとabcが同じ値か調べる
大文字小文字は違う値になるので、nilが戻ります。

(= "Abc" "abc")

/=

複数の引数に異なる値があればT、すべて同じならnilを戻す。

引数:同じ値かどうか調べたい数値、文字列
戻り値: 一つでも違うものは入っていればT

例:  10と5+5が同じ値か調べる
同じ値なのでnilが戻ります。

(/= 10 (+ 5 5))

例:  文字列Abcとabcが同じ値か調べる
大文字小文字は違う値になるので、Tが戻ります。

(/= "Abc" "abc")

>

2つの引数のうち、左の引数の値が大きければTを戻す。

引数:2つの数値
戻り値: 左の数値の方が大きければT、そうでなければnil

例: 

(> 10 5)
T

(> 10 10)
nil

(> 5 10)
nil

>=

2つの引数のが同じか左の引数の値が大きければTを戻す。

引数:2つの数値
戻り値: 同じ、左の数値の方が大きければT、そうでなければnil

例: 

(>= 10 5)
T

(>= 10 10)
T

(>= 5 10)
nil

<

右の引数の値が大きければTを戻す。

引数:2つの数値
戻り値: 右の数値の方が大きければT、そうでなければnil

例: 

(< 10 5)
nil

(< 10 10)
nil

(< 5 10)
T

<=

2つの引数のが同じか右の引数の値が大きければTを戻す。

引数:2つの数値
戻り値: 同じ、右の数値の方が大きければT、そうでなければnil

例: 

(<= 10 5)
nil

(<= 10 10)
T

(<= 5 10)
T

null/not

引数の値がnil かどうか調べる。

引数:Tかnilか調べたい変数、条件式、など。
戻り値:引数の値がnilならT Tならnil

例:(= 1 2) の値がnilかどうか調べる。1と2は違うので(= 1 2)はnilなので戻り値はT

(null (= 1 2))
T

(not (= 1 2))
T

wcmatch

文字列がパターンと合っているかどうか調べる。ワイルドカードが使用できる。大文字小文字も区別する。

引数:文字列 パターン
戻り値: 文字列がパターンに合っていればT、そうでなければnil

例: 

(wcmatch "abc" "abc")
T

(wcmatch "abc" "a*")
T

(wcmatch "abc" "a@c")
T

繰り返し

repeat

指定した回数、プログラムを繰り返す。

引数:繰り返す数(数値)、繰り返したいプログラム
戻り値: 実行したプログラムの最後の戻り値

例: 変数a に0を代入後、aに1を足すのを10回繰り返す。

(setq a 0)
(repeat 10 (setq a (1+ a)))

while

引数の条件式がTの間、プログラムを繰り返す。

引数:条件式、繰り返したいプログラム
戻り値: 実行したプログラムの最後の戻り値

例: 変数a に0を代入後、aが10になるまでaに1を足すのを繰り返す。

(setq a 0)
(while  (> 10 a) (setq a (1+ a)))

foreach

リストの値を順々に引数にして同じプログラムを繰り返す。

引数:変数、変数に順番に入れたい値のリスト
戻り値: 実行したプログラムの最後の戻り値

例: 変数a に0を代入後、1、2、3、4を順番に足していく

(setq a 0)
(foreach n (list 1 2 3 4)
   (setq a (+ n a))
)

AutoCAD 設定変更

setvar

システム変数の値を変更

引数:システム変数名(文字列)、新しい値
戻り値: 新しく設定した値

例: 現在の画層(システム変数 CLAYER)を”0″にする

(setvar "CLAYER" "0")
Sponsored links
Sponsored links
Sponsored links