AutoCADのシステム変数とは
- AutoCADの環境をコントロールする変数
- AutoCADのコマンドの動作をコントロールする変数
- システム変数のデータタイプは、整数、実数、文字列、2D点、3D点がある
コマンドラインでのシステム変数の操作
システム変数の値を設定する
コマンドラインにシステム変数名を入力し、[Enter] 押し次に設定する値を入力。
※ 読み込み専用のシステム変数には値を設定できない
システム変数の一覧を表示する
コマンドラインに SETVAR と入力し、その次に ? [Enter] を入力。
AutoLISPで操作
システム変数を操作するための関数
| 関数名 | 説明 |
|---|---|---|
| getvar | システム変数の値を取得する |
| setvar | システム変数の値を設定する |
※ command関数を使ってコマンドラインから、システム変数を設定することもできる
AutoLISPでAutoCADコマンドを実行する
値を取得する
(setq val (getvar "システム変数名"))
;; 変数valに値を格納
値を設定する
(setvar "システム変数名" 値)
;; 値を設定する時は、適切なデータタイプを設定する必要がある
;; 読み込み専用のシステム変数には値を設定できない
AutoLISP 簡単な例
グリッドをオンにする
(setvar "GRIDMODE" 1)
グリッドをオフにする
(setvar "GRIDMODE" 0)
フィレット半径を "2.5" に設定する
(setvar "FILLETRAD" 2.5)
現在の画層名を取得
(setq layerName (getvar "CLAYER"))
;; 変数 layerName に現在の画層名が文字列で格納される
現在の画層を設定
(setvar "CLAYER" "設定する画層名")
;; 設定する画層名が存在しない場合はエラーになる
画層"Red"に線分を作成(2点を選択して)
;; 現在の画層を一時保存
(setq clayer (getvar "CLAYER"))
;; 現在の画層を"Red"に設定
(setvar "CLAYER" "Red")
;;ユーザーが2点を選択して、線分を作成
(command "LINE" PAUSE PAUSE "")
;; 画層を元に戻す
(setvar "CLAYER" clayer )
Express Tool でシステム変数の操作
エクスプレスツールの SYSVDLG コマンドを使うと、
システム変数の設定を表示、編集、保存、復元することができる。
Express Tool SYSVDLGコマンド(公式ヘルプ)