Etat S ou NS d'une fonction via une macro - VBA

Bonjour à tous,

Je recherche actuellement comment via une macro SolidWorks (VBA) mettre une fonction de l'arbre de création à l'état supprimé ou non (j'ai au préalable rentré tous les noms de côte dans mon fichier excel).

Si quelqu'un a la solution cela me serais fort utile...

Cordialement,

Pierre

Bonjour,

Il suffit de faire clic droit sur la fonction puis propriétés de la fonction et vous choisissez supprimer et choisissez soit dans cette configuration ou toutes les configurations ou encore spécifier la/les configurations.... Le résultat et le même, autant de clics et moins embêtant à faire...

Bonjour ac cobra 427,

Vous remarquerez que j'ai précisé "via une macro" du coup votre réponse ne m'est pas vraiment utile, mais merci tout de même.

Tampis, c'était une solution alternative à votre problème en attendant. Car pour faire ça en VBA ça va être chaud...

 

Bonjour,

L'enregistreur de macro ne donne rien ?

Bonjour!

Avez-vous pensé à jeter un coup d'oeil à DriveWorksXpress?

DriveWorksXpress est un outil gratuit qui vous permet d'automatiser vos conceptions. L'une des fonctionnalités est de pouvoir modifier l'etat (supprimé ou non) d'une ou plusieurs fonctions SolidWorks.

Mais sinon si vous êtes à l'aise avec la programmation et que vous souhaitez dédier du temps à cette tâche.

Votre macro doit :

  • récupérer la valeur d'une ligne excel.(Boucle)
  • récupérer les noms de toutes les fonctions SolidWorks de votre modèle (boucle)
  • si elle existe, la sélectionner.
  • récupérer l'état à piloter depuis la meme ligne Excel
  • modifier l'état de la fonction

etc etc

Vous souhaitez certainement jeter un coup d'oeil à l'API SOLIDWORKS:

Par exemple

  • Part.Extension.SelectByID2 (une des nombreuses méthodes de sélection)
  • Part.EditSuppress2 (une manière de modifier l'état de la fonction sélectionnée).

Ci-dessous le lien des interfaces SolidWorks pour documentation:

http://help.solidworks.com/2016/English/api/SWHelp_List.html?id=e016d4d94ffb4feb9865a83290877513#Pg0&ProductType=&ProductName=

Bon courage!

2 « J'aime »

D'ailleurs, je viens de vérifier rapidement, l'idée d'optiSW est complétement valide, tout ce que je viens de raconter est contenue dans une macro rapidement enregistrée.

En fait je pense qu'il aimerait avoir un petit menu "déroulement" avec la supprimé et non-supprimé dans l'arbre de création. Mais pour ça il faudrait plutôt voir pour développé un addon ou s'il existe ....

Bonjour thomas.guillard,

J'ai finalement trouvé la solution et c'est la même que celle que vous m'avez proposé.

J'ai créée une petite macro qui va chercher le nom de la côte dans mon excel puis le sélectionne sur la pièce 3D pour modifier son état.

                    nom = Cells(2, i).Value
                    Searchstring = nom
                    SearchChar = "@"
                    Mypos = InStr(1, Searchstring, SearchChar, 1)
                    nom_cote = Right(Searchstring, Len(nom) - Mypos) 'compte le nombre de caractéres et y soustrait le Mypos
                        Set Part = swApp.ActiveDoc
                    boolstatus = Part.Extension.SelectByID2(nom_cote, "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
                            Part.EditSuppress2

 

Merci à tous pour votre aide,

Si thomas.guillard t'as donné la réponse ou t'as fortement aiguillé c'est lui qui aurait dû être validé comme meilleure réponse...

Je l'ai identifié comme étant la meilleure réponse ne t'en fais pas.

Même si finalement j'avais trouvé la solution par moi même et après l'avoir trouvé j'ai vu sa réponse qui correspondait au début de ma solution.

En tout cas merci à tous,

1 « J'aime »