Autodesk Community Tips- ADNオープン
Autodesk Community Tipsではちょっとしたコツ、やり方、ショートカット、アドバイスやヒントを共有しています。

InventorのアドインでVault接続状態を確認し、接続していない場合はログインをしてVaultのConnectionを取得したい

質問

InventorのアドインでVault接続状態を確認し、接続していない場合はログインをしてVaultのConnectionを取得したい。

回答

Vault APIのConnectionManager.Instance.Connectionにより接続中のVaultコネクションオブジェクトを取得することができます。
接続されていない場合は、InventorのVaultログインコマンド(内部名:ContentLoginCmdIntName)を実行することで、ログインダイアログを表示することが可能です。

 

以下は、上述のAPIを使用したサンプルコードとなります。

using VDF = Autodesk.DataManagement.Client.Framework;
using VB = Connectivity.Application.VaultBase;


VDF.Vault.Currency.Connections.Connection conn = VB.ConnectionManager.Instance.Connection;
if (null == conn)
{
	try
	{
		ControlDefinition oCtlDef =
			m_inventorApplication.CommandManager.ControlDefinitions["ContentLoginCmdIntName"];
		oCtlDef.Enabled = true;
		oCtlDef.Execute();
		conn = VB.ConnectionManager.Instance.Connection;
	}
	catch (Exception ex)
	{
	}
}
if (null != conn)
{
	MessageBox.Show(String.Format("Vault = {0}, UserID = {1}, User Name = {2}",conn.Vault, conn.UserID, conn.UserName));               
}

 

なお、Visual Stuidoプロジェクトの参照設定で、Vault SDK配下のAutodesk.DataManagement.Client.Framework.dllおよびVaultインストールフォルダ配下のConnectivity.Application.VaultBase.dllファイルの参照の追加が必要となる点にご留意ください。