Autodesk.Intent.Services DLL

最初に認識されるコンポーネントは、web サービス API の契約およびクライアント プロキシ クラスが含まれる DLL です。クライアント アプリケーションでこの DLL を使用することは任意です。独自のプロキシとサービスの作成に役立つユーティリティを提供します。または、クライアント プロキシを生成することができる .NET アプリケーションにサービス リファレンスを追加することにより、Intent のサービスを使用することができます。

IntentServicesClient

これは、.NET クライアントが web サービスにアクセスするために使用できる、あらかじめ用意されているクライアント プロキシ クラスです。これには、サービス リファレンスおよび Uri 引数をとるもう 1 つの追加のコンストラクタによって生成されたクライアント プロキシによって提供されるコンストラクタと同じ方法で動作する複数のコンストラクタがあります。

既定のコンストラクタでは、クライアントがアプリケーション設定ファイル(またはクライアントが Web サイトである場合は web.config)に設定されている必要があります。ここでは、指定のパイプ終点で設定がどのようになるかの例を示します。
<configuration>
  <system.serviceModel>
    <bindings>
      <netNamedPipeBinding>
        <binding name="NetNamedPipeBinding_IIntentServices" closeTimeout="00:01:00"
          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:05:00"
          transactionFlow="false" transferMode="Buffered"
          hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="67108864"
          maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="67108864">
          <readerQuotas maxDepth="32"
                        maxStringContentLength="33554432"
                        maxArrayLength="67108864"
                        maxBytesPerRead="4096"
                        maxNameTableCharCount="16384" />
          <security mode="Transport">
            <transport protectionLevel="EncryptAndSign" />
          </security>
        </binding>
      </netNamedPipeBinding>
    </bindings>
    <client>
      <endpoint address="net.pipe://localhost/Autodesk/Intent/Services"
                binding="netNamedPipeBinding"
                bindingConfiguration="NetNamedPipeBinding_IIntentServices"
                contract="Autodesk.Intent.Services.IIntentServices"
                name="NetNamedPipeBinding_IIntentServices">
      </endpoint>
    </client>
  </system.serviceModel>
</configuration>

追加のコンストラクタは、WCF 端点をホストする IIntentServices を指す URI を取ります。クライアント アプリケーションがリモート API にアクセスするために、Intent セッション マネージャ サービスの URI でインスタンス化する必要があります(下記参照)。

IIntentServices:

このインタフェースは、web サービスでどの操作を使用可能にするかを定義します。API は、いくつかの例外を除いて、標準の Intent API と同様です。

リモート API の概要

注: WCF API は、オブジェクト指向の API ではありません。たとえば、独自の操作が含まれているオブジェクトまたはオブジェクトのコレクションを返すことはできません。代わりに、すべての操作が 1 つのインタフェース(IIntentServices)上に存在します。代わりに、含まれているオブジェクトに対して機能する OO API では、オブジェクトの ID を指定するために、パラメータを使用して実装されています。たとえば、パーツに対して機能する操作は、partRefChain 引数を取ります。以下は高度な概要です。全体の API は、インストール フォルダ内の ¥Help フォルダの IntentAPI.chm ファイルで使用できます。
管理
  • SetApplication: 前もって Inventor ETO サーバで設定された指定の Intent アプリケーションをロードすることで、Intent セッションを初期化します。
  • GetApplication: SetApplication で指定されたアプリケーションの名前を返します。
  • IntentVersion: Intent のバージョン数を表す string を戻します。
モデルのロードまたは保存
  • ImportModel - 荷重がモデルコードを含む string からモデルを選択します。 (これは、モデルが空でない場合は失敗します。)
  • ExportModel: string には、現在のモデルをエクスポートします。
  • Reset: モデルをリセットします。これは、モデルが空でない場合は ImportModel よりも前に呼び出す必要があります。
パーツ固有の操作
ルール

API には、サポートのタイプごとに、GetSet があります。それぞれ弱く型付けされているバージョンがあり(つまり GetValue SetValue です)、.NET オブジェクトとして値を入れます。

内部 Intent タイプごとに、強く型付けされているバージョンもあります。

  • ブール値
  • 整数
  • [数]
  • 文字列
  • Vector
  • Name
  • 一覧(オブジェクト[]として)

弱く型付けされているバージョンは、任意のバイナリ ストリーム(たとえば、byte[]、Stream、MemoryStream)をサポートするために、すべての内部 Intent タイプとオブジェクトをサポートしています。

また、式によってルールの設定を有効にする操作があります。

  • SetRuleFormula: ルールを設定するために使用される式を表す文字列を取ります。
その他
  • AddDynamicChildRule: part には、新しいダイナミック child rule を追加します。
  • DeleteDynamicRules: 指定された part すべてのダイナミック rules を削除します。
  • Unbind: ルールをバインド解除します。
  • IsBound: ルールがバインドされているかどうかを判定します。
  • Render: モデルをレンダリングします。

IntentServicesWrapper

この抽象基本クラスは、IIntentServices を実装する別のクラスのラッパーとして機能します。web アプリケーションを通して公開できる SOAP ベースの Web サービスの実装を簡単に作成するために使用することができます。IntentServicesClient オブジェクトをラップするのに使用します。