寸法入力と同時に画層を変更するLISP

  • URLをコピーしました!

AutoCADでは、寸法を入力すると現在の画層に作成されます。
そのため、作図中の画層によっては、後から寸法の画層を変更する手間が発生することがあります。

こうした手間を減らすために、寸法入力と同時に画層を変更するLISPを作成しました。

※なお、注釈設定であらかじめ寸法の画層を指定することも可能ですが、LISPで制御したい場合の一例として紹介します。

(defun c:DIML ()
(command-s "DIMLINEAR" );
(setq sel (ssadd (entlast)))
(command-s "._CHPROP" sel "" "C" "ByLayer" "LA" "SUNPOU" "LT" "ByLayer" "S" "1" "LW" "ByLayer" "T" "ByLayer" "" "" )
)
すぐできる設定手順
  • コマンド「DIML」を入力
  • 寸法の1点目と2点目をクリック
仁(じん)

画像付きのSTEPは、下で確認できますよ!

Contents

操作手順

STEP
  • コマンド「DIML」を入力します
STEP
  • 寸法の1点目と2点目をクリックします
  • 寸法が描かれると同時に画層も変わります

LISP解説

CHPROP部分を説明します。

(command-s "._CHPROP" sel "" "C" "ByLayer" "LA" "SUNPOU" "LT" "ByLayer" "S" "1" "LW" "ByLayer" "T" "ByLayer" "" "" )

“._CHPROP”

オブジェクトのプロパティ(色・画層など)を変更するコマンドです。

sel “”

対象オブジェクトを指定しています。
ここでは、直前に作成した寸法(entlast)を対象にしています。

“C” “ByLayer”

色を ByLayer に変更します。
画層の設定に従うようになります。

“LA” “SUNPOU”

画層を「SUNPOU」に変更します。
これが今回のメイン処理です。

“LT” “ByLayer”

線種を ByLayer に変更します。

“S” “1”

線種尺度を 1 に設定します。

“LW” “ByLayer”

線の太さを ByLayer に変更します。

“T” “ByLayer”

透過性を ByLayer に変更します。

最後の “” “”

コマンドの入力を終了しています。

注釈メニューで寸法の画層を設定

AutoCADでは、注釈設定を使うことで、寸法を作成する際の画層を事前に指定することができます。

これにより、現在の画層に関係なく、寸法を常に指定した画層へ配置することができます。

凛(りん)

LISP作ったけど、これ標準機能でできましたね…。

まとめ

この処理では、作成した寸法オブジェクトに対して

  • 画層を「SUNPOU」に変更
  • 色、線種、線の太さをByLayerに統一

することで、図面の設定を揃えています。

関連記事

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

Contents