3Dモデルから2D図面を変換するマクロとは?AutoCAD・Inventorによる自動化方法を解説

1. はじめに

設計現場では3Dモデルの活用が進む一方、製造や検査、現場での情報共有には、2D図面が引き続き使用されています。

しかし、3Dモデルから2D図面を手作業で作成・更新すると、設計変更のたびに多くの時間がかかります。そこで活用されるのが、マクロやAPIによる自動化です。

本記事では、AutoCADやInventorを例に、3Dモデルから図面ビューを生成する流れや、マクロ・APIで図面作成やPDF・DWG出力を自動化する方法を解説します。

なお、ここでいう「変換」には、ファイル形式の変換だけでなく、3Dモデルからベースビュー、投影図、断面図などを作成する処理も含みます。

 2. 3Dモデルから2D図面への変換プロセス

AutoCADのモデルドキュメント機能では、3Dモデルから基準となるベースビューを作成し、そのビューをもとに投影図、断面図、詳細図などを生成できます(参照*1)。

Inventorの図面機能でも、部品やアセンブリなどの3Dモデルを参照し、ベースビューや投影図などの図面ビューを作成できます(参照*2)。

ただし、図面ビューを生成しただけでは、製造や検査に使用できる完成図面とは限りません。用途に応じて寸法、公差、幾何公差、注記、記号、部品表などを追加し、内容を確認する必要があります。

ここでは、3Dモデルから図面ビューを生成する基本的な流れを解説します。

2.1. 3Dモデルから図面ビューの生成

3Dモデルから2D図面を作成する基本的な流れは、次のとおりです。

  1. 基準となるベースビューを図面シート上に配置する
  2. 投影図、断面図、詳細図を追加する
  3. 図面枠や表題欄、規格、スタイルを適用する
  4. 寸法や注記を調整する
  5. 内容を確認し、PDFやDWGへ出力する

Inventorでは、3Dモデルを参照したベースビューを配置し、そのビューをもとに投影図や断面図、詳細図などを追加できます。ベースビューは、3Dモデルの正面や等角図など、最初に配置する基準となる視点です(参照*2)。

Inventor APIでは、図面シート上の個々の図面ビューをDrawingViewオブジェクトとして扱います。また、シート上の既存ビューへアクセスし、新しい図面ビューを作成するためのDrawingViewsコレクションが用意されています(参照*3)。

DrawingViewsコレクションには、ベースビューや投影図、断面図、詳細図などを作成するメソッドが含まれています。これらのメソッドをプログラムから実行することで、複数のビュー作成や配置位置の指定を自動化できます(参照*3)。

図面テンプレートに図面枠や表題欄、使用する規格やスタイルを設定しておくと、図面の体裁を統一しやすくなります。ただし、図面の内容によっては、寸法や注記などの個別調整が必要です。

モデルと関連付けられた図面ビューは、参照元の3Dモデルが変更されると更新できます。一方、複数の図面ファイルの確認、保存、PDFやDWGの再出力までが一括で行われるわけではありません。これらをまとめて処理するには、マクロやAPIを利用した追加の自動化処理が必要です。

3. マクロによる自動化の可能性

3Dモデルから図面ビューを生成するだけであれば、標準機能でも対応できます。しかし、大量の図面作成や設計変更に伴う更新、保存、PDF・DWG出力まで繰り返す場合は、マクロやAPIによる自動化が有効です。

本記事では検索キーワードに合わせて「変換マクロ」と表現していますが、VBAマクロ、iLogicルール、APIを利用したアドインや外部プログラムは、それぞれ異なる仕組みです。

仕組み記事内での位置付け
VBAマクロInventorに用意されたVBA実行環境を利用して処理する
iLogicルールや条件に基づく処理に利用する
Inventor APIアドインや外部プログラムからInventorを操作する
.NETC#やVB.NETなどでアプリケーションを開発・実行するプラットフォーム
Autodesk Platform ServicesInventorのデスクトップAPIそのものを指す名称ではない

.NETはプログラミング言語ではなく、C#やVB.NETなどを使ってアプリケーションを開発・実行するためのプラットフォームです。処理内容や運用環境に応じて、適切な仕組みや言語を選ぶ必要があります。

3.1. マクロとAPIの基本概念

