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

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

webページからファイルを開く

広告

新規作成日 2017-05-09
最終更新日

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

原文:「Opening Files from a Web Page

外部Webページから、Fusion 360でファイルを開くことはができます。これは、「プロトコル・ハンドラ」を用いて行います。プロトコル・ハンドラは、局所的な動作を実行するために、Webページで使用されます。例えば、mailto:リンクは、あなたの電子メール・プログラムを開くプロトコル・ハンドラを呼び出します。Fusion 360が、インストールされるとき、それは、Webページで、リンクによって参照されるとき、Fusion 360で指定ファイルを開くプロトコル・ハンドラを登録します。ファイルは、新規デザインとして開くか、現在開いているデザインに、新しいコンポーネントとして、挿入することができます。ファイルは、ローカル、あるいは、リモートのどちらでもかまいません。そして、Fusionが、実行されていない場合、起動されます。

このプロトコルを使用するには、あなたは、あなたのhtmlの中で、「fusion360」プロトコル・ハンドラを参照するリンクを作成します。下記のHTMLコードは、クリックされた時、それが、指定されたローカルFusionファイルを開く、リンクを作成する簡単な例です。

<a href="fusion360://command=open&file=c:/temp/SampleGear.f3d">Open a local file</a></code>

ユーザーが、最初にリンクをクリックすると、ブラウザは、以下に示すものと同様に、進めたいか、それらに尋ねるセキュリティ・ダイアログを表示します。ユーザーが、どのように、答えるかに応じて、次回、プロトコル・ハンドラが、呼び出されるとき、ダイアログが、表示されない場合もあります。表示される特定のダイアログは、どのブラウザが使われているかに依存します。

ユーザーが、最初にリンクをクリックすると、ブラウザは、以下に示すものと同様に、進めたいか、それらに尋ねるセキュリティ・ダイアログを表示します。

Fusion 360プロトコル・ハンドラを使うために、あなたは、URIを定義します。それは、下記の例で強調されるように、「fusion360://」から始まります。

<a href="fusion360://command=open&file=c:/temp/SampleGear.f3d">Open a local file</a>

URIに、一連の名前-値の対があります。それは、URLの問合せパラメータとして、同じ書式を使用します。これらのはじめは、必要です。そして、以下で強調されるように、「コマンド」の引数です。

<a href="fusion360://command=open&file=c:/temp/SampleGear.f3d">Open a local file</a>

コマンド

Commands

"command"引数の値は、あなたが、"open"か"insert"のどちらか呼び出したいコマンドの種類を指定します。;。

open

"open"コマンドは、Fusionで指定されたファイルを開きます。これは、「New Design from File」コマンドを使用するのと、同じ結果を持っています。新規デザインを作成するとき、指定されたファイルが、テンプレートとして使われます。新しいファイルは、元のファイルから完全に独立しています。そして、それを保存するには、A360上で、位置とファイル名を指定する必要があります。Fusionが、実行されている場合、新規デザインは、実行されているセッションの内に作成されます。Fusionが、実行されていない場合、それは開始され、その次に、デザインが作成されます。以下に示すように、"open"コマンドを使うとき、"file"引数が、必要です。

<a href="fusion360://command=open&file=c:/temp/SampleGear.f3d">Open a local file</a>

"file"引数は、コード化される(JavaScriptのencodeURIComponentと同様に)URIでなければなりません。encodeURIComponent関数は、特定の文字を、それらと等価なエスケープ・シーケンスで、置き換えます。上記の例では、ローカルファイルは開かれています。下記の例は、web上にあるファイルを開きます。

<a href="fusion360://command=open&file=http://help.autodesk.com/cloudhelp/ENU/Fusion-360-API/images/SampleGear.f3d">Open a web file</a>

