Vzorové – Použití způsobů číslování v dialogu nástroje Data Standard

Použití způsobů číslování aplikace Vault můžete vynutit názvy souborů, když uživatel vytvoří nový soubor nástroje Data Standard.

Filtrování způsobů číslování

V nainstalovaném příkladu rozevírací seznam Způsob číslování zobrazuje všechny aktivované způsoby číslování. V souboru XAML je rozevírací seznam vázán na funkci prostředí PowerShell s názvem GetNumSchms.

Funkce GetNumSchms umožňuje snadno určit, která schémata by se měla uživateli zobrazit.

Filtrování způsobů číslování podle typu souboru v aplikaci Inventor

Bez nástroje Data Standard může uživatel vždy vybírat ze všech aktivovaný způsobů číslování aplikace Vault. Následující implementace funkce GetNumSchms zpřístupňuje jiná schémata pro komponenty (IPT, IAM) a výkresy (IDW, IPN a DWG). Aby příklad fungoval, je nutné v aplikaci Vault definovat způsoby číslování začínající řetězcem COMP a DRAWING:

C:\ProgramData\Autodesk\<Vault verze>\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
}
...

Přizpůsobení názvu souboru

Data Standard for Vault

Představte si, že máte následující způsob číslování s názvem TestScheme.

Nyní chcete k názvu souboru připojit předponu s pevně daným textem určeným typem vybraného dokumentu:

Když v dialogu Vytvořit soubor (Nový standardní soubor) kliknete na tlačítko OK, před přidáním souboru do úložiště se zavolá funkce prostředí PowerShell GetNewFileName. Zde máte možnost upravit název souboru a přidat informace uložené v jiných vlastnostech.

C:\ProgramData\Autodesk\<Vault verze>\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
}

Nástroj Data Standard pro aplikace CAD

Pomocí nástroje Data Standard pro aplikace Inventor a AutoCAD můžete nakonfigurovat kombinaci hodnot vlastností a vygenerovaného čísla souboru.

Představte si například, že chcete automaticky vytvořit jedinečné názvy souborů ve formátu N-<Název>-####.ipt, kde se vždy použije předpona N-, část <Název> zadá uživatel jako hodnotu vlastnosti Title, #### je automaticky vygenerované číslo a .ipt je přípona souboru.

To lze provést úpravou elementu <FileNameDefinition> v souboru Inventor.cfg nebo AutoCAD.cfg.

C:\ProgramData\Autodesk\<Vault verze>\Extensions\DataStandard\CAD\Inventor.cfg

<?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}" />
...

Vlastnost DocNumber obsahuje vygenerované číslo, protože je definována v atributu GeneratedNumberProperty="DocNumber" v ovládacím prvku DSNumSchemeCtrl souboru Inventor.xaml.

Použití číslování aplikace Vault bez zobrazení ovládacího prvku způsobu číslování v dialogu

Pokud z výchozího souboru File.xaml odeberete ovládací prvek DSNumSchemeCtrl a rozevírací seznam NumSchms, uživatel nebude moci vybrat způsob číslování.

Data Standard for Vault

V následující ukázkové implementaci funkce GetNewFileName se jako parametr pro způsob číslování používá způsob číslování TestScheme z výše uvedeného příkladu a hodnota uložená ve vlastnosti Title.

C:\ProgramData\Autodesk\<Vault verze>\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
}
...

Nástroj Data Standard pro aplikace CAD

Implementace pro aplikace Inventor a AutoCAD je podobná jako ve výše uvedeném příkladu. Místo vrácení názvu souboru je však nutné do vlastnosti DocNumber uložit vygenerované číslo. Tato vlastnost se pak použije k nastavení názvu aktuálního souboru:

C:\ProgramData\Autodesk\<Vault verze>\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
    }
}
...