Data Standard 自訂物件管理

規劃建立對話方塊與頁籤,以顯示自訂物件資料。

需求

使用事先規劃的自訂物件「工作」

依預設,Data Standard 隨附了全部三個元件。這些元件已預先規劃為與 Vault 中名為「工作」的自訂物件配合使用。

註: 僅當自訂物件存在時,自訂物件的關聯式功能表支援才可用。
  1. 透過 Vault 規劃,建立自訂物件定義並將其命名為「工作」。
    註: 請參閱〈自訂物件管理〉,以取得更多資訊。
  2. 將「標題」和「描述」性質指定給「基準」品類。
  3. 重新啟動 Vault Explorer 並登入 Vault 兩次:
    • 首次登入時,請確定 Vault 用戶端中提供「工作」物件類型。
    • 登出後再次登入,以初始化「資料表」頁籤和功能表項目,來建立和編輯「工作」。
    • 新自訂物件「工作」已完全初始化,隨時可供使用。

  4. 使用「新建」指令建立新的自訂物件,並將其命名為任意名稱。
  5. 在新自訂物件上按一下右鍵。關聯式功能表現在會展示「新工作」和「編輯工作」做為功能表選項。
註: 在定義新自訂物件後首次登入時,會建立 CustomEntityDefinitions.json (%programdata%\Autodesk\<Vault 版本>\Extensions\DataStandard\Vault) 檔案。檔案中的定義用於初始化自訂物件的頁籤和功能表項目。不應手動修改該檔案。若要避免使用者需要多次登入,可以部署該檔案。如果您無法初始化自訂物件,可以刪除該檔案。在您下次登入 Vault 時會建立該檔案。

規劃其他自訂物件

若要定義您自己的自訂物件,請從「工作」範例中複製三個元件,並依需要進行修改。

以下是稱為「個人」的自訂物件範例。

功能表項目

    用於建立和編輯對話方塊的關聯式功能表項目在此處進行定義:

    %programdata%\Autodesk\<Vault 版本>\Extensions\DataStandard\Vault\MenuDefinitions.xml

    必須建立功能表項目定義:

  1. 從「工作」範例中複製定義 (MenuItem NewTask、MenuItem EditTask)。
  2. 將所有變數中的「工作」取代為「個人」。
  3. 修改描述、提示、標示和導覽類型。
    註: 對於這些變數,可以使用原始範例中的 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. 從「工作」範例中複製站台 (CommandSite Task)。
    2. 將所有變數中的「工作」取代為「個人」。
    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.ps1EditCustomObject.ps1 功能表定義檔案,並將其更名為 CreatePerson.ps1EditPerson.ps1
  2. 與其他腳本類似,建立和編輯自訂物件腳本會指向相關的 XAML 檔案。

    將「工作」取代為「個人」,來修改用於定義「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 可正常運作,而不發生任何變更。但是,您必須使用 CustomObject.xaml 檔案做為樣板,為新自訂物件建立 XAML 檔案。

  1. 複製 CustomObject.xaml 檔案,並將其命名為 Person.xaml
  2. 使用以下步驟修改新的 XAML 檔案:
    • TaskWindow 的所有複本取代為 PersonWindow
    • 更正對話方塊標題,方法是將「新個人」「編輯個人資料表」加入至 UiStrings.xml,並將 ID 取代為新文字字串 UIString[LBL61]UIString[LBL62] 的 ID。
    • 依需要加入或移除性質控制。
  3. 規劃以下各項,在 %programdata%\Autodesk\<Vault 版本>\Extensions\DataStandard\Vault\addinVault\Default.ps1 中變更以下函數:
    • InitializeWindow,以控制對話方塊的大小。
    • GetCategories,以根據品類支援動態性質。
    • Validate,以實施驗證規則。

為新自訂物件取得「資料表」頁籤

  1. 複製「工作」資料夾並將其命名為「個人」。
  2. 如果需要,更新「個人」資料夾中的 Datasheet.xaml (例如,加入或移除性質)。