読者です 読者をやめる 読者になる 読者になる

ドローイング空間

3D-CADを中心に、雑多なことをかいています。

Fusion360で、スクリプトやアドイン(マクロ)を利用する

広告

Fusion 360では、JavaScriptPythonC++ の 3つの開発言語を選択して、スクリプト(Script)とアドイン(Add-In)機能が利用できます。

adndevblog.typepad.com

動作速度は、一般に、C++が、最も早く、次に、Pythonそして、JavaScriptの順になります。 スクリプトやアドインの販売を考える場合、コードの隠蔽が可能なことから、C++を選択するのが良さそうです。 個人で、利用する場合は、JavaScriptに精通していなければ、Pythonを選択するのが良さそうです。

ただ、他のマクロが利用できるアプリケーションと同様に、使用するための情報や学習資料は多くなさそうです。

公式の情報ページは、ここです。

autodeskfusion360.github.io

チュートリアルには、ページは用意されていますが、部分的にしか内容がありません。今後に期待です。

Learning | Autodesk Fusion 360

YouTubeに、動画チュートリアルが公開されています。実際にどのように使うのか、見て把握できる点は 便利ですが、英語の内容であること、検索性、速読性などから、あまり使い勝手が良くありません。

日本語に翻訳された情報が、ブログ型式で提供されています。実質的に、翻訳されたブログを頼りに使い方を考えていく方向になりそうです。

アドイン(Add-In)とスクリプト(Script)の違い

adndevblog.typepad.com

Script を実行する場合には、Fusion 実行中に手動で実行したい Script を直接指定する必要があります。 一方、Add-In では、Fusion 360 のインストール フォルダ内にある場所から、 マニフェストを利用したモジュールの自動ロードと実行が可能になります。

新しく Add-In を作成する場合の手順

画面上部にある Quick Access Toolbar の [File] メニューで [Scripts and Add-Ins] 項目を選択します。

画面上部にある Quick Access Toolbar の [File] メニューで [Scripts and Add-Ins] 項目を選択します。

リボンからも、アドインを選択できます。

リボンからも、アドインを選択できます。

ダイアログが表示されます。「Script」と「Add-Ins」タブ、目的にあった方を選択します。

ダイアログが表示されます。「Script」と「Add-Ins」タブ、目的にあった方を選択します。

新規作成する場合は、「Create」を選択します。表示されるダイアログから、「Script」と「Add-Ins」が選択できます。 そのため、新規作成する場合は、タブの表示はあまり関係ないようです。 "Run on Startup" を指定した場合、起動時に、そのスクリプトやアドインが自動実行されます。

新規作成する場合は、「Create」を選択します。表示されるダイアログから、「Script」と「Add-Ins」が選択できます。

「Create」を選択すると「My Add-Ins」の中に、作成したファイルが追加されます。「Run」をクリックして実行してみます。

「Create」を選択すると「My Add-Ins」の中に、作成したファイルが追加されます。

メッセージボックスが、表示されます。「OK」をクリックすると終了します。

メッセージボックスが、表示されます。

再度、スクリプトとアドインダイアログから、同じファイルを選択し「Edit」を選択すると、 自動的に、PythonIDEであるSpyderがインストールされ、コードが表示されます。

#Author-
#Description-

import adsk.core, adsk.fusion, adsk.cam, traceback

def run(context):
ui = None
try:
app = adsk.core.Application.get()
ui = app.userInterface
ui.messageBox('Hello addin')

except:
if ui:
ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))

def stop(context):
ui = None
try:
app = adsk.core.Application.get()
ui = app.userInterface
ui.messageBox('Stop addin')

except:
if ui:
ui.messageBox('Failed:\n{}'.format(traceback.format_exc())) 

作成されたスケルトンコードには、Run と Stop の 2 つの関数が登録されています。 簡単に説明してしまうと、Run がこの Add-In の開始時に実行される関数で、Stop は Add-In の終了時に実行される関数です。 "Run on Startup" を指定した場合には、Run が Fusion 360 の起動時に自動実行されます。