図描きの備忘録

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

Lisp実践編 - 30 - 簡易に矢印を描画する

Lisp実践編 - 30

こんにちは!

エカキオです!

矢印を書きます!
引き出し線の黒丸を変更したりすると書けたりしますが、このLispで書けるものは線と円で書いています。


各自のお好みで、始点の丸サイズや、矢印の角度などをカスタマイズするのも良いかもしれません。

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

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


コード

;矢印描画
(defun c:YJ ( / c0 c1 p1 p2)
	(princ "¥n矢印を書きます")

	(if (null YJ_CIRCLE)
	(setq YJ_CIRCLE 100)
	)

	(initget 1 " ")
	(setq c0 (getreal (strcat "¥n始点円の大きさ<" (rtos YJ_CIRCLE 2) ">:")))
	
	(if (= c0 "")
		(setq c1 YJ_CIRCLE)
		(setq c1 (rtos c0 2 0) YJ_CIRCLE c0)
	)
	
	(setq p1 (getpoint "¥n始点:"))
	(setq p2 (getpoint p1 "¥n終点:"))
	
	(command "undo" "be")
	(command "_pline" "non" p1 "non" p2 "")
	(command "_rotate" "l" "" "non" p2 "c" "-15")
	(command "_scale" "l" "" "non" p2 "0.3")
	(command "_mirror" "l" "" "non" p1 "non" p2 "n")
	(command "_pedit" "m" "p" "l" "" "j" "" "")
	(command "circle" "non" p1 "d" c1)
	(command "undo" "e")
	(princ)
)

参考記事

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...