使われるファイル形式は、f3d、STEP、IGE、SAT、SMT、STL、やOBJ書式が使えます。そして、ファイル名は、Fusionが、ファイルの種類を知ることができるようにするために、正しいファイル拡張子を持っている必要があります。そして、適切なトランスレータを使用します。(例外については、以下の「拡張」引数を参照してください。)f3dファイルが、使われる場合、それは、結果として、モデルの完全な履歴が、デザインにコピーされるでしょう。STEP、IGES、SAT、およびSMTファイルを使用すると、新しいボディが作成されます。STLやOBJを使用すると、結果として、メッシュ・ボディが作成されるでしょう。STLやOBJファイルを開くと、結果として、ダイレクト・モデリング・デザインになります。

insert

"insert"コマンドは、新しいコンポーネントとして、実行中のデザインに指定されたファイルを挿入します。Fusionが、実行されていない場合、それが、開始され、そして、ファイルは、最初の空のデザインに挿入されます。以下は、ローカルのf3dファイルを、現在、実行中のデザインに挿入する例です。以前の例との唯一の違いは、ファイルを、"open"の代わりに"insert"コマンドを使って、開くことです。openと同じように、Web上のファイルも使用でき、同じファイル形式もすべてサポートされています。

<a href="fusion360://command=insert&file=c:/temp/SampleGear.f3d">Insert a local file</a>

Arguments

必要な "file"引数のほかに、また、動作を制御することで使用することができる、いくつかの追加のオプションの引数があります。そして、ファイルの他にFusionに、追加の情報を渡します。これらのうちのいくつかは、openコマンドやinsertコマンドでのみ適用可能であり、他のものは両方で動作します。引数は、以下の一覧の通りです。

NoMove

NoMove引数は、オプションです。そして、"insert"コマンドだけが、有効です。既定では、あなたが、ファイルを挿入するとき、Fusionは、"Move"コマンドを呼び出します。それで、ユーザーは、作成だけされたコンポーネントを再配置することができます。このオプションの引数を使用して、あなたは、"Move"コマンドの呼出しを無効にすることができます。あなたが、f3dファイルを挿入している場合、固定されたコンポーネントが含まれている場合、この引数に関係なく、"Move"コマンドは呼び出されません。コードは、"NoMove"引数を用いて以下を説明します

<a href="fusion360://command=insert&file=c:/temp/SampleGear.f3d&NoMove=true">Insert a local f3d file, NoMove</a>

NoFit

NoFit引数は、オプションです。そして、"insert"コマンドだけが、有効です。既定では、あなたが、ファイルを挿入するとき、Fusionは、Viewを合わせるので、画像の全てが、表示されます。このオプションの引数を使用して、あなたは、view fitを無効にすることができます。コードは、"NoFit"引数を用いて以下を説明します。

<a href="fusion360://command=insert&file=c:/temp/SampleGear.f3d&NoFit=true">Insert a local f3d file, NoFit</a>

Extension

Extension引数は、"open"と"insert"の両方で有効です。そして、どんなファイル形式が、挿入されているか、Fusionに伝えるために使用されます。既定では、Fusionは、ファイルの拡張子に依存します。そして、自動的に、適切なトランスレータを使用して、Fusionデザインにデータをインポートするでしょう。ファイルが、拡張子を含まない名前を持っている場合があります。この場合、あなたは、Fusionにファイルがどんな種類か伝える必要があります。"Extension"引数の値は、「.」を含むその個々のファイル形式の有効な拡張子です。例えば、あなたが、使用できるSTEPファイルのための「.stp」や「.step」。また、大文字と小文字を区別しないので、 ".STP"と ".STEP"も有効です。以下のコードは、拡張子なしで、WebからSTEPファイルを挿入する方法を説明します。ファイル名は、「SampleGearNoExtension」です。

<a href="fusion360://command=insert&file=http://help.autodesk.com/cloudhelp/ENU/Fusion-360-API/images/SampleGearNoExtension&Extension=.stp">Insert STEP file from web</a>.

properties

この引数は、あなたが、新たに作成されたコンポーネントのためのプロパティ値を指定することができます。これは、新しいコンポーネントが、両方の場合で作成されるため、「open」と「insert」の両方で動作します。今日の時点で、Fusionは、以下に示される3つのコンポーネント・プロパティだけをサポートします。;Part Number、Part NameとDescription。

