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.

Technical Tip: Extensions in C#

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 Files\SOLIDWORKS Corp\SOLIDWORKS) :

  • 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.

Technical Tip: Extensions in C#

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.

Technical Tip: 3 Möglichkeiten Nutzer in Moovapps zu benachrichtigen

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.

Technical Tip: Extensions in C#

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.