J'ai travaillé dernièrement sur un module de classe VBA que je lance au démarrage de Solidworks avec la commande "C:\Program Files\SolidWorks Corp\SolidWorks\SLDWORKS.exe" /m "ici le chemin de la macro.swp".
Je souhaiterai désormais passer à un module de classe codé en .NET mais n'arrive pas à démarrer SOLIDWORKS avec cette classe. Auriez-vous un exemple à me donner ?
J'utilise le code suivant :
"C:\Program Files\SolidWorks Corp\SolidWorks\SLDWORKS.exe" /m "C:\Users\ClassLibrary1.dll" pour lancer la DLL
Merci de votre réponse. En fait j'avais déjà saisi ce bout de code pour accéder depuis le module de classe aux fonctions de SOLID (ouvrir doc , enregistrer ...) mais je n'arrive pas à lancer SOLIDWORKS avec le module de classe.
Je vais regarder davantage sur le site de SOLID dés que je serai au bureau.
Essayez ce code : en l'adaptant avec SLDWORKS.exe et en argument le chemin de votre pièce
'Instance de la classe Process Dim proc As New System.Diagnostics.Process() ' Nom de l'executable à lancer proc.StartInfo.FileName = "iexplore.exe" ' Arguments à passer à l'exécutable à lancer proc.StartInfo.Arguments="http://www.developpez.com" ' Démarrage du processus proc.Start() ' On libère les ressources dont on a plus besoin. proc.Close() 'Attention Close ne met pas fin au processus.
Je pense qu'il serait utilse de tester si le processus est déjà lancer. Pour cela voir cette piste : http://dotnet.developpez.com/faq/vbnet?page=Systeme#Comment-lister-les-processus-en-cours-d-execution
Est ce que vous pouvez nous en dire un peu plus sur votre projet VB.net ?
Merci pour ces réponses. La vidéo YOUTUBE semble correspondre à ce que je recherche.
J'ai simplement un problème en important la dll. "Solidworks.Interop.sldworks.dll"
Elle apparait dans VB net dans l'exporateur de solution avec un logo attention. Si je compare les versions dans vb et dans windows elles ne sont pas les mêmes.
En fait je souhaite lancer quelques requetes SQL sur notre ERP aprés avoir par exemple enregistré une pièce dans SOLID.
Imports System.Diagnostics Module Module_principal Function Verification_processus_SW() As Boolean Dim Processus_SW As System.Diagnostics.Process() = Process.GetProcessesByName("SLDWORKS") If Processus_SW.Count = Nothing Then Return False Else Return True End If End Function
Sub Lancement_SW() Dim proc As New Process() proc.StartInfo.FileName = "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\SLDWORKS.exe" ' Arguments à passer à l'exécutable à lancer proc.StartInfo.Arguments = "Chemin_de_ton_fichier.sldprt" ' Démarrage du processus proc.Start() ' On libère les ressources dont on a plus besoin. 'proc.Close() 'Attention Close ne met pas fin au processus. End Sub End Module
Un bouton ou autre pour activer avec le code :
Select Case Verification_processus_SW() Case False Lancement_SW() Case True 'Code a ajouter dans le cas ou SW est déjà lancer End Select End Sub
Et en essayant un nouveau projet pour inclure la dll ça fonctionne ? Le tutoriel YouTube est plutôt simple, il n'y a qu'un seul fichier avec ce nom sut le disque dur ?