「AutoCADを今よりも効率よく操作したい」「手間のかかる作業を少しでも減らしたい」と考えている方も多いのではないでしょうか。図面作成には膨大な時間がかかるため、少しでも自身の負担を減らしたい人も多いはずです。
そこでこの記事では、AutoCADの効率化に役立つVBAについてわかりやすくまとめました。
設計作業の自動化に興味がある方は、本記事の情報を読んで、VBAにチャレンジしてみてください。
AutoCADのVBAとは
AutoCADに搭載されている「VBA」とは、既存機能を拡張するために開発されたプログラミング言語です。AutoCAD上で直接プログラミングのソースコードを記述・実行できるため、通常のAutoCAD作業と連続してVBAを利用できます。
例えば、次のような悩みを抱えている場合にVBAでソースコードを組めば、ワンクリックで問題となる作業を自動化できるなど、作業効率化の実現が可能です。
- 繰り返し作業が多い
- 電卓でひとつずつ計算した情報を入力している
手間のかかる作業や単純な作業は、AutoCADのなかで何度も発生します。
対してVBAでソースコードを組んでおけば、日ごとに発生する繰り返し作業を自動化できるのが魅力です。
VBAは単純作業の効率化に役立つ機能ですので、まずは社内で悩んでいる作業をピックアップして、AutoCADのVBAで解決ができないか確認をしてみましょう。
アクションマクロ・RPAとの違い
AutoCADに搭載されているVBAは、類似の技術である「アクションマクロ」「RPA」と概念が異なります。参考として以下に、各技術の違いを整理しました。
VBA | アクションマクロ | RPA | |
制作の方法 | 自身でプログラムを組む | 自身の作業(クリック・キーボード入力)をマクロに記録する | 特定の動作をカスタマイズする |
AutoCADとの関係 | ソフト内に搭載 (AutoCADユーザーは無料) |
ソフト内に搭載 (AutoCADユーザーは無料) |
外部ツールを利用 (主に有料) |
対応範囲 | 条件分岐や複雑なロジックをカスタマイズできる | シンプルな操作のみ | 条件分岐や複雑なロジックをカスタマイズできる |
以上より「〇〇の場合は〇〇をする」「〇〇という設定で〇〇の位置に〇〇を配置する」など、条件を与えつつ作業の自動化ができる方法をお求めならVBAを利用するのがベストです。
また、VBAではなくマクロなどを使った自動化の方法について詳しく知りたい方は、以下の記事をチェックしてみてください。
AutoCAD VBAでできること
AutoCAD VBAでは、プログラミング言語を用いることにより、作業のなかで発生するさまざまな課題を解決できます。参考として、VBAの機能を使うことでできることをまとめました。
オブジェクトの描画順序を制御する
AutoCAD VBAでは、コードとして記述した順番にオブジェクト(図形やフォント)などを描画することが可能です。制御するイメージを以下にまとめました。
- 任意点からZ座標1,000、Y座標1,000の離れた位置に表を挿入する
- 指定した形状のオブジェクトを挿入する
VBA上でオブジェクトの形状を決められるほか、挿入する位置などを設定できます。
頻繁に利用するオブジェクトなどをVBAで組むことにより、ひとつずつ作成するという手間を削減できるのが魅力です。
ブロックやオブジェクトを選択・操作する
AutoCAD VBAを利用すれば、特定のオブジェクトやブロックだけをまとめて選択・操作するといった作業を実現できます。
例えば、特定のレイヤーに挿入されているオブジェクトのなかでも、線分として挿入されたものだけを修正するといったことも可能です。通常だとひとつずつ選択していくといった作業が必要ですが、AutoCAD VBAを利用すれば作業を一瞬で完了できます。
また、一度構築したVBAの内容を複製して書き換えれば、複数のパターンに応用できるのも魅力です。部分的な修正を求められるケースが多いなら、ぜひAutoCAD VBAで選択・操作の作業を効率化してみてください。
図枠の設定を自動反映する
AutoCAD VBAのなかでも目に見えて使いやすいのが、図枠の設定です。
まずAutoCADで図面を新規作成する際、印刷する際には、ペーパー空間に印刷用の図枠を用意しなければなりません。通常だと過去データから図枠データだけを持ってくる、テンプレートから挿入するといった作業が必要ですが、データを探すのに時間がかかります。
一方でAutoCAD VBAで自社用の図枠テンプレートを管理しておけば、VBAを実行することにより一瞬で図枠の設定が完了します。
挿入時のズレも起きる心配がないほか、最初からロックされたレイヤーを準備することも可能ですので、図枠の設定に手間を感じている方はVBAで問題を解決しましょう。
AutoCAD VBAの作業に必要な入門知識
AutoCAD VBAを利用するにあたり、事前に覚えておくべき入門知識があります。
特にVBA初心者の方は理解しておきたいポイントですので、各項目をチェックしてみてください。
AutoCAD VBAの専門用語・構造
AutoCAD VBAを利用するためには、あらかじめVBAの全体像を覚えておくことが重要です。
なかでもVBAのプログラミングコードを記述するVBAウィンドウの構造は、初心者から理解しておくことが欠かせません。
プロジェクト | VBA全体のプロジェクトであり最初に立ち上げる |
モジュール | VBAのプロジェクトで構築する動作要素であり、AutoCADではモジュールを使って自動化を実行する |
プロシージャ | モジュールのなかにあり、VBAの処理をまとめた機能のこと |
ステートメント | VBAの処理や命令、宣言などを行うための構文 |
イメージとしては「プロジェクト>モジュール>プロシージャ>ステートメント」というツリー構造です。
AutoCAD VBAは事前インストールが必要

