CAD作図自動化パイプラインの構築方法|APS・Inventor API活用例

1. はじめに

CADを用いた設計業務では、図面の生成や更新、データ出力など、繰り返し発生する作業が少なくありません。こうした作業を迅速かつ正確に処理するには、単発のマクロやスクリプトだけでなく、複数の工程を連携させる「作図自動化パイプライン」という考え方が重要です。

Autodesk Platform Services(APS)のAutomation APIは、設計ファイルのバッチ処理、パラメーター変更、図面生成、データ抽出などをCADエンジン上で実行するための仕組みです(参照*1)。作図自動化パイプラインにこの仕組みを組み込むことで、CAD処理だけでなく、PDMやPLM、ERPなどのシステムを含めたワークフローの自動化・標準化を検討できます。

本記事では、APSのAutomation APIやInventor APIを活用したパイプラインの構成方法を解説します。Pythonによる入力データの処理、クラウド上でのモデル・図面更新、PDF・DWG出力、CAD標準チェック、BOMデータの取得など、具体的な処理フローと実装時の注意点を紹介します。

2. CAD作図自動化パイプラインの基本概念

この章では、CAD作図自動化パイプラインの基本的な考え方を解説します。パイプラインを構築することで、入力データの読み込み、CAD処理、検証、出力、保存までを一連の流れとして管理できます。

以下では、パイプラインの定義、従来のマクロとの違い、導入が求められる背景について整理します。

2.1. パイプラインの定義とその重要性

パイプラインとは、データの入力から最終的な出力までの各工程を連続して処理する仕組みです。CAD作図自動化では、設計データの読み込み、データ変換、CAD APIによる図面生成、PDF・DWG出力、PDMやPLMへの保存などを一連の流れとして構築します。

複数の工程をまとめて管理することで、処理結果を一元化し、異なるシステムやファイル形式にも対応しやすくなります。また、工程ごとに処理を分けておけば、必要に応じて新たな機能や連携先を追加できます。

2.2. マクロとパイプラインの違い

マクロとパイプラインには、主に次のような違いがあります。

比較項目マクロパイプライン
主な対象特定のCADソフト内の操作複数の処理やシステム
処理範囲部品生成や定型作図など入力、変換、CAD処理、検証、出力、保存
外部連携特定の環境内で完結することが多いPDM、ERP、クラウドサービスなどと連携
実行方法単独で実行することが多い複数の工程を連続して実行
両者の関係パイプラインの一工程として利用できる既存のマクロを処理の一部に組み込める

ただし、両者に明確な境界があるわけではありません。既存のマクロを、パイプラインを構成する一つの工程として利用することも可能です。

2.3. パイプラインの必要性とその背景

パイプライン構築が求められる背景には、CAD作図における繰り返し作業の負担や、人為的なミスがあります。また、CAD、PDM、PLM、ERPなど複数のシステムをまたぐ情報連携では、手作業による更新や転記が発生しやすくなります。

パイプラインを導入すれば、必要な情報を一連の処理として反映でき、定型作業やシステム間の受け渡しを効率化できます。設計業務をチーム全体で共有できる仕組みとして整備することが重要です。

3. 作図自動化パイプラインの構成要素

作図自動化パイプラインは、入力データ、自動処理を実行するツール、CAD API、出力データなどで構成されます。各要素を分けながら、相互に連携しやすい構成にすることが重要です。

例えば、ExcelやCSVからデータを取り込み、Pythonでデータ変換やAPIの呼び出しを行い、APSのAutomation APIやInventor APIでモデル更新や図面生成を実行します。以下では、それぞれの構成要素を順に解説します。

3.1. 入力データの種類と処理

パイプラインの起点となるのが入力データです。設計情報や寸法、仕様などは、Excel、CSV、PDM、ERPなどに保存されていることがあります。

これらのデータを自動処理するには、「部品番号」「寸法」「材質」などの項目と変換ルールを定め、スクリプトで正しく読み込めるようにします。入力時にデータ形式や必須項目を検証することで、後工程のCAD API実行時に発生するエラーも抑えやすくなります。

複数のシステムや部門からデータを取得する場合は、共通のデータ形式を定めておくことも重要です。

3.2. 自動処理の技術とツール

