Programmation SolidWorks, Vba, .NET, API

Bonjour à la communauté,

Comme indiqué dans ma question j'aimerai bien me pencher sur le programmation SolidWorks afin d'automatiser un de mes projet CAO.
Mais le problème est que je me perds dans l'océan d'informations d'internet.
C'est pourquoi je me tourne vers vous afin d'être éclairé :

- J'ai déjà fait de la programmation sous Catia avec le langage Vba, est-ce le même principe et le même langage sous SW ?
- Je trouve très peu de tuto et d'explications sur les macros SW mais j'ai lu beaucoup de commentaires disant qu'il fallait commencer par programmer sous excel puis appliquer ses compétences dans un autre logiciel, qu'en pensez vous ? Car effectivement il y a plus d'aide sur Excel.
- J'ai également essayé de trouver des livres ou des cours sur internet mais sans grands résultats.
- J'ai aussi lu souvent l'API de SolidWorks : Application Programming Interface, qu'est ce que c'est ? Juste l'environnement où on tape le code ?
- J'ai aussi entendu parlé du langage .NET qu'est ce que c'est ? Est-ce intéeressant de le savoir ?

Désolé pour cette multitude de questions mais je pense que les macros font maintenant partie intégrante de la CAO et j'aimerais me familiariser avec.

Belle journée.

1 « J'aime »

Bonjour,

Je vais essayer de répondre clairement à vos questions :

Vba, c'est Visual Basic for Application. C'est un language assez simple et sommaire dont la base est identique entre chaque application. Cependant, on charge une bibliothèque (dll) spécifique à l'application. Donc oui, c'est le même language que Catia mais ce ne sont pas les mêmes objets.

Commencer sous excel pour comprendre la base du language peut être utile mais vous n'apprendrez rien sur les objets Solidworks (API). Si vous avez les bases (connaissance de la POO, des types de variables, ...) je ne vous conselle pas de passer par excel pour apprendre les api SW.

Mis à part l'aide des API SW et google, il y a très peu d'informations. SW étant un logiciel spécifique (bien qu'utilisé par un grand nombre de personne) reste moins utilisé qu'excel par exemple. Pour trouver un maximum d'informations sur une fonction SW, tapez ce que vous voulez faire en anglais sur google en rajoutant Solidworks API à la fin.

Le language .Net est un language riche permettant de créer des applications complètes. Il peut servir à faire des macros mais d'une manière externe à SW. Là encore, si vous ne connaissez pas les objets SW, je vous déconseille de l'utiliser.

L'avantage, dans l'éditeur de macro de SW, c'est que si vous faites F1 sur un objet, vous ouvrez l'aide sur cet objet. Celà permet d'apprendre assez vite.

En espérant vous avoir aidé ou tout du moins avoir répondu à vos intérogations.

Cordialement.

4 « J'aime »

Salut à toi,

Le VBA est un langage de programmation pour les applications : http://didier-gonard.developpez.com/tutoriels/office/vba-qu-est-que-c-est/

En ce qui concerne la partie SW : http://help.solidworks.com/2016/english/api/sldworksapiprogguide/Welcome.htm

Ensuite le .net permet de réaliser des application indépendantes des applications natives. Il est bien plus puissant que le VBA. En outre sur SW, il permet d'utiliser l'API Document Manager.

Cette API est particulièrement intéressante car elle permet d'accéder aux informations des fichiers SW sans les ouvrir. Tu peux par exemple lire et modifier les propriétés d'un assemblage de plusieurs centaine de mo en quelques secondes. C'est cette méthode qu'utilise les aplli MyCadToolscomme SmartBom...

 

Bonne journnée également. :-)

4 « J'aime »

Merci beaucoup à vous deux, vos réponses sont très claires !

Dommage que l'on ne puisse pas choisir deux "Meilleures réponses"...

@industrialcadservices merci pour votre réponse, je vais regarder rapidement sur internet pour être sûr que je maitrise le Vb puis ensuite apprendre utiliser les objets SW. Merci pour le gain de temps ! Merci pour la méthode de recherche sur internet !

@remrem merci pour les liens, le premier va justement me permettre de revoir les bases.

1 « J'aime »

Bonjour,

Je suis d'accord avec les autres réponses avec en supplément la question "Qu'est-ce que je veux faire et jusqu'où ?". Si c'est pour faire des macros SW alors VBA est probablement suffisant, mais si l'objectif est d'aller plus loin dans le domaine de la programmation et d'écrire des programmes indépendants permettant de piloter SW ou Epdm par exemple alors il peut être interressant de passer à un langage un peu plus complet tel que le VB.net ou le C# (http://www.lesjeudis.com/article/cb-657-c)

Pour ma part j'ai choisi le C#, langage que je trouve moins "verbeux" que le VB.net et que j'ai appris en autodidacte à l'aide du site https://openclassrooms.com/ que je trouve très bien fait et sur lequel on trouve d'excellent cours ou tutoriels. Je me sers de l'EDI http://www.icsharpcode.net/OpenSource/SD/Default.aspx pour écrire mes programmes.

Cordialement,

1 « J'aime »