😊

AutoCAD 面積を描き出すコード 1

に公開

AutoCADで面積を描き出すLISPを作った話(僕の原点)

きっかけは「時間が4倍」になったこと

AutoCADを使って台帳図を描く仕事をしていたとき、ある問題が起きました。
前任者が作ったLISPが、AutoCADのバージョンアップで動かなくなったのです。
その結果、作業時間はなんと4倍に…。
「これは無理だ」と思い、プログラマーに修正をお願いしました。

師匠との出会い

そのプログラマーの方はとても優しく、ただ直すだけでなく、LISPの書き方のヒントを教えてくれました。
(僕にとって、この方が師匠です)

(setq ename (car (entsel)))
(setq elist (entget ename))

このコードで図形の情報が見えた瞬間、**「うわ!すご!」**と感動しました。
「じゃあ、面積を描くLISPを作ってみよう」と決意し、1週間頑張ってコードを書きました。

初めての挑戦と洗礼

完成したLISPを師匠のHP掲示板にアップしたところ…
非難殺到!
「エラー処理は?」「1=1mの時しか計算できないじゃん」など、厳しい指摘が次々と。
でも師匠は、昨日作ったというコードを見せてくれました。
僕の550行のコードが、150行に。しかもエラー処理も単位変換も完備。
「これがプロなんだ」と、心から思いました。
なぜ面積描画LISPが必要なのか
面積を描く作業は、通常こうです:

CADで面積を測る

TEXTコマンドで「A=数字m²」と入力
これを繰り返す

1回や2回ならいいですが、横断図など大量処理では地獄です。
このLISPを使えば、**作業時間は1/100(ちょっと大げさ?)**に短縮できます(笑)

まとめ

この経験が、僕のAutoCADカスタマイズの原点です。
次回は、実際のコードと使い方を詳しく紹介しますきー
ほいたらねー

Discussion