入力データを整備した後は、自動処理に使用する技術やツールを選定します。AutodeskのInventor APIはCOM APIとして提供されており、Visual Basic、C++、C#、Python、Javaなどから反復的な設計作業の自動化や機能拡張に利用できます(参照*6)。主なツールの役割は次のとおりです。

  • Python
    ファイル操作、データ変換、HTTPリクエストによるAPIの呼び出しに利用します。
  • Power Automate
    ファイル登録、承認、通知、処理開始など、パイプラインの前後にあるワークフローを自動化します。
  • VBAマクロ
    既存のCAD操作や定型処理を、パイプラインの一工程として利用できます。InventorにはVBAを利用できる環境も用意されています(参照*6)。

自動処理には、CAD操作だけでなく、データ変換、ログ取得、エラー通知なども含まれます。ツールを選ぶ際は、パイプライン全体の流れを考慮することが重要です。

3.3. CAD APIの活用

作図自動化パイプラインの中心となるのが、CAD APIを利用した処理です。AutoCAD APIやInventor API、APSのAutomation APIなど、用途に応じてさまざまな選択肢があります。

APSのAutomation APIは、AutoCAD、Inventor、Revit、3ds Max、FusionなどのCADエンジンと連携し、設計ファイルのバッチ処理、パラメーター変更、図面生成、データ抽出などを実行するためのAPIです(参照*1)。本記事では、このうちクラウド上でAutoCADやInventorの処理を実行する方法に注目します。

APSのAutomation APIでは、AppBundle、Activity、WorkItemを組み合わせて自動処理を実行します。AutodeskのAPIガイドでは、AppBundleをActivityへ関連付け、事前に定義したActivityをWorkItemから実行する基本的な流れが示されています(参照*3)。Inventor向けのAppBundleは、アドインのビルドによって生成されたファイルやPackageContents.xmlなどを所定の構造でまとめたZIPパッケージです(参照*8)。 

要素役割
AppBundleクラウド上で実行するカスタムアドインと、その実行に必要な関連ファイルをまとめたパッケージ
Activity使用するCADエンジン、AppBundle、実行コマンド、入出力パラメーターなどを定義
WorkItemActivityを実行する個別のジョブ。入力ファイル、パラメータ、出力先などを指定する

Activityは、使用するエンジン、AppBundle、実行コマンドまたはエントリーポイント、入出力パラメーターなどを定義する実行仕様です(参照*4)。WorkItemを送信すると、指定したActivityが入力データを使用して実行され、生成されたファイルがWorkItemで指定した出力先へ受け渡されます(参照*5)。 

PythonやC#などからREST APIを呼び出してWorkItemを送信できるため、既存のWebシステムや業務ワークフローへCAD処理を組み込むことも可能です。

Inventorの自動化には、デスクトップ版Inventorを操作するInventor APIと、APS上のInventor Serverで処理を実行するInventor Automation APIがあります。

Inventor APIは、InventorのCOM APIを通じて反復的な設計作業を自動化したり、機能を拡張したりするための仕組みです(参照*6)。一方、Inventor Automation APIでは、クラウド上のInventor Serverにカスタムアドインを読み込ませ、iLogicルールなどを実行できます(参照*2)。

両者の主な違いは次のとおりです。

比較項目Inventor APIInventor Automation API
実行環境デスクトップ版InventorAPS上のInventor Server
主な用途ローカル環境での処理や機能拡張クラウド上のバッチ処理やシステム連携
主な処理部品、アセンブリ、図面、iProperties、BOMなどの操作カスタムアドインやiLogicによるモデル・図面処理
実行方法ローカルプログラム、VBA、アドインなどAppBundle、Activity、WorkItem

Inventor APIには、アセンブリ内のBOMデータを取得するためのAPIも用意されています(参照*9)。ローカル環境で処理する場合はInventor API、サーバー側のバッチ処理や他システムとの連携にはInventor Automation APIというように、実行環境や用途に応じて使い分けることが重要です。

3.4. 出力フォーマットとその利用

CAD作図自動化では、利用目的に応じて出力形式を決めます。代表的な出力データと利用先は次のとおりです。

出力データ主な利用先・用途
PDF社内外への図面配布
DWG他部門とのCADデータ共有
BOM部品発注システムや管理システムとの連携
DXF・STEP取引先や関連部署とのデータ受け渡し

パイプラインの最終工程で必要なファイルを出力し、クラウドストレージやPDMへ自動保存する仕組みを構築すれば、運用時の手間を減らせます。

