AutoCADをプログラムで自動化してみよう
この記事では次の3つのことがわかります
1.AutoCADを制御するプログラム言語について
2.AutoCADをAutoLISPでプログラミングする方法
3.AutoCADをVBAでプログラミングする方法
AutoCADを制御するプログラム言語について
CADで作業をするとき、同じ図形をたくさん作図する、ファイルを一括で変換するなど、定型的な作業を行う場合があります。
このような作業を手作業で行うと、時間がかかり、ミスも発生しやすくなります。
AutoCADでは、あらかじめ、作図や編集などの操作をプログラミングしておき、必要なときに実行する機能が搭載されています。
AutoCADにはいくつかのプログラミング言語が用意されているので、その概要について説明します。
アクションレコーダー
アクションレコーダーはプログラミング言語というより、操作を記録して、あとで再利用する仕組みです。
記録された操作は「アクションマクロ」として保存されます。
マクロは名前をつけて複数保存しておくことが出来ます。また、マクロの内容を編集することも可能です。
たとえば「矩形を書いて寸法を書く」という操作を記録しておき、あとで矩形の大きさを編集することが出来ます。
また、矩形の大きさをマクロ実行時に入力できるようにすることも可能です。
ただし、操作を繰り返し行ったり、変数を使ったりなどプログラミングに必要な要素は実装されていません。
単純な作業を定型化することに利用すると良いでしょう。
なお、アクションレコーダーはAutoCAD LTでは使えないのでご注意ください。
スクリプトファイル
AutoCADを操作していると、画面下のコマンド履歴に実行したコマンドが文字列で表示されます。
AutoCADはすべての操作をコマンドで行っており、それは文字列や数値で表現されています。
たとえば、円を書く操作は「円コマンドを指定、中心の座標を指定、半径を指定」という書き方になります。
これをスクリプトにすると、
CIRCLE
1000,2000
2000
Y
となります。上記は絶対座標(1000,2000)に半径2000の円を書くスクリプトになります。
スクリプトファイルはテキストファイルです。
お使いのテキストエディタで作成し、拡張子を「.scr」にして保存することでスクリプトファイルを作成することができます。
AutoCADでこのファイルを実行するには、コマンドラインに「SCRIPT」と入力します。
「スクリプトファイルを選択」のダイアログボックスが表示されますので作成したスクリプトを選択すると、スクリプトファイルに書かれているコマンドが1行目から順に実行されます。
このスクリプトファイルはテキストファイルであるため編集がしやすく、コマンドをあらかじめ記載しておくことで様々な作業を定型化することができます。
ただし、こちらも制御文や変数が使えないので「プログラミング」とは言えないレベルですが、DIESEL式を用いるとある程度の制御ができるようになります。
AutoLISP
AutoLISPはAutoCADで動作するLISPというプログラミング言語です。
LISPは歴史のあるプログラミング言語なので、使ったことがある方もいらっしゃるかも知れません。
残念ながらAutoCAD LTではAutoLISPを使うことが出来ません。
最初の導入方法については次の章で説明します。
VBA
AutoCADではMicrosoftが開発したVBA(Visual Basic for Applications)を利用することが出来ます。
こちらも詳しい導入方法についてはのちほど説明します。
なお、VBAもAutoCAD LTでは使えませんのでご注意ください。
AutoCADをAutoLISPでプログラミングする方法
AutoCADでAutoLISPを使うためには「管理」タブの「Visual LISPエディタ」からプログラミングを始めます。
初めて「Visual LISPエディタ」を実行すると「AutoCAD AutoLISP Extension」をインストールすることになります。
また、AutoCAD2021以降では「Microsoft Visual Studio Code」もインストールされ、開発は「Visual Studio Code」で行うことになります。
※すでに「Microsoft Visual Studio Code」をインストールしている場合はプログラムの場所を指定することになります。
では、実際に開発環境を整備していきましょう。
初めて「管理」タブの「Visual LISPエディタ」をクリックすると以下のダイアログが表示されます(画面はAutoCAD2021の場合、以下同)。
最初に「Microsoft Visual Studio Code」をダウンロードしてインストールします。
画面の指示に従い、「使用許諾契約の同意」の「同意する」を選択して「次へ」ボタンをクリックします。
「インストール先の指定」は特に変更がなければそのまま「次へ」ボタンをクリックします。
「スタートメニューフォルダの指定」もそのまま「次へ」ボタンをクリックします。
「追加タスクの選択」では「PATHへの追加」にチェックを付けてから「次へ」ボタンをクリックします。
以上で設定は終了です。「インストール」ボタンをクリックするとインストールが始まります。
「Visual Studio Codeセットアップウィザードの完了」が表示されたら「Visual Studio Codeを実行する」のチェックを外して「完了」ボタンをクリックします。
インストールが完了したら、パソコンを再起動します。その後AutoCADを立ち上げて「管理」タブの「Visual LISPエディタ」をクリックします。
「Visual Studio Code」が起動して「AutoCAD AutoLISP Extension」をアドオンとして追加する画面になりますので「Open」ボタンをクリックします。
「Visual Studio Code」は標準ではメニューが日本語化されていないので、以下の手順で日本語化できます。
1.「View」―「Command Palette」を選択
2.「Configure Display language」を選択
3.「Install additional languages」を選択
4.左側に表示されている言語から「日本語」をインストール
「Visual Studio Code」を再起動するとメニューが日本語になっています。
AutoLISPで開発する時は左側の「LISP」と書かれたアイコンからプロジェクトを開始します。
プログラミングの詳細はAutodesk社のサイトに詳しく掲載されているのでご参照ください。*1
AutoCADをVBAでプログラミングする方法
AutoCADでVBAを使うためには「管理」タブの「Visual Basic Editor」からプログラミングを行います。初めて実行するときに「AutoCAD用のMicrosoft VBAモジュール」をインストールします。*2
お使いのバージョンに合ったモジュールをダウンロードして、ファイルを実行するとインストール画面になりますので「Install」をクリックします。
※インストール時にAutoCADが実行されているとエラーになりますので、AutoCADのプログラムは終了させておきましょう。
インストール先のフォルダを指定します。特に変更がなければこのまま「Install」ボタンをクリックします。
「You have successfully installed the selected products」と表示されたら終了です。「Finish」ボタンをクリックします。
「AutoCAD用のMicrosoft VBAモジュール」をインストール後にAutoCADを起動して「管理」タブの「アプリケーション」にある「Visual Basic Editor」を実行すると「VBAエディタ」が起動します。
VBAによるプログラミングについてはAutodesk社のサイトに掲載されているのでご参照ください。*3
【まとめ】
今回はAutoCADをプログラムで自動化するための方法をいくつかご紹介しました。
簡単なスクリプトを書く方法から、本格的なAutoLISPやVBAを使った開発、さらに今回は触れませんでしたが.NETアプリケーションによる開発も可能です。
定型的な作業や繰り返し行う作業、例えば、図面枠を用意して縮尺や寸法設定を定義するなどは、図面を書き始める時に毎回行う作業です。
こういった一連の流れはプログラムを組んでおくことで、次回の作業が楽になるばかりではなく、誰でもその作業を行うことができるため、業務の効率化につながります。
まずは簡単なプログラミングからはじめて、徐々にステップアップしてみてください。
図面を書くとは違う、新しいCADの楽しみ方が見つかるかもしれません。
建設・土木業界向け 5分でわかるCAD・BIM・CIMの ホワイトペーパー配布中!
CAD・BIM・CIMの
❶データ活用方法
❷主要ソフトウェア
❸カスタマイズ
❹プログラミング
についてまとめたホワイトペーパーを配布中
デジタルツインと i-Constructionについての ホワイトペーパー配布中!
❶デジタルツインの定義
❷デジタルツインが建設業界にもたらすもの
❸i-Constructionの概要
❹i-Constructionのトップランナー施策
▼キャパの公式Twitter・FacebookではITに関する情報を随時更新しています!
参考URL
AutoLISP:開発者用ガイド *1
https://help.autodesk.com/view/OARX/2021/JPN/?guid=GUID-49AAEA0E-C422-48C4-87F0-52FCA491BF2C
AutoCAD 用の Microsoft VBA モジュールをダウンロードする *2
https://knowledge.autodesk.com/ja/support/autocad/downloads/caas/downloads/downloads/JPN/content/download-the-microsoft-vba-module-for-autocad.html
VBA を使用してアプリケーションを開発する*3
https://help.autodesk.com/view/OARX/2021/JPN/?guid=GUID-2CD40631-D67B-4DF0-A2C4-606E9B613252