AutoCAD VBAは、AutoCAD上で直接利用できる機能ですが、最初から機能が搭載されているわけではありません。VBAを使うためには、Autodesk公式サイトから専用のモジュールをインストールする必要があります。
なお、AutoCAD VBAのモジュールはバージョンごとに用意されています。
異なるバージョンのモジュールをダウンロードすると、誤作動やエラーが起きる恐れがあるため、最新バージョンをダウンロードしましょう。
またVBAを含め、AutoCAD全般の自動化に関する知識を学びたい方は、以下の記事をチェックしてみてください。自動化について学べる書籍の概要や魅力を解説しています。
AutoCAD VBAのコマンド一覧
AutoCAD VBAを効率よく利用したい人向けに、よく利用するコマンド一覧をまとめました。
コマンド | 目的 |
VBAIDE | VBAのIDE(統合開発環境)を起動する エディタをすぐに開きたいときに利用する |
VBALOAD | VBAのプロジェクトをロードする |
VBAMAN | VBAの管理ウィンドウを表示する |
VBANEW | VBAを新規作成する |
VBARUN | VBAを実行する |
上記は、コマンドラインに記述することで使えるコマンドです。
VBAを使うためのマウス操作に手間を感じている方は、ぜひ上記のコマンドを利用してみてください。
AutoCAD VBAのサンプルコード
AutoCAD VBAのサンプルコードとして、2つの実行要素をまとめました。
画面キャプチャを参考にしながら、実際にコードを記述してみてください。
線を引く
まずは、AutoCAD VBAでポリラインの線を引くサンプルコードを上画像に掲載しました。
挿入するデータをポリラインだと定義をし、挿入する座標を決めることによって、長さを決定できます。
今回は1本のポリラインですが、VBAのコードを長く記述すれば、複数本のポリライン(またはほかのオブジェクト)を組み合わせることも可能です。
ブロックを挿入する
続いてオブジェクトがまとまっているブロックに情報を追加して、作図に利用できるように設定するVBAを紹介します。上画像のコードはAutodesk公式サイトでも紹介されているサンプルコードのひとつであり、実行することで円(Circle)のブロックを追加できます。
実際にAutoCAD上でVBAを実行し「挿入>ブロック>挿入」の項目をクリックすると、次のように円ブロックが追加されています。
コードの書き換えでほかにもさまざまなブロックを追加できるので、お好みで変更してみてください。
AutoCAD VBAの知識をセミナー講習で学ぼう
本記事で紹介したAutoCAD VBAの知識は、あくまで初心者に必要な情報です。
そのため、さらに詳しくVBAの仕組みや使い方を学びたいという方は、セミナー講習に参加して自動化の知識を身につけることをおすすめします。
「実践的に学べるAutoCAD自動化セミナー」では、2日間という短期集中講座で、AutoCAD VBAを含む自動化の知識を網羅的に学習できます。会場受講だけではなく、全国から参加できるライブウェビナー、自己学習にも使えるeラーニングを利用できるので、参加してみてください。
AutoCAD VBAについてまとめ
AutoCAD VBAは、作図作業を効率化できる便利な機能であり、条件を与えながら詳細な自動化にも対応できるのが魅力です。ただし、VBAで利用する専門のプログラミングコードを理解しなければうまく構築できません。
もしAutoCAD VBAを使って業務を効率化したいなら、この機会に独学をスタートするか、VBAについて学べるセミナー講習への参加を検討してみてください。
