Keyboard ALT + g to toggle grid overlay

Autodesk App Store - Navisworks 開発者向け情報

Navisworks Manage と Navisworks Simulate は、Autodesk App Store で提供されるアプリをサポートしています。アプリは、.NET API プラグインと Nwcreate プラグインの両方の追加に使用できます。

スタートアップ

プロダクション アプリは、アプリを ADN に申請した後に作成される MSI インストーラとして提供されます。ただし、インストーラの動作をシミュレートし、成果物をディスク上の適切な場所にコピーすれば、アプリをテストすることは可能です。登録は不要です。ここでは、.NET API プラグインを含むアプリの作成方法を説明します。

前提条件

    • 登録不要のメカニズムは、Navisworks 2015 以降で機能します。1 つのリリースの .NET API は、1 つのメジャー バージョン内でのみ互換性があります。したがって、アプリケーションで複数のリリースをサポートする場合は、各バージョンの .NET API でバイナリをコンパイルし、まとめてパッケージ化する必要があります。以下の手順は、対応するバイナリの指定方法を示しています。
    • Microsoft Visual Studio 2012 以降および .NET Framework 4.5 が必要です。

場所

Autodesk アプリケーションの読み込みには 2 つのルート フォルダがサポートされています。これらのフォルダを使用するのは Navisworks だけではないことにご注意ください。すべての Autodesk 製品がこれらのフォルダを共有します。ユーザごとのルート フォルダは次のとおりです。

  • %APPDATA%\Autodesk\ApplicationPlugins

マシンごとのルート フォルダは次のとおりです。

  • %PROGRAMDATA%\Autodesk\ApplicationPlugins

ユーザごとのフォルダにインストールされるアプリはそのユーザしか利用できませんが、マシンごとのフォルダにインストールされるアプリはすべてのユーザが利用できます。

バンドル

上述のルート フォルダのいずれかに、末尾が .bundle となる固有の名前を持つフォルダを作成する必要があります。このフォルダには、PackageContents.xml という名前の構成ファイルを直接配置する必要があります。また、成果物を置くための Contents サブフォルダも必要です。

 

したがって、最小限の開発インストールは次のような 2 つのファイルを持ちます。

  • %APPDATA%\Autodesk\ApplicationPlugins\ADSK.MyApp.bundle\PackageContents.xml
  • % APPDATA %\Autodesk\ApplicationPlugins\ADSK.MyApp.bundle\Contents\v14\ADSK. MyPlugin.dll

注:

  • ここでは、Navisworks 2018 のみのバイナリを含むバンドルを対象としています。v15 は、2017 の .NET API でコンパイルされたバイナリを展開するサブフォルダの名前です。2019 のバイナリであれば、v16 のように設定します。
  • 実際のインストールでは、ドキュメント、アイコンなどが含まれるため、3 つ以上のファイルが必要になると考えられます。
  • 実際のインストールでは、ADSK を自身の ADN 開発者 ID に置き換える必要があります。この ID には、ドメイン名を逆さにしたもの(例: com.autodesk や uk.co.autodesk)を使用することをお勧めします。
  • フォルダ名は、すべての Autodesk バンドルで固有である必要があります。最初は、自身の開発者 ID を接頭表記として使用することをお勧めします。
  • インストールする各 DLL の名前は、Navisworks の実行セッション内で固有のものである必要があります。Navisworks によってインストールされる DLL や、他のアプリによって提供される DLL と競合しないようにします。最初は、自身の開発者 ID を接頭表記として使用することをお勧めします。

PackageContents.xml

最小の開発構成ファイルは、次のようになります。

<?xml version="1.0" encoding="utf-8"?>

<?xml version="1.0" encoding="utf-8"?>

<ApplicationPackage > 

  <Components Description="2018 parts">

    <RuntimeRequirements OS="Win64" Platform="NAVMAN|NAVSIM" SeriesMin="Nw15" SeriesMax="Nw15" />

    <ComponentEntry AppType="ManagedPlugin"ModuleName="./Contents/v15/ADSK.MyPlugin.v15.dll">    

    </ComponentEntry>

  </Components>

 

  <Components Description="2017 parts">

    <RuntimeRequirements OS="Win64" Platform="NAVMAN|NAVSIM" SeriesMin="Nw16" SeriesMax="Nw16" />

     <ComponentEntry AppType="ManagedPlugin"ModuleName="./Contents/v16/ADSK.MyPlugin.v16.dll">    

  </Components>

</ApplicationPackage>

 

この例では、次のような単一コンポーネントを指定します。

  • OS="Win64": このコンポーネントは、64 ビット製品のみで動作します。
  • Platform="NAVMAN|NAVSIM": このコンポーネントは、Navisworks Manage と Navisworks Simulate の両方で機能します。
  • SeriesMin="Nw15" SeriesMax="Nw15": Nw14 は、このコンポーネントが Navisworks 2018 バージョンで動作することを意味します。既述のとおり、1 つのリリースの .NET API は 1 つのメジャー バージョン内でのみ互換性があります。同様に Nw16 は、Navisworks 2019 で動作するコンポーネントであることを意味します。
  • AppType="ManagedPlugin": このコンポーネントは、Navisworks .NET API を対象とするプラグインを含むマネージド .NET アセンブリです。
  • ModuleName="./Contents/v15/ADSK.MyPlugin.dll" : コンポーネント .NET アセンブリへの相対パスを指定します。v15 フォルダ内にあり、「Navisworks 2018」のみを対象としていることを示します。バイナリの特定のリリースを特定のフォルダに配置できるほか、固有の名前を付けて 1 つのフォルダ内に配置することもできます。

注:

  • 実際の設定ファイルの内容は、これよりも多くなります。
  • <ApplicationPackage> 要素には、複数の <Components> 要素を含めることができます。各コンポーネントは、異なるプラットフォームやシリーズ向けにすることができます。

ADSK.MyPlugin.dll

この例で ModuleName が指す DLL は、マネージド .NET アセンブリです。これは C# ‘Class Library’ のように記述でき、次のコードで定義されているように、基本的な “Hello World” AddInPlugin を含むことができます。

Autodes.Navisworks.Api.Plugins を使用:

...

[PluginAttribute("MyPlugin", "ADSK", DisplayName = "Myplugin : Hello World")]

[AddInPluginAttribute(AddInloation.AddIn)]

public class Myplugin : AddInPlugin

{
 public override int Execute(params string[] parameters0
 {
  MessageBox.Show("hello World");
  return 0;
 }
 }
...  

注:

  • %PROGRAMFILES%\Autodesk\Navisworks Manage <release number>\Autodesk.Navisworks.Api.dll への参照を追加する必要があります(‘CopyLocal’ は False に設定する必要があります)。
  • 実際のコードでは、独自の固有の開発者 ID を使用する必要があります。

NWcreate ‘File loader’ のサポート

コンポーネントでは、DLL が NWcreate スタイルの 'File loader' であることも指定できます。これを行うには、AppType="NativeLoader" を使用します。

詳細情報

ADN チームは、Autodesk App Store にアプリを適切に公開するためのお手伝いをします。サポートが必要な場合は、いつでもお問い合わせください。ガイドラインやその他のドキュメント(www.autodesk.com/developapps に掲載)についてご不明な点がありましたら、appsubmissions@autodesk.com 宛てに電子メールでお問い合わせください。

 

Autodesk App Store をご利用いただきありがとうございます。

 

プラグインを使用して F1 キーでヘルプをポップ アウト表示する開発者向けの情報: 現在、Windows API で F1 キーに連結して、独自のヘルプ ページを表示する方法があります。