Home > 3D-CAD > Fusion 360 > ドキュメント > API

ベクトルドロー・レベルゼロ

Fusion360のスクリプトやアドインを作成する

広告

新規作成日 2017-04-30
最終更新日

公式ドキュメントの和訳です。

原文:「Creating a Script or Add-In

あなたの最初のスクリプトを作成し、デバッグする

Creating and Debugging Your First Script

技術的には、スクリプトとアドインの間に大きな違いはありません。作成、そして、デバッグする手順の大部分は同じもので、下記の説明は、両方に当てはまります。詳細に入る前に、ここに、Pythonスクリプトやアドインを作成し、デバッグする基本的な手順があります。

  1. 以下に示すように、ツールバーから、「スクリプトとアドイン」コマンドを実行します。

    「スクリプトとアドイン」ツール
  2. スクリプトとアドイン・ダイアログで、以下に示すように「作成」ボタンをクリックします。

    「スクリプトとアドイン」ダイアログで、「作成」をクリックする
  3. 「新しいスクリプトやアドインを作成する」ダイアログでは、「スクリプト」を選択し、開発言語として、「Python」を選択します。スクリプト名のための名前を入力します。そして、必要に応じて、「説明」と「作成者」領域に、いくつかの情報を入力します。そして、「作成」をクリックします。先ほどの「スクリプトとアドイン」ダイアログに戻ります。

    「スクリプトまたはアドインを新規作成」ダイアログでパラメーターを指定する
  4. おめでとうございます。あなたは、ちょうど今、最初のスクリプトを作成しました。以下に示すように、それを実行するために、「スクリプトとアドイン」コマンドを実行します。

    「スクリプトとアドイン」ダイアログで、作成したスクリプトを実行する

    あなたのスクリプトをリストから選択をし、「実行」ボタンをクリックします。

    スクリプトの実行結果
  5. あなたは、ポップアップの下で、メッセージボックスを見る必要があります。それは、新しいスクリプトが行うすべての動作です。

あなたのスクリプトをデバッグするには、「スクリプトとアドイン」コマンドを実行し、リストから、あなたのスクリプトを選択します。そして、その次に、以下に示すように、「実行」ボタン内のドロップダウンから「デバッグ」をクリックします。

「スクリプトとアドインダイアログ」で、「ディバッグ」を選択する

Pythonスクリプトをデバッグするとき、Spyder開発環境をインストールして、開きます。

最初に使用するときに、Spyder開発環境がインストールされる

実行を停止させるために、スクリプトの最初の行に、ブレークポイントが自動的に追加されます。あなたは、今、行の左側の灰色の部分でダブルクリックして、あるいは、行を選択し、そして、F12を押して、追加のブレークポイントを追加することができます。以下に示すように、「継続」コマンド(Ctrl + F12)を実行することによって、あなたは、続いて、プログラムの実行を続けることができます。デバッグについての詳細は、以下で説明します。

「継続」コマンド(Ctrl + F12)を実行することによって、プログラムの実行を続けることができます。

また、あなたは、スクリプトを選択することで、「スクリプトとアドイン」コマンドによって、既存のスクリプトを編集することができます。そして、「編集」ボタンをクリックします。それは、デバッグ手順を開始することなく、Spyder開発環境を開くでしょう。

スクリプトとアドインの詳細

Script and Add-In Details

今、あなたは、スクリプトを作成して、デバッグする基本的な手順を見てきました。ここにスクリプトとアドインの詳細に関する、いくつかの情報があります。

スクリプトとアドイン・ダイアログは、ユーザーとプログラマーの双方のための、スクリプトとアドインへの主要なアクセス・ポイントです。それには、2つのタブが含まれています。;一つは、利用できるスクリプトが、一覧に示されています。そして、もう一つは、利用できるアドインが一覧に示されています。これらのリストから、あなたは、スクリプトやアドインを選択することができます。そして、その次に、それを実行するか、編集するか、デバッグします。

