概要 - システム変数と環境変数(AutoLISP)

AutoLISP アプリケーションは、getvar 関数と setvar 関数を使用して、AutoCAD のシステム変数の値を調べたり変更することができます。

これらの関数は、変数名を文字列で指定します。setvar 関数では、システム変数の新しい値を指定する 2 番目の引数を指定する必要があります。AutoCAD のシステム変数は、さまざまなデータ タイプ(整数、実数、文字列、2D 点、3D 点)を受け付け、返します。

setvar に引数として指定する値は、このいずれかのタイプでなくてはなりません。無効なタイプを指定すると、AutoLISP エラーの原因となります。

次のサンプル コードは、AutoCAD のシステム変数 FILLETRAD の値を取得および設定する方法を示しています。

(if (< (getvar "filletrad") 1)
  (setvar "filletrad" 1)
)

その他の関数 getenv および setenv は、現在定義されているオペレーティング システムの環境変数にアクセスできる AutoLISP ルーチンを提供します。システム変数名とは異なり、環境変数名では大文字と小文字が区別されます。たとえば、MaxHatch と MAXHATCH は同じではありません。setenv 関数を使用するときは、新しい値がたとえ数値の場合でも常に文字列として新しい値を提供します。

次のサンプル コードは、環境変数 MaxHatch を設定する方法を示しています。

(setq curMaxHatch (getenv "MaxHatch"))
(prompt (strcat "\nCurrent value of MaxHatch: " curMaxHatch))
(setenv "MaxHatch" "50000")
(prompt (strcat "\nNew value of MaxHatch: " (getenv "MaxHatch")))
(setenv "MaxHatch" curMaxHatch)