Пример: Использование схем нумерации в диалоговых окнах Data Standard

Использование схемы нумерации Vault, чтобы использовать имена файлов, когда пользователь создает нового файла Data Standard.

Фильтрация схем нумерации

В этом примере в поле со списком "Схемы нумерации" отображаются все активированные схемы нумерации. В файле XAML поле со списком привязано к функции PowerShell с именем GetNumSchms.

Функция GetNumSchms позволяет с легкостью управлять отображением схем для пользователей.

Фильтрация схем нумерации по типам файлов в Inventor

Настройка имени файла

Data Standard для Vault

Data Standard для САПР

Свойство DocNumber содержит созданный номер, поскольку он определен в атрибуте GeneratedNumberProperty="DocNumber" в элементе управления DSNumSchemeCtrl файла Inventor.xaml.

Использование нумерации Vault без отображения элемента управления схем нумерации в диалоговом окне

Удаление DSNumSchemeCtrl и поля со списком NumSchms из файла по умолчанию File.xaml исключает возможность выбора схем нумерации.

Data Standard для 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 для САПР

    Реализация для 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
        }
    }
    ...