Starten von SOLIDWORKS mit Class Module VB.NET

Hallo

 

Ich habe kürzlich an einem VBA-Klassenmodul gearbeitet, das ich beim Starten von Solidworks mit dem Befehl "C:\Programme\SolidWorks Corp\SolidWorks\SLDWORKS.exe" /m "hier den Pfad der macro.swp" starte.

Ich möchte jetzt zu einem .NET-codierten Klassenmodul wechseln, kann SOLIDWORKS aber nicht mit dieser Klasse starten. Hast du ein Beispiel, das du mir geben kannst?

Ich verwende den folgenden Code:

"C:\Programme\SolidWorks Corp\SolidWorks\SLDWORKS.exe" /m "C:\Benutzer\ClassLibrary1.dll" zum Starten der DLL

Im Voraus vielen Dank

 

Sylvain

 

 

Hallo, der Hilfebereich beschreibt, wie man es startet, siehe diesen Link

http://help.solidworks.com/2013/English/api/sldworksapiprogguide/GettingStarted/Visual_Basic_.NET_Standalone_and_Add-in_Applications.htm

Hallo

 

Vielen Dank für Ihre Antwort. Tatsächlich hatte ich diesen Code bereits eingegeben, um über das Klassenmodul auf die Funktionen von SOLID zuzugreifen (Dokument öffnen, Speichern ...), aber ich kann SOLIDWORKS nicht mit dem Klassenmodul starten.

Ich werde mich auf der SOLID-Website näher umsehen, sobald ich im Büro bin.

Vielen Dank

 

Hallo, in der Tat beantwortet der vorherige Link die Frage nicht wirklich, dieses Tutorial kann helfen:

https://www.youtube.com/watch?v=aoXJGKAwhbc

Siehe auch:

http://stackoverflow.com/questions/20905416/when-i-publish-a-vb-net-application-will-references-be-included

 

Hallo

Probieren Sie diesen Code aus: Passen Sie ihn mit SLDWORKS.exe an und argumentieren Sie den Pfad Ihres Teils

Instanz der Process-Klasse
Dimmen Sie proc als neues System.Diagnostics.Process()
' Name der ausführbaren Datei, die gestartet werden soll
Proc. StartInfo.FileName = "iexplore.exe"
' Argumente, die an die auszuführende Datei übergeben werden sollen, um sie zu starten
Proc. StartInfo.Arguments="http://www.developpez.com"
' Starten des Prozesses
Proc. Start()
"Wir setzen die Ressourcen frei, die wir brauchen.
Proc. Close() 'Achtung Schließen beendet den Prozess nicht.

 

Quelle: http://dotnet.developpez.com/faq/vbnet?page=Systeme#Comment-lancer-un-processus

 

Ich denke, es wäre nützlich zu testen, ob der Prozess bereits gestartet wurde. Um dies zu tun, sehen Sie sich diesen Track an: http://dotnet.developpez.com/faq/vbnet?page=Systeme#Comment-lister-les-processus-en-cours-d-execution

 

Können Sie uns ein wenig mehr über Ihr VB.net Projekt erzählen?

Schönen Tag

1 „Gefällt mir“

Hallo

 

Vielen Dank für diese Antworten. Das YOUTUBE-Video scheint genau das zu sein, was ich suche.

Ich habe einfach ein Problem beim Importieren der DLL. "Solidworks.Interop.sldworks.dll"

Es erscheint in VB net im Lösungsexportprogramm mit einem Beware-Logo. Wenn ich die Versionen in vb und in windows vergleiche, sind sie nicht gleich.

 

Tatsächlich möchte ich einige SQL-Abfragen auf unserem ERP ausführen, nachdem ich zum Beispiel ein Teil in SOLID gespeichert habe.

 

Vielen Dank

 

Sylvain


problem_dll_solid_vb_net.png

Was ist Ihre Version von SW und Visual Studio?

Ich habe es gerade ausprobiert und es funktioniert, aber die Version der DLL ist 23, weil ich in SW 2015 bin.

Wenn Sie die Referenz löschen, um sie wieder hinzuzufügen?

Ich arbeite mit Solidworks 2014 und VB Studio 2008 Framework 3.5.

 

Vielen Dank

Das funktioniert so:

Ein Modul mit dem Code:

Importiert System.Diagnostics
Modul Module_principal
    Funktion Verification_processus_SW() als boolescher Wert
        Dimmen Processus_SW als System.Diagnostics.Process() = Process.GetProcessesByName("SLDWORKS")
        Wenn Processus_SW. count = dann nichts
            Gibt False zurück
        Oder
            True zurückgeben
        Ende, wenn
    Ende-Funktion

    Unternummer Lancement_SW()
        Dim-Prozess als neuer Prozess()
        Proc. StartInfo.FileName = "C:\Programme\SOLIDWORKS Corp\SOLIDWORKS\SLDWORKS.exe"
        ' Argumente, die an die auszuführende Datei übergeben werden sollen, um sie zu starten
        Proc. StartInfo.Arguments = "Chemin_de_ton_fichier.sldprt"
        ' Starten des Prozesses
        Proc. Start()
        "Wir setzen die Ressourcen frei, die wir brauchen.
        »proc. Close() 'Achtung Schließen beendet den Prozess nicht.
    Ende Sub
Endmodul

 

Eine Schaltfläche oder eine andere, die mit dem Code aktiviert werden kann:

        Fall auswählen Verification_processus_SW()
            Groß-/Kleinschreibung Falsch
                Lancement_SW()
            Fall Wahr
                'Code, der hinzugefügt werden soll, falls SW bereits ausgeführt wird
        Ende Auswahl
    Ende Sub

 

Und wenn Sie ein neues Projekt ausprobieren, um die DLL einzuschließen, funktioniert es? Das YouTube-Tutorial ist recht einfach, es gibt nur eine Datei mit diesem Namen auf der Festplatte?

Hallo

 

Ein neues Projekt löst das Problem nicht. Ich glaube, es gibt nur eine Datei auf der Festplatte.

Ich werde mich mit Axemble in Verbindung setzen, um mich darüber zu informieren.

Danke noch einmal

 

Sylvain