Cet article est un peu spécial et fait un détour du côté de la programmation ! Ce guide de migration TopSolid’ADS V7.16 vous propose des astuces pour migrer vos extensions TopSolid V7.15 !
Afin de faire fonctionner notre configurateur 3D, nous tirons pleinement partie de la puissance de TopSolid’ADS (Application Development System), autrement dit, l’API TopSolid qui permet de créer des extensions au sein de TopSolid Design. La sortie récente de TopSolid 2022 (numéro de version: 7.16) apporte son lot de nouveauté, mais aussi, les programmeurs le savent, quelques changements ! Le guide officiel de migration TopSolid ADS se révèle bien utile, mais nous proposons un guide contenant quelques informations supplémentaires qui pourraient vous servir si vous aussi vous opérez une migration de TopSolid’ADS 7.15 vers TopSolid’ADS 7.16 !
Note: tous les exemples ci-dessous sont donnés en C# mais le principe reste le même si vous programmez vos extensions TopSolid en VB.NET.
La méthode GetUserName()
On commence par un changement simple : la méthode TopSolid.Kernel.TX.Pdm.PdmClient.GetUserName()
ne compile plus parce qu’elle prend un nouveau paramètre passé par référence : string outPrincipalName
. Vous pouvez passer une nouvelle variable de type string
comme dans l’exemple ci-dessous:
Mais si vous savez que vous ne vous en servirez pas, les versions récentes de C# permettent d’omettre totalement le paramètre en utilisant le symbole `_`
:
Vous trouverez plus d’informations sur les éléments ignorables dans la documentation de Microsoft.
La méthode MakeQuantityColumnDescriptor()
TopSolid.Cad.Design.DB.Bom.BomColumnDescriptor.MakeQuantityColumnDescriptor()
qui n’est plus disponible dans la version 7.16. Il va falloir maintenant créer ce descripteur manuellement:Element
que vous voulez affecter comme propriétaire des objets ci-dessus, vous pouvez les passer en paramètre en lieu et place des null
ci-dessus.La méthode ImportPackageAsReplication()
TopSolid.Kernel.TX.Pdm.IPdmClient.ImportPackageAsReplication()
n’existe plus qu’en 2 version et perd sa variante (string, bool)
. C’est à vous de spécifier un nouveau paramètre bool inUpdatesEvenIfConflict
en fonction de vos préférences concernant la résolution de conflits.