Data Standard ダイアログで採番スキーマを使用してサンプル:

ユーザは、Data Standard の新しいファイルを作成するときのファイル名を強制する Vault の採番スキーマを活用します。

採番スキーマをフィルタリングする

インストールしたサンプルでは、アクティブになっているすべての採番スキーマが[採番スキーマ]コンボ ボックスに表示されます。XAML ファイルでは、このコンボ ボックスは PowerShell 関数 GetNumSchms にバインドされています。

GetNumSchms 関数を使用すると、ユーザに表示するスキーマを容易にコントロールすることができます。

ファイル タイプを基準に採番スキーマをフィルタリングする

ファイル名をカスタマイズする

Vault の Data Standard

CAD の Data Standard

DocNumber プロパティには、生成された番号が格納されます。これは、Inventor.xaml ファイルの DSNumSchemeCtrl コントロールの GeneratedNumberProperty="DocNumber" 属性で定義されているためです。

ダイアログに[採番スキーマ]コントロールを表示せずに Vault の採番を使用する

既定の File.xaml ファイルから DSNumSchemeCtrl および NumSchms コンボ ボックスを削除すると、ユーザは採番スキーマを選択できなくなります。

Vault の Data Standard

    次の 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
    }
    ...

CAD の 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
        }
    }
    ...