読者です 読者をやめる 読者になる 読者になる

図描きの備忘録

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

Lisp実践編 - 28 - クリック毎にカウントアップ

Lisp実践編 - 28

こんにちは!

エカキオです!

今回は単純なLispを少々。


クリックをする毎に、1つずつ数値が上がっていくテキストを配置します。

プログラミングの繰り返し操作の基本の様なコマンドですね。
カウントしながらオブジェクトを配置したい時などに有効なコマンドです。


ぜひともご利用ください!

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


コード

;クリック毎に番号を振ります!
(defun c:NU ( / h1 p1 no )
	(princ "¥nクリック毎に番号を振ります!")
	(initget 1)
	(setq h1 (getreal (strcat "¥n文字高さ<" (rtos (getvar "textsize")) ">:")))
	(setvar "textsize" h1)
	(initget 1)
	(setq no (getint "¥n開始番号を入力:"))
	(while (setq p1 (getpoint "¥n点をクリック:"))
		(setq no (rtos no 2 0))
		(entmake (list '(0 . "TEXT")
				(cons 10 p1)
				(cons 40 (getvar "textsize"))
				(cons 1 no)
			 )
		);文字作成
		(setq no (atoi no))
		(setq no (1+ no))
	)
)

参考記事

Lisp 入門編 カテゴリーの記事一覧 - 図描きの備忘録

実践編コードの共通事項

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

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


最速攻略AutoCAD VB.NETマクロサンプル大全集AutoCAD2009/2010/2011/2012/2013対応

最速攻略AutoCAD VB.NETマクロサンプル大全集AutoCAD2009/2010/2011/2012/2013対応

Related Posts Plugin for WordPress, Blogger...