図描きの備忘録

日々の業務の時間短縮。残業しないで帰る事を目指し、悪戦苦闘中。AutoCAD、Lisp、効率化、自動化、合理的、プログラミング、資産運用勉強中

Lisp実践編 - 4 - 簡単色番号変更

Lisp実践編 - 4

こんにちは!

エカキオです!

今回は選択したオブジェクト(複数可)の色をコマンドで指定します。
通常であれば、オブジェクトを選んで、プロパティの中身を編集するなど、
マウスの作業が発生します。

コマンドでも「change」を使わないといけません。


「change」コマンドでもいいですが、どのプロパティを編集しますか?など選択せねばなりません。

極力目的を明確にコマンド入力した方が完結かと思って作成しました。

よく使う色番号は覚えて使用すると便利です。

ベースであれば、

1 RED
2 YELLOW
3 GREEN
4 CYAN
5 BLUE
6 MAGENTA
7 WHITE

です。

何の番号も指定せず、Enterすると、が入力されるようになっています。
ByLayerに戻すときは、そのままEnterしましょう。


そのままコピーして、好きなコマンド・好きなファイル名にしていただいても構いません。
AutoCAD Lisp 入門 - 1 - 最強の時短ツール「Lisp」とは - 図描きの備忘録


コード

;カラー番号指定
(defun c:CC ( / ss )
	(princ "¥nカラー番号指定")
	(setq ss (ssget))
	(initget 1 "BB BY  ")
	(setq t1 (getint "¥n番号指定 Bylay(BY)/ByBlo(BB) <BY>:"))
	(cond   ((= t1 "BB")(setq t1 "byblock"))
		((= t1 "BY")(setq t1 "bylayer"))
		((= t1 "")(setq t1 "bylayer"))
		(t)
	)
	(command "change" ss "" "p" "c" t1 "")
	(princ)
)

参考記事


ekakio.hatenablog.jp

ekakio.hatenablog.jp

ekakio.hatenablog.jp


実践編コードの共通事項

最上段には、コメントを入れています。
こちらのLispは何を目的にしているかを一目で判断するためです。
また、「(defun c:※※ ()」の直下には、
(princ "¥n〜")を入れることで、コマンド実行の際も、コマンドの目的がわかりやすくなっています。(たくさん作ってると後々忘れてしまいます。)

※こちらのLispは自己責任でお使い下さい。万が一、AutoCADがフリーズ、強制終了
した場合など不慮の事故が起きた場合も当ブログでは責任を負いかねます。
まずは何もないデータなどで、使用感を確かめてから使用することをお勧めします。

Related Posts Plugin for WordPress, Blogger...