DocumentManager (API) in Windev /ersetzt benutzerdefinierte DSOFiles-Eigenschaften

Hallo

Ich suche nach einem Beispiel für die Verwendung von SolidWorks.Interop.swdocumentmgr.dll in Windev, ohne Solidworks zu öffnen. 

In Solidworks V2011 habe ich die benutzerdefinierten Einstellungen der Solidworks-Dokumente als Schnittstellen zu meinem spezifischen ERP in Windev verwendet. Ich habe DsoFiles verwendet, das Zugriff auf diese Einstellungen hatte. Auf diese Weise konnte ich diese Einstellungen aktualisieren, ohne Solidworks zu öffnen. Ein Beispiel:

Erstellen Sie eine Kopie einer +parts +drw-Baugruppe von einem Kunden zu einem anderen Kunden, indem Sie alle benutzerdefinierten Eigenschaften in die des neuen Kunden ändern. Stücklistenpositionen werden dynamisch erstellt (Windev) und die Informationen von DSOFiles an die Solidworks-Dokumente übergeben. (Das Kopieren wird durch eine Änderung des Namens der Teile und das erneute Kopieren der Abhängigkeiten fortgesetzt, aber es ist ein Teil, das auch 2015 noch funktioniert, weil die Kompatibilität erhalten geblieben ist, zumindest hoffe ich :) ).

Benutzerdefinierte Einstellungen für Solidworks V2015-Dokumente sind mit DSoFiles nicht mehr verfügbar -> dies ist eine Entscheidung von Microsoft (Office), gefolgt von Solidworks.

Nun müssen Sie die APIs der SolidWorks.Interop.swdocumentmgr.dll DLL verwenden, um diese Parameter zu verwalten. Es ist in VB gut dokumentiert, aber ich könnte es in Windev (V20) nicht als DLL bezeichnen. 

Ich kann die Solidworks  Kernel-APIs  sehr gut verwenden:

SwAppDocDepencies ist ein dynamisches Automatisierungsobjekt
SwAppDocDepencies = Automatisierungsobjekt "sldworks. Anwendung"

Auf der anderen Seite unmöglich mit SolidWorks.Interop.swdocumentmgr.dll. In 2 Wochen probierte ich alles aus, was mir die Hotline als Information gab (aber nur in VB.NET), alles, was ich im Netz fand... Aber in Windev gibt es nichts zu diesem Thema!

Ich kann also nicht auf V2015 umsteigen, bis ich die Lösung gefunden habe!

Also, wenn ihr das schon getan habt, schickt mir bitte ein Stück Code, ich verspreche euch das 1. Lob :)

Herzliche Grüße.

PS: Ich habe keine ERP-Schnittstelle oder API-Domäne gefunden, um die Domäne der Frage zu ermitteln

 

 

1 „Gefällt mir“

Hallo

Ich glaube nicht, dass WinDev mit dem Dokumentenmanager von SW kompatibel ist.

Windev ist eine Software, die nicht sehr weit verbreitet ist.

Ich habe die Beziehung zu unserem ERP im Vb.net geknüpft. Ich kann mir vorstellen, dass Sie einen Teil Ihres Projekts auf windev behalten möchten. Es ist Ihnen dann möglich, in Vb.net eine Anwendung zu entwickeln, die mit Ihrer Windev-App in Verbindung steht.

[Bearbeiten: ] Was sind die Antworten der Hotline? Haben Sie die Lizenz beantragt, um die Document Manager API nutzen zu können?

 

Hallo

Vielen Dank für die Antwort.

Ich sehe nicht, warum Document Manager nicht mit Windev kompatibel sein sollte. Die Solidworks-Anwendung ist in Windev einfach zu handhaben, ich habe es geschafft, alles, was ich in Visual gemacht habe, in Windev zu übersetzen, der Vorteil ist, keine visuelle Schnittstelle zu haben.

Die Hotline sagt mir, dass es machbar ist, aber alle Anzeichen sind in VB.net.

Ja, ich habe den Schlüssel zum Benutzen.

Die folgenden Befehle müssen in windev "übersetzt" werden:

Importiert SolidWorks.Interop.swdocumentmgr

swClassFact = CreateObject("SwDocumentMgr.SwDMClassFactory")
swDocMgr = swClassFact. GetApplication(sLicenseKey)

Ich habe angegeben, dass ich die DLL in Windev verwendet habe, die Frameworks 4 (4.5 auf meinem PC) entspricht

C:\Programme\SOLIDWORKS Corp\SOLIDWORKS\api\redist\SolidWorks.Interop.swdocumentmgr.dll

Ich habe die DLL wie im Dokument angegeben registriert. :regsvr32  "<Festplatte>:\Programme\Gemeinsame Dateien\SOLIDWORKS Freigegeben\SwDocumentMgr.dll"

Ich bekomme immer noch die Fehlermeldung "SwDocumentMgr.SwDMClassFactory" ist nicht auf Ihrem System installiert!

 

Es ist auch notwendig, die Deklarationen zu übersetzen:

Importiert SolidWorks.Interop.swdocumentmgr

-----------------------------------------------------------------------------------------------------------------------------------

Dim swClassFact als SwDMClassFactory
Sun swDocMgr As SwDMApplication4

-----------------------------------------------------------------------------------------------------------------------------------

swClassFact = CreateObject("SwDocumentMgr.SwDMClassFactory")
swDocMgr = swClassFact.GetApplication(sLicenseKey)

 

 

Wie gehen Sie bei Windev vor?

Können Sie ein Bild Ihrer Windev-Schnittstelle posten?

Hallo

Was ich für richtig halte, aber es funktioniert nicht.

swClassFact = CreateObject("SwDocumentMgr.SwDMClassFactory")

swClassFact ist ein dynamisches Automatisierungsobjekt

swClassFac = Automatisierungsobjekt "wDocumentMgr.SwDMClassFactory" zuordnen

-> aber antwortet "wDocumentMgr.SwDMClassFactory" ist nicht auf Ihrem System installiert


swDocMgr = swClassFact.GetApplication(sLicenseKey)

swDocMgr ist ein dynamisches Automatisierungsobjekt

swDocMgr = swClassFact>>GetApplication(sLicenseKey)

>> ermöglicht es Ihnen, eine Funktion aufzurufen, aber wenn ich dort ankomme, werde ich glücklich sein!

Also hat noch niemand wDocumentMgr mit Windev verwendet?

Herzliche Grüße

 

 

 

In Windev können Sie nach dem Hinzufügen der DLL als Referenz die Typen SwDMClassFactory und SwDMApplication4 nicht abrufen?

Denn was ich verstehe, ist, dass man sie nicht benutzt.

Hallo

Ich sehe, dass ihr voranschreitet: http://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev/73037-traduction-code-windev/read.awp

Warum sind Sie sich bei Ihrem Schlüssel nicht sicher?

Warum ist es nicht nur ein Kanal?

In Ermangelung von etwas Besserem habe ich Solidworks und Automatisierung verwendet.

Tatsächlich funktioniert es gut, bei großen PCs ist es etwas länger, da Solidworks den Raum öffnen muss. Aber es ermöglicht Ihnen zu sehen, ob das Makro seine Aufgabe erfüllt oder nicht.