Tirez parti des schémas de numérotation Vault pour exiger des noms de fichiers lorsqu'un utilisateur crée un nouveau fichier Data Standard.
Dans l'exemple indiqué, la zone déroulante Schéma de numéro affiche tous les schémas de numérotation activés. Dans le fichier XAML, la zone déroulante est liée à une fonction PowerShell nommée GetNumSchms.
La fonction GetNumSchms permet de contrôler facilement les schémas devant être affichés pour l'utilisateur.
Filtrage des schémas de numérotation dans Inventor en fonction du type de fichier
Sans Data Standard, l'utilisateur a toujours la possibilité de choisir parmi l'ensemble des schémas de numérotation Vault activés. Si la fonction GetNumSchms est mise en oeuvre selon le scénario ci-après, différents schémas seront disponibles pour les composants (IPT, IAM) et les dessins (IDW, IPN et DWG). Pour que cet exemple fonctionne, les schémas de numérotation commençant par "COMP" ou "DRAWING" doivent être définis dans 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 } ...
Data Standard for Vault
Supposons que vous possédiez le schéma de numérotation suivant, nommé TestScheme.
Vous souhaitez maintenant ajouter au nom du fichier, en tant que préfixe, un texte fixe en fonction du type de document sélectionné :
Lorsque vous cliquez sur OK dans la boîte de dialogue de création de fichier ("Nouveau fichier de normes..."), la fonction PowerShell GetNewFileName est appelée avant d'ajouter le fichier à Vault. Vous avez alors la possibilité de modifier le nom du fichier et d'inclure des informations provenant d'autres propriétés.
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 }
Data Standard pour les applications de CAO
Avec Data Standard pour Inventor et AutoCAD, vous pouvez configurer une combinaison de valeurs de propriétés et un numéro généré pour le nom de fichier.
Par exemple, supposons que vous souhaitiez automatiquement créer des noms de fichiers uniques au format "N-<Title>-####.ipt : N- est toujours appliqué, <Title> correspond à la propriété Title indiquée par l'utilisateur, #### désigne un numéro généré automatiquement et .ipt constitue l'extension de fichier.
Cette opération peut être effectuée en modifiant l'élément <FileNameDefinition> dans le fichier Inventor.cfg ou 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}" /> ...
Data Standard for Vault
Dans l'exemple de mise en oeuvre de la fonction GetNewFileName ci-après, le schéma de numérotation "TestScheme" indiqué ci-dessus est utilisé et la valeur indiquée dans la propriété "Title" est définie en tant que paramètre pour le schéma de numérotation.
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 pour les applications de CAO
Pour Inventor et AutoCAD, la mise en oeuvre s'apparente à celle présentée dans l'exemple ci-dessus. En revanche, au lieu de renvoyer un nom de fichier, un numéro généré doit être indiqué dans la propriété "DocNumber". Cette propriété est alors utilisée pour définir le nom du fichier courant :
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 } } ...