Lisp実践編 - 13 - 現在描画色、即替え
Lisp実践編 - 13
こんにちは!
エカキオです!
図面を作図、編集している時に一時的に現在使用している色を変更したいと思うことはありませんか?
基本的に色のコントロールはレイヤーに従属するBylayerで管理することを推奨しますが、一時的に赤色に変えて、作業内容をわかりやすくするなど、私はよく取る手法です。
そんな中、時短時短とセッカチな筆者としては、現在色もいちいちツールバーから選び直すのもなぁ、と思い作ってみました。
コマンドはAutoCADでいう左手のホームポジションであるキーボード左側(個人的にですが)で押しやすい「s」と数字にしています。
今回は「2」
ちなみに「1」はこちら。
Lisp実践編 - 8 - Oスナップ簡単セット - 図描きの備忘録
ぜひともご活用ください。
そのままコピーして、好きなコマンド・好きなファイル名にしていただいても構いません。
AutoCAD Lisp 入門 - 1 - 最強の時短ツール「Lisp」とは - 図描きの備忘録
コード
;現在の色を選択 (defun c:S2 ( / a) (initget 1 "a b ") (setq a (getint "現在の色を選択 ByLayer (a) ByBlock (b) <a>:")) (cond ((= a "a")(setq a "bylayer")) ((= a "b")(setq a "byblock")) ((= a "")(setq a "bylayer")) (t) ) (command "-color" a) (princ) )
参考記事
AutoCAD Lisp 入門 - 2 - オブジェクトの情報を抽出 - 図描きの備忘録
AutoCAD LISP 入門 - 4 - ユーザー入力待ち - 図描きの備忘録
実践編コードの共通事項
最上段には、コメントを入れています。
こちらのLispは何を目的にしているかを一目で判断するためです。
また、「(defun c:※※ ()」の直下には、
(princ "¥n〜")を入れることで、コマンド実行の際も、コマンドの目的がわかりやすくなっています。(たくさん作ってると後々忘れてしまいます。)
※こちらのLispは自己責任でお使い下さい。万が一、AutoCADがフリーズ、強制終了
した場合など不慮の事故が起きた場合も当ブログでは責任を負いかねます。
まずは何もないデータなどで、使用感を確かめてから使用することをお勧めします。
キーワード
現在色,描画色,color,bylayer,byblock