Sponsored links

【AutoLISP コマンド操作】特定の画層に雲マーク – コマンド内に (entlast)

Sponsored links
AutoLISP
Sponsored links

AutoLISPで作った図形をそのまま編集したい!というときには、AutoLISP関数 entlast が便利です。

雲マークを作り、その図形を雲マーク用の画層にします。

Sponsored links

予備知識

この記事では、AutoCADの既存コマンドをAutoLISPプログラムにします。
関数 command-s を使って、既存コマンドを使う方法についての記事はこちら。

コマンドの内容

現在の画層、図形の画層関係なく、長方形などの図形をクリックするだけで、Jaga-Revという名前の画層で円弧の長さ5の雲マークを作成することができます。

AutoLISPプログラム

Jaga-Revという名前の画層があること前提のコマンドです、
画層Jaga-Rev を用意するか、Jaga-Revを既存の画層に書き換えて試してください。

コマンド名は test です。

(defun c:test ()
  (command-s "._REVCLOUD" "_A" 5 5 "_O" pause "_N")	
    (command-s "._CHANGE"  (entlast) "" "_P" "_LA" "Jaga-Rev" "")
(princ));defun

AutoLISPの説明

(command-s “._REVCLOUD” “_A” 5 5 “_O” pause “_N”)

この部分については、こちらの記事を参考にしてください。

(command-s “._CHANGE” (entlast) “” “_P” “_LA” “Jaga-Rev” “”)

コマンドCHANGE を使って、先ほど作った雲マークの画層を変えます。
関数 (entlast) は最後に描いた図形になるので、上の_REVCLOUDで作成した雲マークが画層を変える図形として自動的に選択されます。

カスタマイズ例

雲マーク用画層が無い場合、フリーズ、非表示になっている状況も考えて、画層が無ければ作成、フリーズしてたら解凍、非表示になっていたら表示するルーティーンも入れると、使い勝手がよくなると思います。

もっと便利にカスタマイズしたサンプルコマンドがこちらです。

まとめ

  • AutoLISP関数 entlast では最後に作図した要素を得ることができる。
  • command-s でコマンド操作をするとき、図形選択部分に(entlast) と入れれば、最後に作った要素を選択することになる。

Comments