「スクリプトとアドイン」ダイアログ

新しいスクリプトやアドインを作成すると、あなたが、スクリプトやアドインに関する情報を入力する「新しいスクリプトやアドインを作成」ダイアログが表示されます。

ダイアログのさまざまな設定は、以下の通りです。

「スクリプトまたはアドインを新規作成」
  • プログラミング言語

    あなたが、Python、JavaScriptやC++スクリプトやアドインを作成するかにかかわらず、選択します。あなたが、「私の選択を環境設定で保存」にチェックする場合、続いて、これは、記憶され、次回、あなたが、新しいスクリプトやアドインを作成するとき自動的に設定されます。

  • 起動時に実行

    この設定は、アドイン特有で、そして、Fusionが、開始するとき、アドインが、自動的に実行される場合に示されます。ほとんどのアドインは、Fusionが開始するとすぐに、それらが定義するコマンドが、ユーザーが利用できるように、この機能を利用するでしょう。

  • スクリプト名またはアドイン名

    これは、あなたのスクリプトやアドインの名前です。「フォルダの場所」で特定された場所に、新しいフォルダを作成するために、この名前は使用されます。そして、また、これは、スクリプトやアドイン・コード・ファイルの名前に使用されるでしょう。

  • 説明

    スクリプトやアドインの説明です。オプション。

  • 作成者

    スクリプトやアドインの作成者の名前です。オプション。

  • バージョン

    これは、アドイン特有で、アドインのバージョンの選択可能な設定です。これは文字列で、すなわち「1.0.0」、「2016」、「R1」、「V2」など、バージョン・ラベルのどんなフォ-ムあってもよいです。

  • ターゲットのオペレーティングシステム

    スクリプトやアドインが、どのOSで、利用する必要があるかを示します。例えば、あなたのスクリプトやアドインが、Windowsの特有のライブラリを使用する場合、あなたは、これを「Windows」に設定するでしょう。それで、Fusionは、Mac上で、それを表示したり、読み込んだりしません。

  • フォルダの場所

    スクリプトやアドインが作成される場所。あなたが、ダイアログを使用して、新しいスクリプトやアドインを作成するとき、スクリプトやアドインの名前で、新しいフォルダが、作成され、そして、アドインのファイルは、そのフォルダに作成されます。アドインとスクリプトのための既定の位置は、下に示されます。:

    アドイン

    Add-Ins

    • Windows

      %appdata%\Autodesk\Autodesk Fusion 360\API\AddIns

    • Mac

      $HOME/Library/Application Support/Autodesk/Autodesk Fusion 360/API/AddIns

    スクリプト

    Scripts

    • Windows

      %appdata%\Autodesk\Autodesk Fusion 360\API\Scripts

    • Mac

      $HOME/Library/Application Support/Autodesk/Autodesk Fusion 360/API/Scripts

    スクリプトとアドインは、マシンのどんな場所でも存在することができます。しかし、それが起動するとき、Fusionが、アドインを自動的に検索する場所は、上で一覧を示される場所だけに存在します。他のどんな場所のスクリプトやアドインも、「スクリプトとアドイン」ダイアログで、"+"アイコンを使用して、明示的に配置される必要があります。別のコンピュータ上へ、アドインをコピー、あるいは、インストールするとき、あなたは、それを上記の指定の場所へコピーする必要があります。それで、Fusionは、自動的に、それを捜し出します。

スクリプトとアドインのファイル

Script and Add-In Files

新しいスクリプトやアドインが作成されるとき、コード・ファイル(Pythonのための.pyファイルとJavaScriptのための.jsとhtmlファイル、そして、C++のためのと.cppと他の関連するファイル)が、作成されます。コード・ファイルに加えて、スクリプトやアドインに関する追加の情報が含まれている.manifestファイルも同様に作成されます。例えば、あなたが、MyAddInと呼ばれるPythonアドインを作成する場合、以下に示すファイルとMyAddinフォルダが、作成されます。