マクロやAPIは、ソフトウェアの操作を自動化したり、標準機能を拡張したりするために利用されます。Inventorでは、VBAやiLogicのほか、COM APIを利用したアドインや外部プログラムなどが、自動化の主な選択肢です。

Autodesk Platform Servicesの開発者向けサイトでは、InventorのCOM APIを使用することで、反復的な設計作業の自動化やソフトウェア機能の拡張ができると説明されています。また、COM APIはVisual Basic、C++、C#、Python、Javaなどから利用でき、Inventor内ではVBAも使用できます(参照*4)。

Inventor APIには、図面シート上のビューを管理するDrawingViewsコレクションなどが用意されています。これらを利用することで、既存ビューへのアクセスや、新しい図面ビューの作成をプログラムから行えます(参照*3)。ただし、実装にはInventorのオブジェクトモデルや図面構造に関する知識が必要です。

APIを利用した開発では、製品のバージョンやAPI仕様に対応した開発・テスト環境を整える必要があります。自動化する処理の規模や既存システム、保守体制、担当者の経験を踏まえて、使用する仕組みや言語を選定することが重要です。

3.2. 自動化できる具体的な機能

マクロやAPIで自動化を検討できる代表的な処理は、次のとおりです。

  • ベースビュー、投影図、断面図、詳細図の作成
  • 図面ビューの配置位置の指定
  • 図面枠や寸法スタイルの適用
  • DWG・PDFへの一括出力
  • 設計変更後の図面更新と最新版の出力
  • AutoCADとInventor間のデータ連携
  • 複数ファイルの一括処理

例えば、図面ビューの作成と図面枠や寸法スタイルの適用を組み合わせることで、社内標準に沿った図面を作成しやすくなります。

Inventor APIには、PDF Translator Add-InやDWG Translator Add-Inを利用してファイルを出力するサンプルが公開されています。そのため、図面の更新処理とPDF・DWGへの出力処理を組み合わせ、一連の処理として自動化することも可能です(参照*6)。

AutoCADとInventor間のデータ連携では、Inventorの図面データとAutoCADデータを同じDWGファイル内で扱う仕組みを活用できます(参照*5)。

3.3. プログラミング言語との連携

APIを利用した自動化では、対象となるAPIに対応したプログラミング言語や実行環境を使用します。Autodeskの開発者向けサイトによると、InventorのCOM APIはVisual Basic、C++、C#、Python、Javaなどから利用できます。また、Inventorには、製品内で使用できるVBA環境も用意されています(参照*4)。 

言語・環境特徴や利用時の注意点
VBAInventorに用意された実行環境を利用できる
PythonCOM APIの呼び出し方法やオブジェクトモデルの知識が必要
C#Visual Studioを利用したアドイン開発などで使用できる
VB.NETVisual Studioを利用したアドイン開発などで使用できる
Visual Basic・C++・JavaInventorのCOM APIから利用できる

AutoCADについては、利用するAPIや実行環境によって対応言語が異なるため、自動化の目的に応じて公式の開発者向け資料を確認する必要があります。

言語や開発方式を選ぶ際は、次の点を確認します。

  • 既存システムと連携しやすいか
  • 社内で継続的に保守できるか
  • 製品のバージョンアップに対応できるか
  • ライセンス条件を満たしているか
  • 開発・テスト環境を用意できるか
  • 外部サービスの利用条件に対応できるか

適切に実装・運用すれば、図面ビューの作成やファイル出力などの定型作業を自動化でき、作業時間の短縮や設定のばらつきの抑制につなげられます。

4. 実際のマクロ活用例

マクロによる図面作成の自動化は、主に次の流れで行います。

3Dモデルの読み込み
→ 図面ビューの配置
→ 図面枠・注記・レイアウトの適用
→ 図面の更新・保存
→ PDF・DWG出力

ここでは、3Dモデルから2D図面を作成する際の代表的な活用例を紹介します。

4.1. 図面の一括作成とPDF出力

多数の部品やアセンブリを図面化する場合、マクロやアドインを利用して、処理対象となる3Dモデルを順番に読み込み、次の処理を一括で実行できます。

  • 図面ビューの作成
  • 図面枠や寸法スタイルの適用
  • 図面ファイルの保存
  • PDFへの出力
  • DWGへの出力

