1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AutoCADのシステム変数を操作する

Last updated at Posted at 2020-01-23

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コマンド(公式ヘルプ)

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?