{"id":77129,"date":"2022-06-14T09:05:21","date_gmt":"2022-06-14T07:05:21","guid":{"rendered":"https:\/\/www.visiativ.ch\/blog\/extensions-en-c-pour-solidworks\/"},"modified":"2024-04-08T11:44:23","modified_gmt":"2024-04-08T09:44:23","slug":"extensions-en-c-pour-solidworks","status":"publish","type":"post","link":"https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/","title":{"rendered":"Extensions en C# pour SOLIDWORKS"},"content":{"rendered":"
\n
\n
\n

L’article suivant vous explique comment écrire des méthodes d’extension à l’aide de Visual Studio et de C#.<\/p>\n<\/div>\n

\n

1. Introduction<\/h2>\n
\n
\n
\n

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.<\/p>\n

C’est ce que j’explique dans cet article.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n

\n

2. Etude préalable<\/h2>\n
\n
\n
\n

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().<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n

\n

3. Créer un projet<\/h2>\n
\n
\n
\n

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.<\/p>\n

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.<\/p>\n

\"Technical<\/p>\n

Image 1: créer un nouveau projet dans Visual Studio<\/p>\n<\/div>\n<\/div>\n<\/div>\n

\n
\n
\n

Comme toujours, une fois le projet créé et pour pouvoir travailler correctement avec l’API : il faut ajouter la bonne bibliothèque de SOLIDWORKS .<\/p>\n

Pour cela nous avons besoin de 2 fichiers qui se trouvent dans le répertoire d’installation de SOLIDWORKS<\/p>\n

(le plus souvent à cet endroit :  C:Program FilesSOLIDWORKS CorpSOLIDWORKS) :<\/p>\n

    \n
  • SolidWorks.Interop.sldworks.dll<\/strong><\/li>\n
  • SolidWorks.Interop.swconst.dll<\/strong><\/li>\n<\/ul>\n

    Ceux-ci sont ajoutés dans le projet en tant que référence<\/strong>. Pour ce faire, cliquez avec le bouton droit de votre souris sur  Références, puis sur ajoutez une référence<\/strong>. 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.<\/p>\n

    \"Technical<\/p>\n

    Image 2: Définition des références<\/p>\n

    Maintenant, les utilisations peuvent être ajoutées au code de Form1. Ceux-ci sont insérés avant l’espace de noms :<\/p>\n

      \n
    • using SolidWorks.Interop.sldworks;<\/strong><\/li>\n
    • using SolidWorks.Interop.swconst;<\/strong><\/li>\n<\/ul><\/div>\n<\/div>\n<\/div>\n<\/div>\n
      \n

      4. Créer une méthode d’extension<\/h2>\n
      \n
      \n
      \n

      Pour créer une méthode d’extension, vous avez besoin d’une nouvelle classe.<\/p>\n

      Pour cela vous pouvez créer un nouveau fichier ou vous pouvez l’ajouter directement au fichier Form1.cs.<\/p>\n

      Ceci est illustré sur l’image 3.<\/p>\n

      \"Technical<\/p>\n

      <\/p>\n

      Image 3: Méthode d‘extension<\/p>\n

      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<\/strong> est écrit avant ce paramètre.<\/p>\n

      C’est ce qui est montré sur l’image 4.<\/p>\n

      \"Technical<\/p>\n

      Image 4: utilisation de la méthode<\/p>\n

       <\/p>\n

      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.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n

      \n

      5. Conclusion<\/h2>\n
      \n
      \n
      \n

      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.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/article>\n","protected":false},"excerpt":{"rendered":"

      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 […]<\/p>\n","protected":false},"author":0,"featured_media":77128,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"footnotes":""},"categories":[1526,1378],"tags":[],"yoast_head":"\nExtensions en C# pour SOLIDWORKS - Visiativ CH<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Extensions en C# pour SOLIDWORKS - Visiativ CH\" \/>\n<meta property=\"og:description\" content=\"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 […]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/\" \/>\n<meta property=\"og:site_name\" content=\"Visiativ CH\" \/>\n<meta property=\"article:published_time\" content=\"2022-06-14T07:05:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-08T09:44:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.visiativ.ch\/wp-content\/uploads\/sites\/3\/2024\/04\/Templates-RS-11.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1105\" \/>\n\t<meta property=\"og:image:height\" content=\"736\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 Minuten\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Extensions en C# pour SOLIDWORKS - Visiativ CH","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/","og_locale":"de_DE","og_type":"article","og_title":"Extensions en C# pour SOLIDWORKS - Visiativ CH","og_description":"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 […]","og_url":"https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/","og_site_name":"Visiativ CH","article_published_time":"2022-06-14T07:05:21+00:00","article_modified_time":"2024-04-08T09:44:23+00:00","og_image":[{"width":1105,"height":736,"url":"https:\/\/www.visiativ.ch\/wp-content\/uploads\/sites\/3\/2024\/04\/Templates-RS-11.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"3 Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/#article","isPartOf":{"@id":"https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/"},"author":{"name":"","@id":""},"headline":"Extensions en C# pour SOLIDWORKS","datePublished":"2022-06-14T07:05:21+00:00","dateModified":"2024-04-08T09:44:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/"},"wordCount":616,"publisher":{"@id":"https:\/\/www.visiativ.ch\/#organization"},"image":{"@id":"https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/#primaryimage"},"thumbnailUrl":"https:\/\/www.visiativ.ch\/wp-content\/uploads\/sites\/3\/2024\/04\/Templates-RS-11.jpg","articleSection":["Trucs et astuces","Uncategorized"],"inLanguage":"de-DE"},{"@type":"WebPage","@id":"https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/","url":"https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/","name":"Extensions en C# pour SOLIDWORKS - Visiativ CH","isPartOf":{"@id":"https:\/\/www.visiativ.ch\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/#primaryimage"},"image":{"@id":"https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/#primaryimage"},"thumbnailUrl":"https:\/\/www.visiativ.ch\/wp-content\/uploads\/sites\/3\/2024\/04\/Templates-RS-11.jpg","datePublished":"2022-06-14T07:05:21+00:00","dateModified":"2024-04-08T09:44:23+00:00","breadcrumb":{"@id":"https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/#breadcrumb"},"inLanguage":"de-DE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/"]}]},{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/#primaryimage","url":"https:\/\/www.visiativ.ch\/wp-content\/uploads\/sites\/3\/2024\/04\/Templates-RS-11.jpg","contentUrl":"https:\/\/www.visiativ.ch\/wp-content\/uploads\/sites\/3\/2024\/04\/Templates-RS-11.jpg","width":1105,"height":736},{"@type":"BreadcrumbList","@id":"https:\/\/www.visiativ.ch\/fr\/blog\/extensions-en-c-pour-solidworks\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.visiativ.ch\/de\/"},{"@type":"ListItem","position":2,"name":"Extensions en C# pour SOLIDWORKS"}]},{"@type":"WebSite","@id":"https:\/\/www.visiativ.ch\/#website","url":"https:\/\/www.visiativ.ch\/","name":"Visiativ","description":"Votre partenaire pour la transformation num\u00e9rique","publisher":{"@id":"https:\/\/www.visiativ.ch\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.visiativ.ch\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"de-DE"},{"@type":"Organization","@id":"https:\/\/www.visiativ.ch\/#organization","name":"Visiativ Switzerland AG","alternateName":"Visiativ CH","url":"https:\/\/www.visiativ.ch\/","logo":{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/www.visiativ.ch\/#\/schema\/logo\/image\/","url":"https:\/\/www.visiativ.ch\/wp-content\/uploads\/sites\/3\/2024\/04\/visiativ-logo-schwarz-696x696-1.png","contentUrl":"https:\/\/www.visiativ.ch\/wp-content\/uploads\/sites\/3\/2024\/04\/visiativ-logo-schwarz-696x696-1.png","width":696,"height":696,"caption":"Visiativ Switzerland AG"},"image":{"@id":"https:\/\/www.visiativ.ch\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/visiativ-switzerland-ag","https:\/\/www.youtube.com\/channel\/UC7HTrOp-rcscY-SCzHcWqXw"]}]}},"lang":"fr","translations":{"fr":77129,"de":77127},"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Visiativ CH","distributor_original_site_url":"https:\/\/www.visiativ.ch","push-errors":false,"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www.visiativ.ch\/wp-json\/wp\/v2\/posts\/77129"}],"collection":[{"href":"https:\/\/www.visiativ.ch\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.visiativ.ch\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.visiativ.ch\/wp-json\/wp\/v2\/comments?post=77129"}],"version-history":[{"count":1,"href":"https:\/\/www.visiativ.ch\/wp-json\/wp\/v2\/posts\/77129\/revisions"}],"predecessor-version":[{"id":78607,"href":"https:\/\/www.visiativ.ch\/wp-json\/wp\/v2\/posts\/77129\/revisions\/78607"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.visiativ.ch\/wp-json\/wp\/v2\/media\/77128"}],"wp:attachment":[{"href":"https:\/\/www.visiativ.ch\/wp-json\/wp\/v2\/media?parent=77129"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.visiativ.ch\/wp-json\/wp\/v2\/categories?post=77129"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.visiativ.ch\/wp-json\/wp\/v2\/tags?post=77129"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}