Fusion 360 API サンプル

Fusion 360 のクライアント API には、たくさんの API サンプルが用意されています。最初に目につくのは、製品内で Fusion 360 API の窓口となっている [スクリプトとアドイン] ダイアログです。ご自身でスクリプトやアドインを作成しなくても、すぐに実行出来るサンプルが表示されるはずです。もちろん、Adobe Brackets や Spyder などの組み込みエディタでソースコードを参照したり編集したりすることも出来ます。

Autodesk Fusion 360のメニュー画面を表示し、スクリプトとアドインのメニューへのアクセスを示すイラスト。左側にはFusion 360のメニュー、右側にはスクリプトとアドインのダイアログが表示されている。

これ以外には、Fusion 360 からアクセス可能なオンライン ヘルプにも、カテゴリ 別に多数のサンプルコードが記載されています。残念ながら、Fusion 360 API に関するオンライン ヘルプ Programming Interface 部分は、他の Fusion 360 オンライン ヘルプとは異なり英語のままですが、ここに記載されたサンプル コードはすぐに実行出来るものがほとんどなので、実際に実行しながらリファレンスとともの読み解いていただくことが可能です。

Fusion 360のヘルプメニューでプログラミングインターフェースを示すスクリーンショット。左側には検索バーとメニューがあり、右側にはAPIサンプルプログラムのリストが表示されている。

ここまでのサンプルは Fusion 360 製品からアクセス可能なものですが、これ以外にも、複数の GitHub サイトに多くのサンプルが記載されています。まず、オートデスク公式の GitHub サイトに https://autodeskfusion360.github.io/ があります。このサイトからは、更に https://github.com/AutodeskFusion360 にジャンプして別のサンプルを参照したり、また、各リポジトリから ZIP ファイルをダウンロードして、クライアントにダウンロード、Fusion 360 で実行することも出来ます。

また、Fusion 360 API をデザインしているオートデスクの開発者である Brian Ekins も、https://github.com/brianekins でGitHub サイトを公開しています。このサイトからは、5 月に開催した Forge セミナー の Fusion 360 API セッション でご紹介したサンプルのソースコードも入手することが出来ます。それでは、いくつかサンプルについてご紹介しておきます。


FryThrough サンプル   ← このリンクから GitHub リポジトリにジャンプします。

視点(カメラ)を沿わせると目標のパスを指定してフライ スルーさせるアドイン サンプルです。このサンプルは、アドイン ロード後に Fusion 360 画面内のツールバーに追加される紙飛行機アイコンから起動します。

Fusion 360のツールバーに表示されたフライスルーアドインのアイコンが赤い矢印で指示されている画像

コマンド起動時には、あらかじめ Attribute(属性)が設定されたスプラインにカメラと目標を設定して状態で表示されます。表示されたダイアログ上で Animate と書かれた文字の右隣に表示される再生ボタンでフライスルーを開始出来ます。


Dado-Rabbet サンプル  ← このリンクから GitHub リポジトリにジャンプします。

指定した平面サーフェスとエッジからの距離を指定して、サーフェスを構成面するボディに溝を作成するアドイン サンプルです。アドインをロードすると、[モデル] ワークスペースの [修正] メニューに [Dado/Rabbet] コマンドが追加されるので、このコマンドをクリックしてサンプルを起動します。

Fusion 360 の修正メニューに追加された Dado/Rabbet コマンドの表示画面。

ダイアログが表示されたら、Face に溝を作成する平面サーフェスを、Edge に指定した距離に溝を作成するための基準エッジを指定してください。

 


MeshIntersect サンプル  ← このリンクから GitHub リポジトリにジャンプします。

開いているメッシュを指定した感覚で配置した X-Y 平面で切断するアドイン サンプルです。アドインをロードすると、[モデル] ワークスペースの [スケッチ] メニューの [投影/含める]メニューに [Intersect Mesh Body] コマンドが追加されるので、このコマンドをクリックしてサンプルを起動します。

Fusion 360のインターフェース、スケッチメニューにある「Intersect Mesh Body」コマンドの選択が示されている画面。


GeometryEval サンプル  ← このリンクから GitHub リポジトリにジャンプします。


指定したサーフェスを評価して指定間隔でサーフェス上の点や法線ベクトルを表示するアドイン サンプルです。このアドインをロードすると、[モデル] ワークスペースの [検査] メニューに [Geometory Info] コマンドが追加されるので、このコマンドをクリックしてサンプルを起動します。

Fusion 360のインターフェースにおけるGeometry Infoコマンドが強調表示された画像。

ダイアログが表示されたら、評価するサーフェスを指定して、Evaluation Type でサーフェスに表示する点や法線ベクトルを変更出来ます。 


CorkHoles サンプル  ← このリンクから GitHub リポジトリにジャンプします。

 穴フィーチャではない穴形状を Brep から見つけて、コルクで穴を塞ぐ処理を実装したアドイン サンプルです。アドインをロードすると、[モデル] ワークスペースの [アセンブリ] メニューに [Cork all holes] コマンドが追加されるので、このコマンドをクリックしてサンプルを起動します。ダイアログが表示されたら、処理したいボディを選択して [OK] ボタンをクリックするだけです。

Fusion 360 の CorkHoles アドインのメニューオプションが表示されている画面のスクリーンショット。左下に選択された 'Cork all holes' コマンドが赤い矢印で指し示されている。

ご注意いただきたいのは、GitHub リポジトリからダウンロードしたソースコードを一部修正しなければならない点です。このサンプルでは、穴をふさぐ「コルク」を作成していきますが、このコルクに黄色いマテリアルを指定していきます。マテリアルは英語環境に合わせて指定されているので、そのまま実行すると該当する外観マテリアル  ‘Paint – Enamel Glossy (Yellow)’ が見つけられずにエラーとなってしまいます。外観マテリアルについても同様です。

日本語版の Fusion 360 で実行する場合には、CorkHoles.py の次の太字部分、   

 # Change the color. app = adsk.core.Application.get() #matLib = app.materialLibraries.itemByName('Fusion 360 Appearance Library') #color = matLib.appearances.itemByName('Paint - Enamel Glossy (Yellow)') body = rev.bodies.item(0) body.appearance = color

を見つけて、次のように変更してください。これで、日本語版 Fusion 360 で動作するようになるはずです。

 # Change the color. app = adsk.core.Application.get() matLib = app.materialLibraries.itemByName("Fusion 360 外観ライブラリ") color = matLib.appearances.itemByName("ペイント - エナメル 光沢(黄)") body = rev.bodies.item(0) body.appearance = color

なお、ここでご紹介した GeometryEval サンプル以外の Github サンプルは、前述の Forge セミナー の Fusion 360 API セッション で実際にデモしていますので、収録動画で内容を確認していただくことも可能です。

By Toshiaki Isezaki


Comments

Leave a Reply

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading