Data Standard カスタム オブジェクトの管理

カスタム オブジェクト データを表示するには、作成ダイアログおよびタブを設定します。

システム要件

事前設定されたカスタム オブジェクト "Task" を使用する

既定では、3 つのコンポーネントすべてが Data Standard で用意されています。これらのコンポーネントは、Vault の Task という名前のカスタム オブジェクトと連携して機能するよう事前に設定されています。

注: カスタム オブジェクトの右クリック メニューは、カスタム オブジェクトが存在する場合にのみサポートされます。
  1. Vault 設定で、カスタム オブジェクトの定義を作成し、これを「Task」とします。
    注: 詳細については、「カスタム オブジェクトの管理」を参照してください。
  2. Title プロパティと Description プロパティをベース カテゴリに割り当てます。
  3. Vault Explorer を再起動して、Vault に 2 回、ログインします。
    • 最初のログインでは、Task オブジェクト タイプが Vault Client で使用可能であることを確認します。
    • ログアウトして、2 回目のログインを行い、[データシート]タブとメニュー アイテムを初期化して、Task の作成と編集を行います。
    • 新しいカスタム オブジェクト Task が完全に初期化され、使用可能になります。

  4. [新規作成]コマンドを使用して、新しいカスタム オブジェクトを作成し、任意の名前を付けます。
  5. 新しいカスタム オブジェクトを右クリックします。右クリック メニューのメニュー オプションとして、[新規タスク]と[タスクを編集]が表示されます。
注: 新規のカスタム オブジェクトが定義された後でログインすると、ファイル CustomEntityDefinitions.json (%programdata%\Autodesk\<Vault edition>\Extensions\DataStandard\Vault) が作成されます。ファイル内の定義は、カスタム オブジェクトのタブとメニュー アイテムを初期化するのに使用されます。ファイルを手動で変更しないでください。ユーザが複数回にわたってログインするのを回避するため、ファイルを配置することができます。カスタム オブジェクトを初期化できない場合、ファイルを削除できます。これは、Vault に次回ログインしたときに作成されます。

その他のカスタム オブジェクトの設定

独自のカスタム オブジェクトを定義するには、Task サンプルの 3 つのコンポーネントをコピーし、必要に応じて変更します。

Person というカスタム オブジェクトの例を次に示します。

メニュー エントリ

    ダイアログを作成して編集するには、右クリック メニューのエントリをここで定義します。

    %programdata%\Autodesk\<Vault バージョン>\Extensions\DataStandard\Vault\MenuDefinitions.xml

    メニュー エントリの定義を作成する必要があります。

  1. Task サンプルから定義(MenuItem NewTask、MenuItem EditTask)をコピーします。
  2. すべての変数で Task を Person に置換します。
  3. Description、Hint、Label、NavigationTypes を修正します。
    注: これらの変数では、元のサンプルの UIString 構文を使用することができます。詳細については、「ローカライズ」を参照してください。
  4. 	<NewTask Label="CreatePerson..." 
    			 Description="New Person"
        Hint="Create a new person object" 
        PSFile="CreateCustomObject.ps1"
        Image="NewCustomObject.ico"
        ToolbarPaintStyle="TextAndGlyph"
        NavigationTypes="Person"
        MultiSelectEnabled="false"/>
    
       <EditTaskLabel="Edit Person..." 
        Description="Edit Person"
        Hint="Edit a person object"
        PSFile="EditCustomObject.ps1"
        Image="EditCustomObject.ico"
        ToolbarPaintStyle="TextandGlyph"
        NavigationTypes="Task"
        MultiSelectEnabled="False"/>
      

      次に、新しいカスタム オブジェクトのメニュー サイトを作成します。

    1. Task サンプルからサイト(CommandSite Task)をコピーします。
    2. すべての変数で Task を Person に置換します。
    3. <TaskLabel="Person"
               DeployAsPullDown="False"
               Location="Person">
               <ItemName="NewPerson">
      									</Item>
               <ItemName="EditPerson">
                </Item>

      メニューの構文の詳細については、「Data Standard の MenuDefiniftions.xml ファイルのカスタマイズ」を参照してください。

スクリプト ファイル

    MenuDefinitions.xml ファイル内のメニュー定義で PowerShell ファイルが指定されています。これらのファイルは、%programdata%\Autodesk\<Vault バージョン>\Extensions\DataStandard\Vault\addinVault\Menus にあります。

    既定の CreateCustomObject.ps1 と EditCustomObject.ps1 の PowerShell ファイルは、すべてのカスタム オブジェクトに使用できます。追加の PowerShell ファイルを作成する必要はありません。ただし、以下のタスクを実行することにより、カスタマイズして新しいカスタム オブジェクトの PowerShell ファイルを作成することもできます。

  1. メニュー定義ファイル]CreateCustomObject.ps1 および EditCustomObject.ps1 のメニュー定義ファイルをコピーして CreatePerson.ps1 および EditPerson.ps1 に名前を変更します。
  2. その他のスクリプトと同様に、作成および編集カスタム オブジェクトのスクリプトは、関連する XAML ファイルを参照します。

    Task と Person を置き換える形で、Data Standard ダイアログを定義している XAML ファイル名を修正します。

    ...
    $xamlFile = New-Object CreateObject.WPF.XamlFile "PersonXaml", "%ProgramData%\Autodesk\Vault 2016\Extensions\DataStandard\Vault\Configuration\Person.xaml"
    $dialog.XamlFile = $xamlFile
    ...

ダイアログおよびタブ

    カスタム オブジェクトの作成および編集ダイアログの XAML ファイルは、PowerShell ファイルで指定されます(上記参照)。既定では、作成および編集ダイアログおよびタブの XAML ファイルは、次の場所にあります:

    %programdata%\Autodesk\<Vault version>\extensions\datastandard\vault\configuration

    既定の CustomObject.xaml は変更なしで動作します。ただし、新しいカスタム オブジェクトの XAML ファイルを作成する際のテンプレートとして CustomObject.xaml ファイルを使用します。

  1. CustomObject.xaml ファイルをコピーして Person.xaml という名前にします。
  2. これらの手順では、新しい XAML ファイルを修正します。
    • TaskWindow のすべてのオカレンスを PersonWindow に置き換えます。
    • New Person および Edit Person DatasheetUiStrings.xml に追加し、ID を新しい文字列 UIString[LBL61] および UIString[LBL62] に置き換えることで、ダイアログのタイトルを修正します。
    • 必要に応じてプロパティのコントロールを追加または削除します。
  3. %programdata%\Autodesk\<Vault バージョン>\Extensions\DataStandard\Vault\addinVault\Default.ps1 の次の関数を変更します。以下のように設定します。
    • InitializeWindow: ダイアログのサイズをコントロールします。
    • GetCategories: カテゴリに基づいて、ダイナミック プロパティをサポートします。
    • Validate: 検証ルールを実装します。

新しいカスタム オブジェクトの[データシート]タブ

  1. Task フォルダをコピーして、Person と名付けます。
  2. 必要に応じて、Person フォルダにある Datasheet.xaml を更新します(たとえば、プロパティの追加または削除)。