Wykorzystaj Vault schematy numerowania, aby wymusić nazw plików, gdy użytkownik tworzy nowy plik programu Data Standard.
W zainstalowanym przykładzie w polu kombi Schemat numerowania są wyświetlane wszystkie aktywne schematy numerowania. W pliku XAML pole kombi jest powiązane z funkcją programu PowerShell o nazwie GetNumSchms.

Funkcja GetNumSchms ułatwia określenie, które schematy powinny być widoczne dla użytkownika.
Filtrowanie schematów numerowania w programie Inventor w oparciu o typ pliku
Bez rozwiązania Data Standard użytkownik może zawsze wybierać spośród wszystkich aktywnych schematów numerowania programu Vault. W następującej implementacji funkcji GetNumSchms w przypadku komponentów (IPT, IAM) i rysunków (IDW, IPN i DWG) będą dostępne różne schematy. Aby przykładowy kod zadziałał schematy numerowania rozpoczynające się od „COMP” lub „DRAWING” powinny być zdefiniowane w programie Vault:
C:\ProgramData\Autodesk\Vault 2016\Extensions\DataStandard\CAD\addinVault\Default.ps1
...
function GetNumSchms
{
    try
    {
        $numSchems = $vault.DocumentService.GetNumberingSchemesByType('Activated')
    }
    catch [System.Exception]
    {      
        #[System.Windows.MessageBox]::Show($error)
    }
    $fileName = $Prop["DocNumber"].Value
    $fileExt = [System.IO.Path]::GetExtension($fileName)
    $ret = @()
    foreach ($item in $numSchems)
    {
        if (($fileExt -eq ".iam" -or $fileExt -eq ".ipt") -and $item.Name.StartsWith("COMP"))
        {
            $ret += $item.Name
        }
        elseif (($fileExt -eq ".idw" -or $fileExt -eq ".ipn" -or $fileExt -eq ".dwg") -and $item.Name.StartsWith("DRAWING"))
        {
            $ret += $item.Name
        }
    }
    return $ret
}
...
 
		Rozwiązanie Data Standard dla programu Vault
Załóżmy, że jest dostępny następujący schemat numerowania o nazwie TestScheme.

Chcemy poprzedzić nazwę pliku tekstem ustalanym na podstawie wybranego typu dokumentu:
Po kliknięciu przycisku OK w oknie CreateFileDialog („Nowy plik standardowy...”) funkcja GetNewFileName programu PowerShell jest wywoływana przed dodaniem pliku do programu Vault. W tym miejscu można również zmodyfikować nazwę pliku i dołączyć informacje z innych właściwości.
C:\ProgramData\Autodesk\Vault 2016\Extensions\DataStandard\Vault\addinVault\Default.ps1
...
function GetNewFileName
{
    $prefix = ""
    if($dsWindow.FindName("NUMSCHEME").IsEnabled -eq $false)
    {  
        $fileName = $dsWindow.FindName("FILENAME").Text
    }
    else{
        $fileName = $Prop["_GeneratedNumber"].Value
        if (($Prop["_FileExt"].Value -eq ".ipt") -or ($Prop["_FileExt"].Value -eq ".iam"))
        {
            $prefix = "ENG-"
        }
        elseif (($Prop["_FileExt"].Value -eq ".dwg") -or ($Prop["_FileExt"].Value -eq ".idw") -or ($Prop["_FileExt"].Value -eq ".ipn"))
        {
            $prefix = "ENGDOC-"
        }
        else
        {
            $prefix = "OFF-"
        }
    }
    $newfileName = $prefix + $fileName + $Prop["_FileExt"].Value
    return $newfileName
}
 
		Rozwiązanie Data Standard dla programów CAD
Za pomocą rozwiązania Data Standard dla programów Inventor i AutoCAD można skonfigurować kombinację wartości właściwości i wygenerowanej liczby używaną w nazwie pliku.
Załóżmy na przykład, że chcemy automatycznie tworzyć unikatowe nazwy plików w formacie: „N-<Tytuł>-####.ipt”, gdzie N- jest zawsze dodawane, <Tytuł> to właściwość Tytuł wprowadzona przez użytkownika, #### jest wygenerowaną automatycznie liczbą, a .ipt to rozszerzenie pliku.
Można to zrobić przez zmodyfikowanie elementu <FileNameDefinition> w plikach Inventor.cfg lub AutoCAD.cfg.
C:\ProgramData\Autodesk\Vault 2016\Extensions\DataStandard\CAD
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
    <PathDefinition>{Workspace}\{Prop[Folder].Value}</PathDefinition>
    <FileNameDefinition>N-{Prop[Title].Value}-{Prop[DocNumber].Value}</FileNameDefinition>
    <PropertyDefinitions>
        <PropertyDefinition PropertyName="DocNumber" DataType="Text" InitialValue="{PathAndFileNameHandler.FileName}" />
...
 
		
Rozwiązanie Data Standard dla programu Vault
W następującym przykładzie implementacji funkcji GetNewFileName użyto powyższego schematu numerowania „TestScheme” i wartości wprowadzonej w polu „Tytuł” jako parametru schematu numerowania.
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
}
...
 
		Rozwiązanie Data Standard dla programów CAD
W przypadku programów Inventor i AutoCAD implementacja jest podobna do powyższego przykładu. Jednak zamiast zwracania nazwy pliku właściwość „DocNumber” musi zostać wypełniona wygenerowaną liczbą. Ta właściwość jest następnie używana do ustawienia nazwy bieżącego pliku:
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
    }
}
...