範例 - 在 Data Standard 對話方塊中使用編號規則

利用 Vault 編號規則,在使用者建立新的 Data Standard 檔案時強制檔案名稱。

篩選編號規則

在已安裝的範例中,「編號規則」組合方塊會展示所有已啟用的編號規則。在 XAML 檔案中,該組合方塊已連結至名為 GetNumSchms 的 PowerShell 函數。

GetNumSchms 函數可讓您輕鬆地控制應向使用者顯示哪些規則。

根據檔案類型在 Inventor 中篩選編號規則

自訂檔名

Data Standard for Vault

Data Standard for CAD

性質 DocNumber 包含產生的號碼,因為該性質是在 Inventor.xaml 檔案的 DSNumSchemeCtrl 控制中的屬性 GeneratedNumberProperty="DocNumber" 中定義的。

使用 Vault 編號而不在對話方塊中顯示編號規則控制

從預設 File.xaml 檔案中移除 DSNumSchemeCtrlNumSchms 組合方塊後,使用者將無法再選取編號規則。

Data Standard for Vault

    以下 GetNewFileName 範例實施使用上面的編號規則「TestScheme」以及在「Title」中輸入的值做為編號規則的參數。

    C:\ProgramData\Autodesk\Vault 2016\Extensions\DataStandard\Vault\addinVault\Default.ps1

    ...
    function GetNewFileName
    {
        $numSchemes = $vault.DocumentService.GetNumberingSchemesByType([Autodesk.Connectivity.WebServices.NumSchmType]::Activated)
        $testNumScheme = $numSchemes | Where-Object { $_.Name.Equals("TestScheme") }
        $NumGenArgs = @()
        $NumGenArgs += $Prop["Title"].Value
        $genNum = $vault.DocumentService.GenerateFileNumber($testNumScheme.SchmID, $NumGenArgs)
        return $genNum + $Prop["_FileExt"].Value
    }
    ...

Data Standard for CAD

    對於 Inventor 和 AutoCAD,實施類似於上面的範例。但是,必須在性質「DocNumber」中填入產生的號碼,而不是傳回檔名。然後,系統會使用此性質設定目前檔案的名稱:

    C:\ProgramData\Autodesk\Vault 2016\Extensions\DataStandard\CAD\addinVault\Default.ps1

    ...
    function OnPostCloseDialog
    {
        if ($Prop["_CreateMode"].Value)
        {
            $numSchemes = $vault.DocumentService.GetNumberingSchemesByType([Autodesk.Connectivity.WebServices.NumSchmType]::Activated)
            $testNumScheme = $numSchemes | Where-Object { $_.Name.Equals("TestScheme") }
            $NumGenArgs = @()
            $NumGenArgs += $Prop["Title"].Value
            $genNum = $vault.DocumentService.GenerateFileNumber($testNumScheme.SchmID, $NumGenArgs)
            $Prop["DocNumber"].Value = $genNum
        }
    }
    ...