Fusion 360 が日本語化されましたので、これを機に数回に渡って Fusion 360 API について現在の状況をご紹介していきたいと思います。

Fusion 360 API のコンセプト

Fusion 360 API は、ユーザ インタフェース(User Interface)を介して Fusion 360 を操作するのと同じように、API (Application Programming Interface)で Fusion 360 をコントロールすることを目的に開発されています。その意味では、”Fusion エンジン” を駆動させる方法に、UI と API の 2 種類があると考えることが出来ます。

Diagram illustrating the relationship between a Graphical User Interface (GUI), an Application Programming Interface (API), and a Fusion Engine, with references to F3D data.

なお、Fusion 360 はクラウド サービスであるため、その機能は定期的なアップデートで順次強化されていきます。このため、現時点では、Fusion 360 が持つすべての機能が API 化されている訳ではありません。現在のところ、モデリング機能に特化した部分の API の機能実装に注力している状態です。

Fusion 360 API  は、COM API を利用したオートデスクのデスクトップ製品である Inventor や AutoCAD と同様、オブジェクトモデルに沿ってプログラムできるようにデザインされています。ただ、Fusion 360 が Windows だけでなく、Mac にも対応しているため、API で利用しているテクノロジが COM(Component Object Model)ではないことに注意してください。

オブジェクト モデル が示す各オブジェクトは、Fusion 360 上で扱うオブジェクトに対応しています。Fusion データに例えてみると、押し出しフィーチャは ExtrudeFeature オブジェクトに、フィレット フィーチャが FilletFeature オブジェクトに対応しています。

Diagram illustrating the Autodesk Fusion 360 API object model, featuring categorized sections with labeled items, accompanied by three 3D gears in the foreground.

オブジェクトには、メソッドやプロパティなどが関連付けられていて、それらを順次呼び出すことで、つまり、プログラムすることで、一連の処理を自動化したり、カスタムな機能を作成することができます。 

Fusion 360 API で作成可能なモジュール 

Fusion 360 API で作成することが出来るのは、Fusion 360 内部のロードして動作させる スクリプト と アドイン の2つの形態です。スクリプトもアドインも、実装できる内容に大きな違いはありません。両者の唯一の違いは、いまのところ、アドインだけが Fusion 360 起動時の処理を自動化できるという点のみです。もちろん、将来的にもっと大きな違いが出てくる可能性はあります。

オートデスクとしては、Fusion 360 上で比較的よく作業する反復操作を自動化したい一般設計者を、スクリプトのターゲット ユーザとして考えています。ちょうど、Inventor や AutoCAD の VBA マクロのような利用方法を想定していると言えます。

アドインは、Fusion 360 を高度に使いこなしたい上級ユーザや、開発を業務にしているプロフェッショナル デベロッパをターゲット ユーザと考えています。特に、有償販売を意図する開発時には、アドインを選択することをお勧めしています。 

Fusion 360 API で利用可能な開発言語と環境 

Fusion 360 API で選択することが可能な開発言語は、JavaScript、Python、C++ の 3 つです。開発言語に VB や C# が存在しないのは、Fusion 360 が Mac をサポートしているためです。Mac には、C# や VB.NET を動作させるのに必要な .NET Framework の正式なバージョンがまだありません。

その意味では、JavaScript と Python には、Windows と Mac の両プラットフォームで利用可能な開発環境が整っています。同時に、Fusion 360 がクラウドを利用する次世代の CAD/CAM であることを考慮して、JavaScript と Python の利用が一般的な Web 開発者を取り込んでいきたい意向も反映されています。

実際のプログラミングで使用するエディタやデバッグツールも、Web 開発で一般的なオープン ソースを利用するように努めています。これらは選択する言語別に異なります。

Fusion 360 API の窓口

Fusion 360 は、スクリプトとアドインのいずれのモジュールの開発、実行、デバックをコントロールする共通したアクセス ポイントを提供します。ファイルメニュー内の 「スクリプトとアドイン …」メニューから表示することが出来る [スクリプトとアドイン] ダイアログです。

 [スクリプトとアドイン] ダイアログには、[スクリプト] と [アドイン] の 2 つのタブがあり、モジュール別にタブを切り替えて利用することになります。

Screenshot of Autodesk Fusion 360 interface showing a menu selection for 'Autodesk Exchange Apps' on the left and a dialog box displaying add-ins on the right.

いずれのタブでも、次の処理をキックすることが可能です。

  • スクリプト、または アドイン モジュールの新規作成(含む、開発言語の選択)
  • 既存スクリプト、または アドイン モジュールの編集
  • スクリプト、または アドイン モジュールの実行
  • スクリプト、または アドイン モジュールのデバッグ(除く C++)
  • アドインの Fusion 360 起動時の実行指定

アドインやスクリプトの入手と販売

オートデスクのデスクトップ製品には、アドイン アプリケーションや電子コンテンツのマーケット プレイスである Autodesk App ストアが用意されています。Fusion 360 も例外ではありません。今後、無償版、有償版、体験版/試用版 をも含め、Fusion 360 用のアドインが多く登場するはずです。

Autodesk App ストア に公開された Fusion 360 アドインは、https://apps.autodesk.com/FUSION/ja/Home/Index から直接入手することが出来ます。ダウンロードしたモジュールはインストーラ モジュールとして提供されているので、そのままインストールして [スクリプトとアドイン] ダイアログから実行することが出来ます。

Screenshot of the Autodesk App Store for Fusion 360, showcasing various apps and plugins available for download.

また、Fusion 360 用に作成したアドインを Autodesk App ストアに公開することも出来ます。公開は無償で、公開方法は、http://www.autodesk.co.jp/developapps に記載されています。

次回は、開発言語毎の特徴と違いなどをご紹介します。

By Toshiaki Isezaki