変数は、メモリに値または値のリストを格納するために使用されます。
変数のデータ タイプは値を代入するときに決定されます。変数は、新しい値が代入されるまで、または変数が有効範囲外になるまでその値を保持します。変数の有効範囲はグローバルまたはローカルにすることができます。グローバル変数は図面にロードされた AutoLISP プログラムからアクセスすることができます。一方、ローカル変数は特定の関数またはコマンド内でのみ使用できます。変数に値を代入するには、AutoLISP の setq 関数を使用します。
setq 関数の構文は、次のとおりです。
(setq variable_name1 value1 [variable_name2 value2 ...])
setq関数は、指定された変数名に指定された値を代入し、最後に代入された値をその関数の結果として返します。次の例は、2 つの変数 val と abc を作成します。val には値 3 が代入され、abc には値 3.875 が代入されます。
(setq val 3 abc 3.875) 3.875
次の例は、layr という名前の変数を作成し、そこに "EXTERIOR-WALLS" という値を代入します。
(setq layr "EXTERIOR-WALLS") "EXTERIOR-WALLS"
変数に値を代入すると、式で関数の引数の値として使用することができます。次の例は、画層を作成し、0 度の特定の長さの線分を描画するために、いくつかの AutoLISP 式で前に作成した変数の内の 2 つを使用しています。
(command "_.-layer" "_make" layr "") (command "_.line" PAUSE (strcat "@" (itoa val) "<0") "")
変数の現在値を特定するには、次のメソッドを使用することができます。
コマンド: (setq val 3 abc 3.875)
3.875
コマンド: ! val
3
_$ (setq val 3 abc 3.875)
3.875
_$ val
3
コマンド: (setq val 3 abc 3.875)
3.875
コマンド: (princ val)(princ)
3