Extensions en C# pour SOLIDWORKS
L’article suivant vous explique comment écrire des méthodes d’extension à l’aide de Visual Studio et de C#.
1. Introduction
Lorsque vous travaillez en C#, de nombreuses fonctions et méthodes sont utilisées. SOLIDWORKS, par exemple, propose déjà de nombreuses méthodes différentes pour les pièces individuelles, les assemblages et les mises en plan. Cependant, il est toujours possible d’étendre les usages en paramétrant ses propres fonctions.
C’est ce que j’explique dans cet article.
2. Etude préalable
Nous souhaitons écrire une méthode d’extension pour l’objet Solidworks ModelDoc2. Notez bien que le nom doit être affiché dans une MessageBox en appelant la fonction ModelDoc2.PrintName().
3. Créer un projet
On commence par créer un nouveau projet dans Visual Studio. Pour ce faire, nous utilisons une application Windows Forms pour le .NET Framework comme le montre la figure 1. Vous pouvez ensuite définir un nom de projet, un emplacement de stockage et un nom de solution.
Il est nécessaire de sélectionner.NET Framework 4.5 (ou une version supérieure). Pour cet article j’ai utilisé la version .NET Framework 4.8.
Image 1: créer un nouveau projet dans Visual Studio
Comme toujours, une fois le projet créé et pour pouvoir travailler correctement avec l’API : il faut ajouter la bonne bibliothèque de SOLIDWORKS .
Pour cela nous avons besoin de 2 fichiers qui se trouvent dans le répertoire d’installation de SOLIDWORKS
(le plus souvent à cet endroit : C:Program FilesSOLIDWORKS CorpSOLIDWORKS) :
- SolidWorks.Interop.sldworks.dll
- SolidWorks.Interop.swconst.dll
Ceux-ci sont ajoutés dans le projet en tant que référence. Pour ce faire, cliquez avec le bouton droit de votre souris sur Références, puis sur ajoutez une référence. Celles-ci peuvent ensuite être sélectionnées et ajoutées à l’aide du bouton Parcourir. Dès que ceux-ci sont disponibles dans le projet, les propriétés de ces deux fichiers doivent être modifiées. La propriété « Embed Interop Types » doit être défini sur False, comme illustré sur l’image 2.
Image 2: Définition des références
Maintenant, les utilisations peuvent être ajoutées au code de Form1. Ceux-ci sont insérés avant l’espace de noms :
- using SolidWorks.Interop.sldworks;
- using SolidWorks.Interop.swconst;
4. Créer une méthode d’extension
Pour créer une méthode d’extension, vous avez besoin d’une nouvelle classe.
Pour cela vous pouvez créer un nouveau fichier ou vous pouvez l’ajouter directement au fichier Form1.cs.
Ceci est illustré sur l’image 3.
Image 3: Méthode d‘extension
Cette classe a la particularité d’être statique. Les méthodes créées ici doivent également être statiques. Ceci est défini avec le mot « statique ». Comme d’habitude, un objet ModelDoc2 est attendu ici en tant que paramètre. Avec la particularité qu’un this est écrit avant ce paramètre.
C’est ce qui est montré sur l’image 4.
Image 4: utilisation de la méthode
Lorsque cette méthode est utilisée de cette manière, l’objet à partir duquel cette méthode est appelée est automatiquement passé en paramètre.
5. Conclusion
Comme nous avons pu le voir, l’utilisation de méthodes d’extension est facile et permet de mettre de l’ordre dans les projets. En outre, cela permet de rendre l’écrit plus lisible. Vous pouvez également créer une méthode et l’étendre avec des paramètres et, par exemple, créer une méthode ModelDoc2.Spin(int degree). Cela ferait alors pivoter l’objet actuel dans SOLIDWORKS. Cela rendrait la lecture beaucoup plus facile pour un futur programmeur.