部品リストや対象ファイルの一覧をもとに処理すれば、手作業を減らし、統一した設定で図面を作成しやすくなります。

Inventorのタスクスケジューラは、自動処理を実行するためのバッチプロセッサとして利用でき、あらかじめ指定した時刻にファイルの更新や保存などを実行できます(参照*7)。

タスクスケジューラや独自に構築したスケジュール実行環境を利用して夜間に処理する場合は、次の項目を事前に確認する必要があります。

  • 実行環境とライセンス条件
  • ファイルへのアクセス権限
  • エラーが発生した場合の処理
  • 対話画面が表示された場合の対応
  • 処理結果を確認する方法

無人実行中に予期しないエラーで停止する可能性があるため、事前のテストも欠かせません。

クラウドストレージへの保存も自動化する場合は、Inventor APIとは別に、利用するサービスのAPIや同期機能、認証方式に対応した処理が必要です。

4.2. 設計変更時の自動更新

プロジェクトが進むにつれて、3Dモデルの寸法や形状が変更されることがあります。その際は、参照元モデルと2D図面の整合性を維持する必要があります。

Inventorでは、3Dモデルを参照して作成された図面ビューを、参照元モデルの変更に応じて更新できます(参照*2)。一方、複数の関連図面を検索し、更新、保存、出力までまとめて処理する場合は、追加の自動化が必要です。

処理対応方法
参照元モデルに関連する図面ビューの更新Inventorの関連付けにより更新できる
対象となる図面ファイルの自動検索追加のプログラムが必要
複数図面の更新・保存追加の自動化処理が必要
PDF・DWGへの一括出力追加の自動化処理が必要
変更箇所の自動ハイライトDrawingViews APIに専用機能はなく、別途比較処理などの実装が必要

対象となる図面ファイルを特定し、順番に開いて更新・保存・出力するプログラムを構築すれば、複数図面の更新作業を自動化できます。

その場合は、次の項目をあらかじめ設計しておく必要があります。

  • 参照関係の検索方法
  • 処理中にエラーが発生した場合の対応
  • 更新後の保存方法
  • PDF・DWGの出力方法
  • 出力結果の確認方法

適切に運用すれば、3Dモデルと関連図面の更新漏れを抑え、両者の整合性を維持しやすくなります。ただし、図面の正しさを自動的に保証するものではないため、承認前の確認作業は引き続き必要です。

旧版と新版のデータを比較する仕組みを別途構築すれば、変更箇所の抽出やレビューの効率化も検討できます。ただし、変更点を自動で抽出・表示するには、図面ビューの生成とは別に、旧版と新版を比較する処理などの実装が必要です。 

4.3. 社内標準図面の自動生成

企業や組織では、図面枠やレイアウト、寸法スタイルなどの社内標準が定められていることがあります。これらを毎回手作業で設定すると手間がかかるうえ、設定ミスが発生する可能性もあります。

マクロに社内標準図面のルールをあらかじめ組み込んでおけば、新規部品やアセンブリの図面を作成する際に、規格に沿った図面をワンクリックで作成できます。テンプレートと組み合わせることで、レイアウトや文字フォント、注記の位置なども統一しやすくなります。

自動化により、図面表記のばらつきを抑え、プロジェクト内での情報共有を円滑に進められます。図面の見やすさや統一感は、製造現場だけでなく、社外へのプレゼンテーションでも役立ちます。

もちろん、標準化の準備では設定項目が多くなる場合もありますが、一度整備すれば、その後の作業効率向上が期待できます。

5. AutoCADとInventorの組み合わせメリット

AutoCADとInventorには、それぞれ次のような特徴があります。

項目AutoCADInventor
主な位置付け2D作図と3Dモデリングに対応した汎用CAD機械設計向けの3D CAD
主な用途DWG形式の図面作成や編集部品・アセンブリのモデリング
図面作成レイアウトや注記を編集できる3Dモデルに関連付けた図面を作成できる
データ連携Inventorが生成したビューブロックをDWG内で利用できる AutoCADの2D図形やレイアウトを利用できる

