VisualLispでプログラミング! 個人でできるAutoCADカスタマイズ 第2回


はじめに

本連載は「AutoCADのカスタマイズをやってみたいと思っている、基本的なプログラミングの概念は理解している個人の方」を対象にしています。

第2回です!

第1回となる前回はオリジナルコマンドの作成方法について解説しました。

コマンドの機能はコマンドウィンドウに「Hello world.」と表示するだけのシンプルなものでしたが、VisualLispでカスタマイズコマンドを作成できることがご理解いただけたと思います。

第2回となる今回はもう少し進んで、カスタマイズコマンドで図形を作図する方法を解説します。

VisualLispを起動する!

今回もVisualLispを使用します。

VLISPコマンドを実行してVisualLispを起動してください。

(リボンインタフェイスでは「管理」タブの「アプリケーション」パネルから「Visual LISP エディタ」を選択)

起動したら「ファイルを新規作成」でカスタマイズコマンド作成の準備をしてください。

CADカスタマイズとは何か?

いきなり図形作図から話がそれますが、皆さんはCADカスタマイズとは何かという質問を受けたときどんな答えが出てきますか?

いろんな考えや意見が出てくるとは思いますが、CADカスタマイズの基本は以下のようなものになると考えています。

「CADカスタマイズとは、CADで手作業で行っていることを、CADに自動で行わせること」

大規模なカスタマイズでは、外部のシステムとの連携や組み合わせなどで「CADだけではできないこと」を実現したりしますが、CADがやっている部分に限れば「手作業で行っていたことを自動で行えるようにした」だけなのです。

VisualLispで図形作図

図形作図の話に戻ります。

カスタマイズに慣れていない場合は「図形作図といってもどうすればいいかわからない」方もいるかもしれません。

しかし、図形作図といってもカスタマイズの基本から外れるものではありません。図形作図も「CADで手作業で行っていることを、CADに自動で行わせること」でしかないのです。

今回はいつもCADで手作業で行う作業として「原点を中心とした100.0×100.0のバツ印」の作図があると仮定して作図作業を自動化します。

「原点を中心とした100.0×100.0のバツ印」は手作業で2つの線を作図しているものとします。

では、以下の「MYCLINE」カスタムコマンドのプログラムをVisualLispに入力してください。

(defun C:MYCLINE ()
(command “line” “-50.0,-50.0” “50.0,50.0” “”)
(command “line” “-50.0,50.0” “50.0,-50.0” “”)
(princ)
)

プログラムを入力したVisualLispの画面

VisualLispのメニューで「ツール – エディタ内のテキストをロード」を選択して、プログラムをAutoCADにロードします。

AutoCADのコマンドウィンドウに「MYCLINE」と入力してカスタマイズコマンドを実行すると、「原点を中心とした100.0×100.0のバツ印」が作図されます。

MYCLINEカスタムコマンドの実行結果

プログラムの解説

プログラムの内容について解説します。

defun C:MYCLINE ()

コマンドを登録する命令です。「MYCLINE」部分がコマンド名です。

command “line” “-50.0,-50.0” “50.0,50.0” “”

AutoCADのコマンドを実行する命令です。

「command」部分がAutoCADのコマンドを実行する命令で、続く「”line”」で線(line)コマンドを指定しています。

それ以降の「”-50.0,-50.0″ “50.0,50.0” “”」がコマンドのパラメータとなります。

この命令はいつも使用している線(line)コマンドの実行そのものです。

線(line)コマンドで(-50.0,-50.0)から(50.0,50.0)に線を手作業で作図する場合次のようにAutoCADに入力します。

  • コマンドウィンドウに”line”を入力
  • 始点として”-50.0,-50.0″を入力
  • 終点として”50.0,50.0″を入力
  • 次の線分を作図しないため未入力でコマンド終了(スペースやエンターの入力)

3つ目までは手作業と全く同じであることがわかります。4つ目のみ差異がありますが未入力をパラメータ化すると””となると覚えてください。

command “line” “-50.0,50.0” “50.0,-50.0” “”

同じくAutoCADのコマンドを実行する命令です。

ここでは2本目の線となるため、始点と終点のパラメータが変化しています。

princ

コマンドウィンドウにメッセージを表示する命令ですが、メッセージをして指定していません。

「AutoLispのプログラムの最後には必要なおまじない」として覚えてください。

()

プログラムの全体や命令を括弧で囲んでいます。これはAutoLispの(ベースとなっているLispの)ルールになります。

他の図形の作図について

今回のプログラムは線の作図のみとなりますが、「command」命令を使えば他の図形も作図できます。

手作業の作図で使用しているコマンドを指定して、その入力をそのままパラメータとすればどのような図形の作図も可能なのです。

例えば円を、原点を中心点に半径を100.0として、作図する場合は以下のプログラムになります。

(defun C:MYCIRCLE ()
(command “circle” “0.0,0.0” “100.0”)
(princ)
)

いつもの作図作業では、アイコンによるコマンドの起動や、マウスによる座標指示ダイナミック入力の使用などで、コマンド名称(lineやcircleなど)やパラメータの内容などを意識することは少ないかもしれません。

この機会にいつもの作図作業のコマンド名称やパラメータの内容を整理して、カスタマイズコマンドで作図手順を自動化してみてはいかがでしょうか。

まとめ

今回はVisualLispで図形作図する方法を解説しました。

今回の解説では固定的なパラメータ(座標)での作図でしたので、次回はパラメータ(座標)をカスタマイズコマンド実行時に変更する方法を解説したいと考えています。

それでは。

CONTACT

株式会社キャパでは、CADの開発・改善について
ご相談を承っています。

営業時間:月~金 9:30~18:00 
土日・祝 定休日
FAXでのお問い合わせは24時間受付中 
FAX:03-5297-2879


関連記事一覧

we love develop
アプリやシステムの開発を通じて、お客様のビジネスを成長させることが私たちのビジネスです。お気軽にお問い合わせください。
 お問い合せ

お電話でのお問い合わせはこちらから
TEL:03-5297-2871

メールマガジンの登録

キャパでは誰かに話したくなるようなIT小ネタを、週に一回メルマガで配信しています。
ぜひ購読してみませんか?
 購読する

ホワイトペーパーの入手

ITブログ月間20万PV達成!自社オウンドメディアの運用ノウハウを無料公開しています。
 ダウンロード

記事カテゴリ

月別投稿記事

PAGE TOP