Bonjour à tous,
Je viens vers vous en espérant trouver de l'aide.
Contexte :
J'aimerais piloter des assemblages solidworks depuis excel grâce à des macros. En gros l'excel ouvre des assemblages les uns après les autres, en supprimant où en résolvant des composants dans ceux-ci.
Mon problème réside dans la commande pour supprimer ces composants : J'ai essayé d'ouvrir la famille de pièce (via mes macros) et de modifier celle-ci mais ça ne marche pas et finis par corrompre la famille de pièce. De plus cela crée pas mal d'erreurs quand la famille de pièce est ouverte en même temps qu'un autre fichier excel.
Piste de résolution :
J'ai donc trouvé la fonction EditSuppress2(), mais je n'arrive pas l'adapter à mon code. Si quelqu'un connait bien cette fonction et peut m'orienter, je vous donne mon bout de code.
Code :
Private Sub CommandButton1_Click()
Dim swApp As Object
Dim Model As ModelDoc2
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim ret As Boolean
Set swApp = CreateObject("SldWorks.application")
Set Model = swApp.ActiveDoc
Set swModelDocExt = Model.Extension
boolstatus = swModelDocExt.SelectByID2("Pompe à engrenage<1>", "swSelCOMPONENT", 0, 0, 0, True, 0, Nothing, 0)
boolstatus = Model.EditSuppress2()
ret = swModelDocExt.Rebuild(swRebuildOptions_e.swRebuildAll)
End Sub
J'ai cru voir des miracles s'opérer ici ;) j'espère trouver de l'aide.
Bonne journée