AutoCADとInventorを組み合わせるメリットの一つは、既存のDWG資産を有効活用できることです。Inventorでは、AutoCADの2D図形をInventorのスケッチへコピーしたり、AutoCADのペーパー空間レイアウトを図面シートとして表示したりできます(参照*5)。

また、Inventorで開いたAutoCAD作成のレイアウトにInventorの図面ビューを配置し、Inventorの図面データとAutoCADデータを同じDWGファイル内で扱うことも可能です(参照*5)。

ただし、Inventorで作成された図面データをAutoCAD上で編集できる範囲には制約があります。そのため、Inventorで管理する情報とAutoCADで編集する情報を整理し、どちらの製品で何を作成・修正するかを事前に決めておくことが重要です。

この相互運用性を活用すれば、既存のDWG資産を生かしながら、Inventorを用いた3D設計へ段階的に移行しやすくなります。ただし、すべてのデータを制約なく相互編集できるわけではないため、運用前に互換性や編集方法を確認しておく必要があります。

6. マクロ導入時の注意点

マクロやAPIを導入する際は、主に次の3点に注意が必要です。

3Dモデルの品質

正確な寸法や形状が登録されていなければ、マクロで自動処理しても誤った図面が生成される可能性があります。

そのため、3Dモデルの整合性チェックや命名規則など、基本的なルールの整備が欠かせません。

バージョンアップと保守体制

AutoCADやInventorのバージョン変更により、既存のマクロが動作しなくなる可能性があります。

開発したプログラムを誰が保守・管理するのかを、社内ルールとしてあらかじめ明確にしておくことが大切です。

確認作業と運用知識

自動化しても、手作業を完全になくせるわけではありません。また、管理者や担当者には、システムを理解して運用するための知識が求められます。

チーム内で研修や運用ルールを整備し、トラブルを防ぐ体制を整える必要があります。

7. まとめ

3Dモデルから2D図面を作成する際は、AutoCADやInventorの標準機能に加え、マクロやAPIを活用することで、図面ビューの作成、更新、保存、PDF・DWG出力などを自動化できます。

ただし、自動化できる範囲はAPIの仕様や開発内容によって異なり、寸法、公差、注記などの確認も必要です。また、モデルやテンプレートに誤りがあると、同じ問題を含む図面がまとめて生成される可能性があります。

導入時は、開発・保守にかかるコストと削減できる作業量を比較し、定型的で効果を確認しやすい処理から自動化を進めることが重要です。

建築・土木業向け BIM/CIMの導入方法から活用までがトータルで理解できる ホワイトペーパー配布中!

❶BIM/CIMの概要と重要性
❷BIM/CIM導入までの流れ
❸BIM/CIM導入でよくある失敗と課題
❹BIM活用を進めるためのポイント
についてまとめたホワイトペーパーを配布中

<参考文献>
(*1)AutoCAD ヘルプ | 概要 - モデル ドキュメント | Autodesk
https://help.autodesk.com/view/ACD/2027/JPN/?guid=GUID-28C70012-CD61-41BC-801C-7D3A26CC22AD

(*2)Inventor ヘルプ | モデルの図面ビュー | Autodesk
https://help.autodesk.com/view/INVNTOR/2027/JPN/?guid=GUID-DC1F106A-887D-471E-989F-FFBD9E1BCBCA

(*3)Inventor ヘルプ | DrawingViews Object | Autodesk
https://help.autodesk.com/view/INVNTOR/2027/JPN/?guid=GUID-DrawingViews

(*4)Inventor | Autodesk Platform Services
https://forge.autodesk.com/developer/overview/inventor-api

(*5)Inventor ヘルプ | Inventor での AutoCAD ジオメトリの使用方法の概要 | Autodesk
https://help.autodesk.com/view/INVNTOR/2027/JPN/?guid=GUID-F0B5BDAA-A321-40BD-B698-BA15BA0BB269

(*6)Inventor 2027 ヘルプ | Save as DWG Translator Sample | Autodesk
https://help.autodesk.com/view/INVNTOR/2027/JPN/?guid=SaveAsDWGTranslator_Sample

(*7)Inventor 2027 ヘルプ | タスク スケジューラの概要 | Autodesk
https://help.autodesk.com/view/INVNTOR/2027/JPN/?guid=GUID-08A6F75B-FBF4-4D48-BC50-5A581078ECC2