Hallo;
Ik ben bezig met het maken van macro's.
Wanneer de gebruiker erop klikt, haalt de macro alle componenten op en op een gegeven moment moet hij de eigenschappen van elk van deze componenten ophalen.
Het probleem is dat ik het niet kan doen zonder elk van de componenten zichtbaar te openen.
Ik begin met het onzichtbaar openen van de component: "swApp.OpenDoc6 File, swDocPART, swOpenDocOptions_Silent, "", error, warning" dat is ok.
Als ik bij "Set swModel = swApp.ActivateDoc2(File, True, error)" kom, toont Solid het bestand. Ik zou het willen vermijden als het mogelijk is.
Het beste is dat de originele assemblage er altijd open uitziet en dat solid gegevens ophaalt van de andere componenten op de achtergrond.
Bovendien, als de assemblages groot zijn, kan het enige tijd duren om al deze bestanden te openen.
Dus dat is mijn probleem als je een idee hebt!
Bij voorbaat dank
Hallo
U kunt de "DocumentVisible" API gebruiken, kijk in de API help
hierdoor kan het document (modelDoc2) worden opgehaald zonder het te activeren
Aan het begin van de code specificeren we
swApp.DocumentVisible(swDocumentTypes_e.swDocPART, onwaar)
.... De behandeling ....
en zet aan het einde swApp.DocumentVisible(swDocumentTypes_e.swDocPART, True)
Anders zijn de nieuw geopende kamers onzichtbaar voor de gebruiker!
Kijk ook naar het gedeelte "SolidWorks Document Manager" van de API-help, waarmee u aan documenten kunt werken (bijvoorbeeld eigenschappen lezen, ...) zonder via SolidWorks te gaan, alleen door de locatie van het bestand op te geven.
Ik hoop dat dit je zal helpen
8 likes
U kunt de "DocumentVisible" API gebruiken,
Ok dat is me gelukt, het werkt!
Zie ook het onderwerp "SolidWorks Document Manager" in de API Help
Ik keek, het lijkt me echt gepast om de eigenschappen te lezen zonder de bestanden te openen, maar ik geef toe dat ik niet alles begreep. Nu werk ik in VBA en ik ben er niet zo aan gewend, maar zodra ik weer bij mijn .NET ben, ga ik aan de slag.
Bedankt!