DocumentManager(API) in Windev /vervangt DSOFiles aangepaste eigenschappen

Hallo

Ik ben op zoek naar een voorbeeld van hoe je SolidWorks.Interop.swdocumentmgr.dll kunt gebruiken in Windev, zonder Solidworks te openen. 

In Solidworks V2011 heb ik de custom instellingen van de Solidworks documenten gebruikt als interfaces met mijn specifieke ERP in Windev. Ik gebruikte DsoFiles, die toegang had tot deze instellingen. Hierdoor kon ik deze instellingen bijwerken zonder Solidworks te openen; Een voorbeeld:

Maak een kopie van een +parts +drw assemblage van de ene klant naar een andere klant door alle custom eigenschappen te wijzigen naar die van de nieuwe klant. BOM-regels worden dynamisch gemaakt (Windev) en de informatie wordt door DSOFiles doorgegeven aan de Solidworks-documenten. (De kopie gaat verder door een naamsverandering van de onderdelen en het opnieuw kopiëren van de afhankelijkheden, maar het is een onderdeel dat in 2015 nog steeds werkt omdat de compatibiliteit behouden is gebleven, althans dat hoop ik :) ).

Aangepaste instellingen voor Solidworks V2015-documenten zijn niet langer beschikbaar met DSoFiles -> dit is een beslissing van Microsoft (Office), gevolgd door Solidworks.

Nu moet je de API's van de SolidWorks.Interop.swdocumentmgr.dll DLL gebruiken om deze parameters te beheren. Het is goed gedocumenteerd in VB, maar ik kon dit geen DLL noemen in Windev (V20). 

Ik kan de Solidworks  kernel API's  heel goed gebruiken:

SwAppDocDepencies is een dynamisch automatiseringsobject
SwAppDocDepencies = Automatiseringsobject "sldworks" toewijzen. Toepassing"

Aan de andere kant onmogelijk met SolidWorks.Interop.swdocumentmgr.dll. In 2 weken tijd heb ik alles geprobeerd wat de hotline me als informatie gaf (maar in VB.NET), alles wat ik op het net vond... Maar er is niets over het onderwerp in Windev!

Ik kan dus niet overstappen naar V2015 totdat ik de oplossing heb gevonden!

Dus als je dat al hebt gedaan, stuur me dan een stukje code, ik beloof je 1e lof :)

Oprechte groeten.

PS: Ik heb geen ERP-interface of API-domein gevonden om het domein van de vraag te bepalen

 

 

1 like

Hallo

Ik denk niet dat WinDev compatibel is met SW's Document Manager.

Windev is een software die niet erg wijdverspreid is.

De relatie met ons ERP heb ik in Vb.net gelegd. Ik kan me voorstellen dat je een deel van je project op windev wilt houden. Het is dan mogelijk om in Vb.net een applicatie te ontwikkelen die gerelateerd wordt aan uw Windev app.

[bewerken: ] Wat zijn de antwoorden van de Hotline? Heeft u de licentie aangevraagd om gebruik te kunnen maken van de Document Managerger API?

 

Hallo

Dank u voor het antwoord.

Ik zie niet in waarom Document Manager niet compatibel zou zijn met Windev. De Solidworks-applicatie is gemakkelijk te hanteren in Windev, ik ben erin geslaagd om alles wat ik in Visual had gedaan te vertalen naar windev, het voordeel is dat ik geen visuele interface heb.

De hotline vertelt me dat het haalbaar is, maar alle indicaties zijn in VB.net.

Ja, ik heb de sleutel om te gebruiken.

De volgende commando's moeten worden 'vertaald' naar windev:

Importeert SolidWorks.Interop.swdocumentmgr

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

Ik heb wel aangegeven dat ik de DLL in Windev gebruikte, die overeenkomt met Frameworks 4 (4.5 op mijn PC)

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

Ik heb de DLL geregistreerd zoals aangegeven in het document. :regsvr32  "<schijf>:\Programmabestanden\Gemeenschappelijke bestanden\SOLIDWORKS gedeeld\SwDocumentMgr.dll"

Ik krijg nog steeds de foutmelding "SwDocumentMgr.SwDMClassFactory" is niet geïnstalleerd op uw systeem!

 

Het is ook noodzakelijk om de aangiften te vertalen:

Importeert SolidWorks.Interop.swdocumentmgr

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

Dim swClassFact als SwDMClassFactory
Zon swDocMgr As SwDMApplication4

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

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

 

 

Hoe ga je te werk bij windev?

Kun je een afbeelding van je windev-interface plaatsen?

Hallo

Wat volgens mij correct is, maar het werkt niet.

swClassFact = CreateObject("SwDocumentMgr.SwDMClassFactory")

swClassFact is een Dynamisch Automatiseringsobject

swClassFac = Automatiseringsobject "wDocumentMgr.SwDMClassFactory" toewijzen

-> maar antwoordt "wDocumentMgr.SwDMClassFactory" is niet geïnstalleerd op uw systeem


swDocMgr = swClassFact.GetApplication(sLicenseKey)

swDocMgr is een Dynamic Automation object

swDocMgr = swClassFact>>GetApplication(sLicenseKey)

>> kun je een functie aanroepen, maar als ik daar aankom ben ik blij!

Dus niemand heeft wDocumentMgr gebruikt met Windev?

Vriendelijke groeten

 

 

 

In Windev kun je na het toevoegen van de dll als referentie de typen SwDMClassFactory en SwDMApplication4 niet krijgen?

Want wat ik begrijp, is dat je ze niet gebruikt.

Hallo

Ik zie dat je vooruitgaat: http://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev/73037-traduction-code-windev/read.awp

Waarom ben je niet zeker van je sleutel?

Waarom is het niet gewoon een kanaal?

Bij gebrek aan iets beters gebruikte ik Solidworks en automatisering.

In feite werkt het goed, met grote pc's is het iets langer, omdat Solidworks de kamer moet openen. Maar het stelt je in staat om te zien dat de macro zijn werk doet of niet.