3つのコンポーネント・プロパティだけをサポートします。;Part Number、Part NameとDescription。

Part NumberとDescriptionは、どんな文字列でも使用できます。Part Numberは、既定で、Part Nameとして同じ値に設定されます。Part Nameは、ルート・コンポーネントのために固有で、ファイルの名前です。それは、同様に、ルート・コンポーネントの名前です。組み込まれたコンポーネントの場合は、コンポーネントの名前です。"properties"パラメータの値は、エンコードされたJSON文字列です。それは、あなたが設定したい、各々のプロパティの名前と値を指定します。Part Number、Part NameとDescriptionプロパティを設定するために、以下の例は、JSONを表示します。一旦、エンコードされると、URLで正常に使用できるようになります。:

{
   "PartName": "GearPart",
   "PartNumber": "ABC",
   "Description": "This is a Spur Gear" 
}

そして、これを使用してファイルを挿入する完全なリンクは、以下の通りです:

<a href="fusion360://command=insert&file=c:\temp\SampleGear.f3d&properties=%7B%22PartName%22%3A%22GearPart%22,
%22PartNumber%22%3A%22ABC%22,%22Description%22%3A%22This%20is%20a%20SpurGear%22%7D">Insert a local file</a>

privateInfo

コンポーネントが、"open"か"insert"のどちらかで作成されるとき、パラメーターは、あなたが、Fusionに追加の情報を渡すことができます。Fusionは、このデータを読み込まないか、保存しませんが、insertingFromURL」(「insertedFromURL」、「openingFromURL」や「openedFromURL」イベント(以下で説明される))で聞き取る、いずれかのアドインを通して、それを渡します。アドインは、それが選択をするどのような方法でも、この情報を使用することができます。例えば、なぜなら、マテリアル・データは、書式の一部として、提供されていません。マテリアルの名前は、このパラメータを通して、渡すことができます。そして、アドインは、「openedFromURL」や「insertedFromURL」イベントに対応することができます。privateInfoデータから、マテリアル情報を抽出します。そして、新たに作成されたコンポーネントに、それを割り当てます。一般的な使い方は、この情報をコンポーネントの属性として追加することで、アドインは、続いて、新しいコンポーネントで関連付けることができる部品と一緒に、すなわち、製造業者、追加の情報へのURL、費用など、追加のグラフィック以外の情報を渡すことです。

privateInfoパラメータを通して渡されるデータについての唯一の要件は、URLで有効になるようにエンコードする必要があります。あなたが、更に複雑なデータを持っている場合、あなたは、JSONを使うことを選択することができます。あるいは、それは、あなたが選択するどんな書式も文字列にできます。なぜなら、あなたは、sender(呼び出されているhtml)とreceiver(Fusionイベントを通して)のデータの書式は、完全にあなた次第です。

id

idパラメータは、挿入時にのみ使用されます。それには、挿入されるコンポーネントのための固有のIDが含まれています。この値に対する2つの要件は、それは、意味を持つURLの有効な文字列であること、それに、特殊文字が含まれている場合、コード化する必要がることです。そして、それは、すべての他の部品に関して、一意である必要があります。既に、このデザインに挿入されているものだけでなく、これは、すべての場所にある部品全体で、完全に一意のIDを示しています。GUIDの使用は一般的ですが、また、それは、いくつかの他のベンダー固有の識別でもあります。あなたが、何に使用する場合でも、あなたは、確実に一意であることを確認する必要があります。Fusionは、全ての同じ部品を表すこのIDを使用して、複数のコンポーネントを作成しないようにします。IDが無ければ、あなたが、2回、同じファイルを挿入する場合、2つの一意のコンポーネントは、正確に同じジオメトリーに作成されます。これは、同じ部品の2つのインスタンスではなく、2つのユニークな部品として認識されるため、不必要なジオメトリーを作成し、また、BOMで、問題の原因になります。