出力形式や保存先を処理ごとに分けておくことで、新しい要件が発生した際にも機能を追加しやすくなります。

4. APS Automation API・Inventor APIを活用した実践例

ここでは、APS Automation APIとInventor APIを活用したCAD自動化の実践例を紹介します。CSVやExcelの入力データを基に、クラウド上でモデルや図面を更新し、PDF・DWGなどを出力する流れを想定します。

以下では、クラウドベースでCADを実行する仕組みと、AppBundle、Activity、WorkItemを用いた具体的な処理フローを解説します。

4.1. クラウドベースでのCAD実行

APS Automation APIを利用すると、Autodeskが提供するクラウド上のCADエンジンでAutoCADやInventorの処理を実行できます。Inventor Automation APIでは、クラウド上で動作するInventor Serverへカスタムアドインを読み込ませ、iLogicルールなどを実行できます(参照*2)。

このため、構成によっては、処理を開始する利用者の端末にデスクトップ版CADをインストールせずに運用できます。ただし、クラウド上で使用するアドインやスクリプトを作成・検証する段階では、対象となるデスクトップ版CADや開発環境が必要になる場合があります。

クラウド上で共通の処理を実行できるため、地理的に離れたチームでも同じ自動化パイプラインを利用できます。例えば、海外拠点で設計情報が更新された後、日本側のシステムからモデル更新やPDF出力のWorkItemを送信するといった運用が考えられます。

一方で、APSには利用プランごとの上限や、利用量に応じた料金体系が設定されています。そのため、ファイルのアップロード時間、処理時間、実行回数、想定する利用量などを踏まえて運用を設計する必要があります(参照*11)。また、APSの認証設定、料金体系、CADエンジン、AppBundle、Activityのバージョン管理、API仕様変更への対応も必要です。 

4.2. 具体的な自動化プロセスの流れ

AutodeskのAutomation APIチュートリアルでは、AppBundleとActivityを事前に設定し、入力ファイルやパラメーター、出力先を指定したWorkItemを実行する流れが示されています(参照*4参照*5)。これを本記事の想定例に当てはめると、具体的な自動化プロセスは次のようになります。

  1. 入力データを用意する
    ExcelまたはCSVに、部品の寸法や材質情報を記載します。
  2. 入力内容を検証する
    Pythonなどを使い、データ形式や必須項目を確認します。
  3. AppBundleを登録する
    モデル更新、図面の再生成、PDF・DWG出力などを行うカスタムアドインをAppBundleとして登録します。Inventor向けのAppBundleは、アドインのビルドによって生成されたファイルや設定ファイルなどを所定の構造でまとめたパッケージです(参照*8)。
    なお、iLogicルールの実行方法は、必ずしもAppBundleに組み込む構成だけではありません。処理内容によっては、外部iLogicルールを入力ファイルとして渡し、Activityから実行する構成も選択できます。
  4. Activityを定義する
    使用するInventorエンジン、AppBundle、実行コマンド、入出力パラメーターを設定します(参照*4)。
  5. WorkItemを送信する
    入力ファイル、処理条件、出力先を指定し、Activityを実行するWorkItemを送信します(参照*5)。
  6. モデルや図面を更新する
    Inventor Automation APIを通じて、部品やアセンブリのパラメーター、iProperties、図面などを更新します。Automation APIとカスタムコード、iLogicルールを組み合わせ、注文情報から初期モデルや図面を作成する利用例もAutodeskから紹介されています(参照*2)。
  7. 生成データを受け渡す
    図面、PDF、BOMデータなどを、指定したクラウドストレージや業務システムへ保存します。
  8. 検証結果を記録する
    寸法、iProperties、部品番号、図面スタイルなどが社内ルールに適合しているかを確認し、条件に合わない場合は警告やエラーログを出力します。Inventor Automation APIでは、iLogicのイベントや失敗をログで確認するための機能も用意されています(参照*10)。

ただし、自動チェックで確認できる範囲は、あらかじめ実装したルールに限られます。最終的な設計の妥当性や図面品質については、必要に応じて担当者による確認を組み合わせることが重要です。 

5. 作図自動化パイプラインのメリットと注意点

作図自動化パイプラインを導入すると、定型作業の効率化や作図品質の標準化が期待できます。一方で、テンプレートの整備、APIや実行環境のバージョン管理、ログの保存など、継続的な運用も必要です。