"…/Autodesk/Autodesk Fusion 360/API/AddIns".

CドライブにWindowsがインストールしている場合の例

C:\Users\[アカウント名]\AppData\Roaming\Autodesk\Autodesk Fusion 360\API\AddIns

スクリプトやアドインで関連付けられる追加ファイル(例えば、アイコン)は、このフォルダに追加する必要があります。それで、アドインは、完全に自己内蔵型です。そして、このフォルダを正しい場所へ、単純に、コピーすることによって「インストール」することができます。

マニフェスト・ファイル

The Manifest File

.manifestファイルには、あなたが、スクリプトやアドインを、まず最初に、作成したとき、あなたが、「新しいスクリプトやアドインを作成」ダイアログ内で指定する情報が含まれています。表示され、そして、読み込まれる必要がある時、場合、同様に、決定するために、Fusionを使用する追加の情報が含まれています。マニフェスト・ファイルは、アドインとして同じ名前を持ちますが、.manifest拡張子を持っています。ファイルは、JSONフォーマットのテキストファイルです。アドインの典型的なマニフェスト・ファイルの例を以下に示します。

{
	"autodeskProduct":	"Fusion360",
	"type":	"addin",
	"id":	"62a9e55a-dbe4-408d-ad8b-cb802473725e",
	"author":	"Brian Ekins",
	"description":	{
		"":	"This is a test add-in."
	},
	"version":	"V1",
	"runOnStartup":	true,
	"supportedOS":	"windows|mac"
}

下記は、マニフェストのそれぞれの項目の説明です。

  • autodeskProduct

    このプロパティは、常に、「Fusion360」の値を持つでしょう。

  • type

    このプログラムが、アドインやスクリプトの場合、このプロパティは、示すために「アドイン」や「スクリプト」です。

  • id

    このプロパティは、このアドインを一意に識別するGUIDです。既存のアドインやスクリプトをコピーすることによって、あなたが、新しいアドインやスクリプトを作成する場合、あなたは、このIDを、各々の独自のIDの新しいGUIDに置き換える必要があります。これは、現在、Fusionで使用されていませんが、将来使用される可能性があります。

  • author

    このプロパティは、作成者の名前が含まれる文字列です。これは、「スクリプトとアドイン」ダイアログの中に表示されます。

  • description

    これは、アドインの説明を定義するプロパティをもつJSONオブジェクトです。JSONフォーマットを使用して、それは、1つ以上のプロパティを持つオブジェクトとして定義されます。それで、その説明は、複数の言語で指定されています。下記の例では、既定の説明の空の名前で、1つのプロパティを持っています。そして、具体的な説明を持たない、どんな言語のためにも使用されもします。その他の3つのプロパティは、英語、イタリア語と中国語を使用するために、テキストを定義します。言語は、業界標準言語コードを使用して指定します。

    "Description":{
                   "":"Default description",
                   "1033": "Description in English"
                   "1040": "Descrizione in Italiano"
                   "1028": "說明在中國"
    }
  • version

    このプロパティは、アドインのバージョンを定義し、「1.0.0」、「2016」、「R1」、「V2」など、どんな文字列でも使用できます。

  • runOnStartup

    このプロパティは、Fusionが、開始するとき、このアドインが、Fusionで自動的に開始される場合、示すために、trueやfalseであることができます。

  • supportedOS

    このプロパティは、「windows」、「mac」や「windows|mac」になります。これは、アドインが読み込まれる、OSを定義します。これが使用される場所の1つの例は、アドインが、OS固有のライブラリを使用する場所です。それで、アドインは、他のどんなOSでも動作しません。例えば、私が、Windowsの特有のライブラリを使用するアドインを記述する場合、私は、supportedOSを「windows」に設定することができます。それで、Mac上では、Fusionは、「スクリプトとアドイン」ダイアログでアドインを表示しません。そして、また、起動時に、それを実行しません。ほとんどのPythhonとJavaScriptスクリプトとアドインは、MacとWindowsの両方と互換性を持つ必要があります。それで、これは、アドインが、両方のOSのための読み込まれることができることを示すために、「Windows|Mac」に設定する必要があります。C++スクリプトとアドインは、各々のプラットホームのために、別々にコンパイルする必要があります。開発者が、コンパイルするWindowsとMacマシンにアクセスしないとき、このオプションを使用するかもしれない可能性が高いです。

  • sourcewindowsとsourcemac

    C++スクリプトやアドインは、2つの更なるプロパティを持ちます。それは、WindowsとMacのためのプロジェクト・ファイルのファイル名を識別します。あなたが、「スクリプトとアドイン」ダイアログの「編集」オプションを選択するとき、Fusionは、そのファイルタイプで関連付けられる、どんなアプリケーションでも使用して、関連するプロジェクト・ファイルを開きます。例えば、下記の例では、.vcxprojファイルは、sourcewindowsプロパティのために指定され、それで、Visual Studioが、以後、呼び出されます。それは、Windows内で、.vcxprojファイルのために、関連するアプリケーションとして、定義されます。このファイルを変更することによって、あなたは、あなたが望む、どんなコード・エディタでも使用するように、選択することができます。

    	"sourcewindows":	"NewCPPTest.vcxproj",
    	"sourcemac":	"NewCPPTest.xcodeproj"

    また、これらのプロパティは、JavaScriptエディタとして、Bracketを使用して、既定の動作を上書きするために、JavaScriptスクリプトとアドインのために使用することができます。この場合、ソースファイルは、プロジェクトの.jsファイルです。そして、あなたが、システム上で設定したものは何でも、.jsファイルに関連付けられたアプリケーションとして使用されます。

    	"sourcewindows":	"AssemblyTree.js",
    	"sourcemac":	"AssemblyTree.js"

    sourcewindowsとsourcemacプロパティの例外に、注意してください。スクリプトやアドインの名前は、マニフェスト・ファイルに指定されていません。名前は、メインディレクトリとファイルのために、使用される名前によって定義されます。スクリプトやアドインの名前を変更するために、ディレクトリとファイルの名前を新しい名前に変更します。

