カスタム オブジェクト データを表示するには、作成ダイアログおよびタブを設定します。
システム要件
カスタム オブジェクトをサポートするには、次の 3 つのコンポーネントが必要です。
既定では、3 つのコンポーネントすべてが Data Standard で用意されています。これらのコンポーネントは、Vault の Task という名前のカスタム オブジェクトと連携して機能するよう事前に設定されています。
Vault 設定で、カスタム オブジェクトの定義を作成し、これを「Task」とします。
Title プロパティと Description プロパティをベース カテゴリに割り当てます。
Vault Explorer を再起動して、Vault に 2 回、ログインします。
新しいカスタム オブジェクト Task が完全に初期化され、使用可能になります。
[新規作成]コマンドを使用して、新しいカスタム オブジェクトを作成し、任意の名前を付けます。
新しいカスタム オブジェクトを右クリックします。右クリック メニューのメニュー オプションとして、[新規タスク]と[タスクを編集]が表示されます。
独自のカスタム オブジェクトを定義するには、Task サンプルの 3 つのコンポーネントをコピーし、必要に応じて変更します。
Person というカスタム オブジェクトの例を次に示します。
ダイアログを作成して編集するには、右クリック メニューのエントリをここで定義します。
%programdata%\Autodesk\<Vault バージョン>\Extensions\DataStandard\Vault\MenuDefinitions.xml
メニュー エントリの定義を作成する必要があります。
Task サンプルから定義(MenuItem NewTask、MenuItem EditTask)をコピーします。
すべての変数で Task を Person に置換します。
Description、Hint、Label、NavigationTypes を修正します。
<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"/>
次に、新しいカスタム オブジェクトのメニュー サイトを作成します。
Task サンプルからサイト(CommandSite Task)をコピーします。
すべての変数で Task を Person に置換します。
<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 ファイルを作成することもできます。
メニュー定義ファイル CreateCustomObject.ps1 および EditCustomObject.ps1 のメニュー定義ファイルをコピーして CreatePerson.ps1 および EditPerson.ps1 に名前を変更します。
その他のスクリプトと同様に、作成および編集カスタム オブジェクトのスクリプトは、関連する 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 バージョン>\Extensions\DataStandard\Vault\Configuration
既定の CustomObject.xaml は変更なしで動作します。ただし、新しいカスタム オブジェクトの XAML ファイルを作成する際のテンプレートとして CustomObject.xaml ファイルを使用します。
CustomObject.xaml ファイルをコピーして Person.xaml という名前にします。
これらの手順では、新しい XAML ファイルを修正します。
TaskWindow
のすべてのオカレンスを PersonWindow
に置き換えます。UIString[LBL61]
および UIString[LBL62]
に置き換えることで、ダイアログのタイトルを修正します。%programdata%\Autodesk\<Vault バージョン>\Extensions\DataStandard\Vault\addinVault\Default.ps1 で次の機能を変更するために、以下を設定します。
InitializeWindow
: ダイアログのサイズをコントロールします。GetCategories
: カテゴリに基づいて、ダイナミック プロパティをサポートします。Validate
: 検証ルールを実装します。