以下では、導入による効果と、実装・運用時に注意すべきポイントを整理します。

5.1. 作業効率と品質の向上

自動化パイプラインを導入する主なメリットは、繰り返し発生する定型作業を効率化できる点です。図面生成、図面更新、モデル更新などを自動実行することで、手作業にかかる時間や、データの転記・操作によるミスを減らせる可能性があります。

また、処理条件や手順を統一することで、担当者による作業の違いを抑えやすくなり、作図品質の標準化につながります。PDM・PLMやERPとの連携を組み込めば、設計から製造までの情報共有も効率化できます。

5.2. 実装時の注意点とベストプラクティス

実装・運用時には、次の点を確認します。

  • テンプレートと部品ライブラリを整備する
    入力データの形式や内容を統一し、想定外のエラーを防ぎます。
  • バージョンとエイリアスを管理する
    CADエンジン、API、AppBundle、Activityのバージョンやエイリアスを記録し、動作確認済みの構成を管理します。Automation APIでは、Activityから使用するエンジンやAppBundleを指定するため、組み合わせを記録しておくことが重要です(参照*4)。
  • 検証環境で動作を確認する
    新しいエンジンやAppBundleへ移行する場合は、既存の処理や出力結果を確認してから本番環境へ反映します。
  • ログとエラー通知を保存する
    WorkItemの実行結果を記録し、問題の発生箇所や原因を追跡できるようにします。iLogicを使用する場合は、iLogic固有のイベントや失敗をログから確認できます(参照*10)。
  • 小規模な範囲から導入する
    結果を確認しながら、段階的に対象範囲を広げます。

6. まとめ

本記事では、CAD作図自動化を、入力、CAD処理、検証、出力、保存などの工程を連携させるパイプラインとして構築する方法を解説しました。

APSのAutomation APIでは、設計ファイルのバッチ処理、パラメーター変更、図面生成、データ抽出などを実行できます(参照*1)。さらに、AppBundle、Activity、WorkItemを組み合わせることで、Inventorを利用したモデル更新や図面生成を他の業務システムから実行する仕組みも構築できます。

導入時は、テンプレートや入力データを整備し、バージョン管理、ログ保存、エラー対応を含めた運用体制を準備することが重要です。まずは小規模な処理から検証し、成果を確認しながら対象範囲を広げることで、CAD業務の効率化と品質の安定化につなげられます。

大手ゼネコンBIM活用事例と 建設業界のDXについてまとめた ホワイトペーパー配布中!

❶大手ゼネコンのBIM活用事例
❷BIMを活かすためのツール紹介
❸DXレポートについて
❹建設業界におけるDX

<参考文献>
(*1)Automation API | Autodesk Platform Services (APS)
https://aps.autodesk.com/developer/overview/automation-api

(*2)Overview | Automation API | Autodesk Platform Services
https://aps.autodesk.com/en/docs/design-automation/v3/developers_guide/overview/

(*3)API Basics | Automation API | Autodesk Platform Services
https://aps.autodesk.com/en/docs/design-automation/v3/developers_guide/basics/

(*4)Define Activity | Autodesk Platform Services Tutorials
https://get-started.aps.autodesk.com/tutorials/design-automation/define-activity/

(*5)Execute Workitem | Autodesk Platform Services Tutorials
https://get-started.aps.autodesk.com/tutorials/design-automation/execute-workitem/

(*6)Inventor | Autodesk Platform Services
https://aps.autodesk.com/ja/developer/overview/inventor-api

(*7)Inventor ヘルプ | Inventor API User's Manual | Autodesk
https://help.autodesk.com/view/INVNTOR/2027/JPN/?guid=UserManualIndex

(*8)Task 3 – Upload an AppBundle | Automation API | Autodesk Platform Services
https://aps.autodesk.com/en/docs/design-automation/v3/tutorials/inventor/task3-upload-appbundle/

(*9)Inventor Help | Using the BOM APIs | Autodesk
https://help.autodesk.com/view/INVNTOR/2027/ENU/?guid=BOM_Sample

(*10)iLogic logging | Automation API | Autodesk Platform Services
https://aps.autodesk.com/en/docs/design-automation/v3/developers_guide/inventor_specific/ilogic-logging/

(*11)APS ビジネスモデルの進化 | Autodesk Platform Services
https://aps.autodesk.com/blog/aps-business-model-evolution