スクリプト・コード

Script Code

下記は、自動的に記述されるコードです。新しいPythonスクリプトが作成されるとき、「run」関数に注意します。Fusionは、run関数を自動的に呼び出すでしょう。スクリプトが、最初に実行されるとき、また、それは、スクリプトが、Fusion起動時に実行される、あるいは、セッションの間に読み込まれているかどうかに関係なく、「コンテクスト」引数を通して情報を渡します。スクリプトについては、これは、スクリプトのため、無視することができます。それは、常に、Fusionセッション中に、実行され、そして、決して起動時には実行されません。run関数は、あなたのアドインへのエントリ・ポイントです。

Import adsk.core, adsk.fusion, traceback

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

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

アドイン・コード

Add-In Code

下記のコードは、新しいPythonアドインが作成されるとき、記述されたものです。それは、厳密に、また、「stop」関数が含まれている、新しいスクリプトを除いて、同じだということに注意します。

import adsk.core, adsk.fusion, 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()))

「stop」関数は、Fusionによって呼び出されます。アドインが、停止されるたびに、アンロードします。これは、ユーザーが、より一般的に「スクリプトとアドイン」ダイアログを使用して、それを停止するため、それは、Fusionが、シャットダウンされ、そして、すべてのアドインが停止されるため、発生する可能性があります。stop関数は、それが作成した、どんなユーザー・インターフェイス要素でも削除するように、アドインが、どんな必要なクリーンアップでも実行することができる場所です。