IDは、コンポーネントが挿入されるたびに、いくつかの作業を行うFusionで、この問題を解決します。コンポーネントが挿入されるとき、Fusionは、IDパラメータが、中で渡されている場合、そして、それを、確かめるために、現在のデザインで、確認する場合、同じIDを持つ、既存のコンポーネントが存在する場合、確かめるために確認します。コンポーネントが、同じIDを持つ場合、挿入操作は中止され、そして、既存のコンポーネントのコピー操作が、開始されます。この結果、既存のコンポーネントのインスタンスが追加されます。

イベント

Events

Webページからファイルを挿入し、そして、開き、連携した他の作業工程に対応するために、また、Fusionは、いくつかのイベントをサポートしています。それは、Webページから、開かれて、あるいは、挿入するファイルに反応を発生します。イベントの全ては、Applicationオブジェクトを通して呼び出されます。イベントの最初の設定は、ユーザーによって開始されたURLから、挿入、あるいは、開くとき、Fusionで、実際に何かが生じる前に、発生する「insertingFromURL」と「openingFromURL」です。さまざまなパラメータの値は、上の説明が、イベントを通して提供されるため、URLで渡されます。アドインは、openやinsertを続行したいかどうか、このデータを見て、そして、決定することができます。アドインは、開く、あるいは、挿入を中止するために、提供されたWebRequestEventArgsオブジェクト上で、isCanceledプロパティをTrueに設定することができます。

2つ目のイベントの設定は、コンポーネントが、挿入、あるいは、新しいファイルが作成された後、発生する「insertedFromURL」と「openedFromURL」です。これは、また、「insertedFromURL」イベントは、URLを通して渡される「properties」、「id」、および「privateInfo」データで、アドインを提供します。そして、また、それは、作成されたばかりのOccurrenceを提供します。これは、オカレンスや作成だけされる参照されたコンポーネントの上で、更なる操作を実行するために、アドインを提供します。例えば、それは、マテリアルを設定する、あるいは、属性を追加することができます。「openedFromURL」イベントは、作成されたばかりのドキュメントを提供します。

サイズの制限

Size Limitations

開発者が知っておく必要がある問題は、URLには、サイズ制限があります。HTMLからやって来るため、Fusionは、URLの長さを制御できません。そして、ブラウザは、まず、最初にそれを処理し、そして、それをFusionに渡しています。実際の最長の長さは、使われるブラウザによって異なりますが、2000文字以下であれば、通常、安全であるべきです。あなたは、Stack Overflow上で、この議論に関して、より多くの情報を読むことができます。それが、データの全てを渡すことができるため、十分長くない場合、あなたは、Webサービスの選択肢を提供する必要があります。あなたのアドインは、それを使うことができます。あなたは、必要とする完全な情報を提供することができる十分な情報を渡すために、あなたのアドインを有効にするために、あなたのWebサービスを呼び出すために、"privateInfo"引数を使用することができます。なぜなら、それには、サイズ限界がありません。

Example

以下は、小さなテストプログラムです。それは、あなたが、ファイル名を入力できます。そして、さまざまなオプションが利用できます。そして、その次に、ファイルを開くか、それをFusionに挿入します。プログラムは、さまざまな設定を見て、そのファイルを挿入する、あるいは、開くために必要な完全なURLを構築します。また、それは、呼び出された完全なURLを表示します。これは、好きな外観に構築する必要があるURLをテストして理解するのに役立ちます。

※原文ページでは、htmlで記述されているので動作します。このページでは、画像で貼り付けてあるので動作しません。

小さなテストプログラム

入力:

URN、あるいは、ローカルファイルへの絶対パス(必須):

サンプルURNで上記を埋め込みます

挿入した後、移動します

挿入した後、表示をフィットします。

部品名(選択可能):

部品番号(選択可能):

部品の説明(選択可能):

ID(選択可能。挿入物のためだけに使用します):

非公開情報(選択可能):

動作:

Fusionで、開く

Fusionに挿入

動作を実行せず、URLのみを表示します。

結果:

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

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