【AutoCAD応用知識】VBAマクロで自動化する方法まとめ
AutoCADには、アクションレコーダやスクリプト、Visual LISP(AutoLISP)、VBA(ActiveX)、ObjectARXなど、さまざまなプログラミングカスタマイズの機能が備わっています。その中でも、ここではVBAマクロを使用してAutoCADを自動化する方法に焦点を当てます。
マクロは、一言で言えば「手動で行っていた操作をプログラムを使って全自動で行う機能」であり、主にExcelで広く利用されています。AutoCADの作図機能は柔軟に描画できる一方で、いくつかの面倒な操作が存在し、繰り返しの単純な作業も頻繁に発生します。このような繰り返し作業や単純な作業は、プログラムが最も得意とする領域であり自動化が適しています。
VBAは独学でも十分に学習が可能であり、AutoCAD VBAを習得することは作業の効率向上に非常に有益です。 AutoCADを自動化するためにVBAマクロを利用することで、手動で繰り返し行う作業をプログラムによってスムーズに処理でき、時間と労力の削減を図ることができます。
ページ最後では「こういったVBAマクロを作りたい!」「こういった事がしたいけどVBAでどう書くかわからない!」という方向けにマクロ案を募集しているので、そちらもうまく学習にご活用下さい。
LINEオープンチャット開設しました!
VBAをはじめAutoLISPやAutoCADの基本的な操作方法などを匿名で気軽に聞くことができるコミュニティです。このオープンチャットはAutoCADユーザー間での情報共有やスキル向上を目的としています。
AutoCAD VBAとは
VBA(Visual Basic for Applications)は、Microsoft社が開発したプログラミング言語であり、ユーザーが手軽にプログラミングできるように設計されたプログラミング言語です。元々はExcelやAccessなどのOffice系アプリケーションの操作を簡単に自動化することを目的としていましたが、現在ではAutoCADをはじめとしたCADソフトでもVBAに対応したアプリケーションが広く存在しています。
AutoCAD VBAでは形状を作成することはもちろん寸法やテキストの作成/配置、色の変更などの様々なことを自動化させることができます。下動画を見るとイメージがつかめるのであわせて参照下さい。
AutoCADでVBAを利用するには
AutoCADは標準でVBAを実行/開発するための機能が備わっていません。VBAを利用可能の環境にするにはAutodesk公式ページよりAutoCAD用のVBAモジュールをインストールする必要があります。インストール方法はダウンロードしたexeファイルを実行して画面の指示に従うだけです。
インストールが完了するとAutoCADのメニューバー>[管理]>[アプリケーション]内にVBA開発のコマンドが追加されます。VBAを開発するにはこれらのコマンドを使います。
基礎知識編
・AutoCAD VBAマクロ開発の基礎知識 ※AutoCAD VBA初学者必読
【AutoCADオブジェクト】
・モデル空間とペーパー空間 (ModelSpace/PaperSpace)
・画層の作成とプロパティ編集 (Layer)
・オブジェクトの色の取得と編集 (AcCmColor)
・ダイナミックテキストとマルチテキストの作成と編集 (Text/MText)
・引出線とマルチ引出線の作成と編集 (Leader/MLeader)
・ハッチングとグラデーションの作成と編集 (Hatch)
・表(テーブル)の作成と編集 (Table)
・ユーザー選択オブジェクトを取得する (SelectionSet)
・図面プロパティの取得と編集 (SummaryInfo)
【AutoLISP連携】
・AutoCAD VBAでAutoLISPを実行する
・AutoCAD VBAでファイル選択ダイアログを表示する方法
・AutoCAD VBAで曲線の長さを取得する方法
・AutoLISPで指定のdvbファイルを一括でロードする
サンプルマクロ集
・テキストの文字列を一括で置換するマクロ
・寸法線の矢印を一括で変更するマクロ
・点の座標を一括で取得するマクロ
・使用されていない画層を一括削除するマクロ
・ポリラインで囲われたエリアの面積を測定するマクロ
・2Dリージョンのマスプロパティを取得するマクロ
・スプライン曲線で正弦波を作成するマクロ
・指定の位置から検索文字に線を引くマクロ
・図面内のテキストのスペルと文法を一括で確認するマクロ (Word連携)
応用知識編
ここではAutoCADを他のアプリケーションと連携させたり、VBAでWindows APIを呼び出す方法などのさらに応用的な内容を解説しています。VBA初心者の方には少し難しい内容となっていますが、これらを理解することで作成することのできるVBAマクロの幅が一気に広がります。
Excel連携
・Excelファイルからテキストを配置するマクロ
・ExcelファイルをAutoCADの表として出力するマクロ
Windows APIの利用
AutoCAD VBAマクロ案募集
「こういった事がしたいけどVBAでどう書くかわからない!」という方に向けてマクロ案を募集しています。下記フォームもしくはお問い合わせより、作成したいマクロの詳細をご連絡いただくとサンプルマクロを作成して本サイト上でコードを公開(共有)します。マクロ案は全て無料で受け付けているので独学でこれからAutoCAD VBAを学びたいという方はぜひお気軽にご利用ください。
無料の理由は主にフリー素材のようにコードを不特定多数に向けて公開するためです。
本サイトは各個人のAutoCAD VBAの学習および情報共有によるスキルの向上を目的としています。
そのため、特定の個人や団体に対してのみ利益が生じるようなマクロの作成には対応できかねます。
マクロ案は無料で受け付けている代わりに下記の注意点があるので予めご一読ください。
・サンプルコードにて何か問題が発生しても当サイトは一切の責任を負いかねます。
・頂いたマクロ案は場合によって作成できない可能性があります。
・エラー処理等の細かい部分の処理は実装しない可能性があります。
・コードの利用制限は一切ありません。(ライセンス等の表記も不要)
マクロ案送信フォーム
「こういった事をVBAで自動化したい」という内容をできる限り詳細に記載してください。
送信後、1週間以内には作成の可否に関わらずliclog.net@gmail.comよりご連絡いたします。
ご連絡いただく際は社内機密の秘匿情報などが含まれないようにご注意ください。