Selectionner par macro une face nommée d'une piece dans un assemblage

Pour pouvoir ajouter une contrainte, dans une macro jai besoin de selectionner une face nommée d'une piece dans un assemblage, j'ai quelquchose comme ci dessous, mais cela ne marche pas

'   boolstat = swModelDocExt.SelectByID2("Fond@col_60-1@ass", "PLANE", 0, 0, 0, True, 1, Nothing, swSelectOptionDefault)

Quelqu'un peut'il m'aider ?

merci d'avance

AF

 

Salut, tu connais le nom de la pièce ?

oui

c'est : col_60-1

ass est le nom de l'assemblage

le nom de la face est : Fond

Je viens de voir que ta ligne commence par une apostrophe : il faut l'enlever car c'est le signe pour les commentaires et cela ignore ce qu'il y a écrit après !

'   boolstat = swModelDocExt.SelectByID2("Fond@col_60-1@ass", "PLANE", 0, 0, 0, True, 1, Nothing, swSelectOptionDefault)

=>

 boolstat = swModelDocExt.SelectByID2("Fond@col_60-1@ass", "PLANE", 0, 0, 0, True, 1, Nothing, swSelectOptionDefault)

Exact

mais c'etait un essai qui  ne marche pas aussi je l'avais mis en commentaire

cdlt

 

Est-ce que le type est bon ?

Tu indiques un plan "PLANE" alors que tu parles d'une face "FACE"

http://help.solidworks.com/2015/English/api/swconst/SOLIDWORKS.Interop.swconst~SOLIDWORKS.Interop.swconst.swSelectType_e.html

Des infos intéressantes ici aussi :

http://help.solidworks.com/2015/English/api/sldworksapi/Get_Component_Face_By_Name_Example_VB.htm

 

En fait ici ils disent que cette instruction ne marche pas et qu'il faut utiliser GetEntityByName puis Select4 

https://forum.solidworks.com/thread/62936

Un exmple de cette instruction GetEntityByName :

http://help.solidworks.com/2014/English/api/sldworksapi/Get_Component_Name_From_Selected_Entity_Example_VB.htm

Ok je vais regarder tout cela

mais mon but est de ne pas avoir d'intervention humaine

cdlt

1 « J'aime »

Avec GetEntityByName  il n'est pas question d'intervention humaine ! Et je pense que ça fonctionnera mieux que "SelectByID2".

Effectivement la solution se trouve dans cet exemple :

http://help.solidworks.com/2015/English/api/sldworksapi /Get_Component_Face_By_Name_Example_VB.htm

j'ai joint une partie de mon programme

cdlt


select_component_face_by_name_example_vba.txt

Et le programme fonctionne maintenant ?

Si non, quelle ligne est en erreur et quelle est l'erreur ?

oui je n'ai pas été clair

le bout de programme fonctionne

merci

AF