runとstop関数は、一つの引数を「コンテクスト」と呼び出します。それは、追加の情報を、runとstop関数が、呼び出されている理由のコンテクストを示しているアドインに渡すために使用されます。言語に依存して、この情報は、異なる型を使用して渡されますが、すべての場合、それは対となるname:valueペアを示します。Pythonは、Dictionaryオブジェクトとしてこれを渡します。JavaScriptは、Objectとしてそれを渡します。そして、C++は、JSONフォーマットの文字列として、それを渡します。次のname:valueペアが、現在サポートされます。

run
名前 解説
IsApplicationStartup Trueまたはfalse アドインが、Fusionの起動時(true)に、自動読み込みの結果として、開始されていることを示しています。あるいは、「スクリプトとアドイン」ダイアログ(false)によって、ユーザーによって読み込まれています。
stop
名前 解説
IsApplicationClosing Trueまたはfalse Fusionが、シャットダウンされている(true)結果として、アドインが、シャットダウンされていることを示しています。あるいは、ユーザーが、「スクリプトとアドイン」ダイアログ(false)を通して、それを停止します。

スクリプトとアドインとの比較

Scripts vs. Add-Ins

先に述べたように、クリプトとアドインの間に、極めて小さな技術的な違いがあります。主な違いは、どのように、それらが実行され、それらの寿命を迎えるかです。スクリプトは、「スクリプトとアドイン」コマンドによって、ユーザーが実行します。そして、run関数が、実行を完了した後、すぐに、停止します。スクリプトが実行され、それが行われます

アドインは、Fusionでは、一般的に、Fusionが起動するとき、自動的に読み込まれます。また、アドインは、一般的に、1つ以上のカスタムコマンドを作成し、そして、それらをユーザー・インターフェイスに追加します。アドインは、Fusionセッションを通して実行し続けます。それで、それは、そのコマンドが、ユーザーによって実行されるたびに、反応することができます。アドインは、Fusionがシャットダウンされるまで、実行し続けます。あるいは、ユーザーは、明示的に、「スクリプトとアドイン」ダイアログを通して、それを停止します。それが停止するとき、それは、stop関数で、たとえどんなユーザー・インターフェイスのカスタマイズを作成したとしても、クリーンアップします。

Fusion APIを使用するアドインは、スクリプトとどんな違いもありません。それは、同じAPIです。そして、どんなスクリプトやアドインの、どのAPI呼び出しも、制限されていません。しかしながら、いくつかのAPIの領域があります。それは、スクリプトより、アドインにとってより役に立ちます。最初は、APIの部分です。それは、Fusionユーザー・インターフェイスで機能することを処理します。そして、ボタンや他のコントロールに、あなたのカスタム・コマンドのアクセスを追加します。例えば、あなたが、スケッチの中に形状を描くカスタム・コマンドを作成する場合、あなたは、スケッチ・パネルに新規ボタンを追加したいと思うでしょう。そうすれば、ユーザーが、それを見つけることは簡単です。アドインは、起動時に読み込むことができるため、Fusionが起動するたびに、それは、常に、ユーザーが利用できるように、ユーザー・インターフェイスにそのカスタム・コマンドを追加することができます。そして、標準的なFusionコマンドとして表示されます。これは、ユーザー・インターフェイス・トピックで、より多くの詳細が記述されています。

APIの第2の領域は、アドインが命令するために、利用できます。コマンドの使用は、アドインに限定されていません。そして、ときどき、スクリプトの中でコマンドの機能を使用する理由があります。しかし、それは、一般的に使用され、そして、アドインでより多くの意味があります。これは、コマンドのトピックで説明されています。

編集とデバッグ

Editing and Debugging

スクリプト、そして、アドインの編集とデバッグの詳細については、言語固有のトピックを参照してください。(Python、JavaScriptやC++)手順が、あなたが、どの開発言語を使用するかによって、異なります。

広告

Home 3D-CAD 2D-CAD 3D-モデラー 学生版 モデリング資料

Copyright (C) 2011 Horio Kazuhiko(kukekko) All Rights Reserved.
kukekko@gmail.com
ご連絡の際は、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」