API get Custom Properties en invisible

Witam;

 

Jestem w trakcie tworzenia makr.

Gdy użytkownik na niego kliknie, makro pobiera wszystkie składniki, a w pewnym momencie musi pobrać właściwości każdego z tych komponentów.

Problem w tym, że nie mogę tego zrobić bez solidnego widocznego otwarcia każdego z elementów.

 

Zaczynam od niewidocznego otwarcia komponentu: "swApp.OpenDoc6 File, swDocPART, swOpenDocOptions_Silent, "", error, warning" i jest ok.

Gdy dojdę do "Set swModel = swApp.ActivateDoc2(File, True, error)" Solid pokazuje plik. Chciałbym tego uniknąć, jeśli jest to możliwe.

Najlepszą rzeczą do zrobienia jest, aby oryginalny zespół zawsze pozostawał otwarty w wyglądzie, a bryła pobierała dane z innych komponentów w tle.

Co więcej, gdy zestawy są duże, otwarcie wszystkich tych plików może zająć trochę czasu.

 

Więc to jest mój problem, jeśli masz pomysł!

Z góry dziękuję

 

Witam

 

Możesz użyć API "DocumentVisible", zajrzyj do pomocy API

pozwala to na pobranie dokumentu (modelDoc2) bez jego aktywacji

Na początku kodu określamy

swApp.DocumentVisible(swDocumentTypes_e.swDocPART, Fałsz)

 

.... Leczenie ....

 

a na końcu umieść swApp.DocumentVisible(swDocumentTypes_e.swDocPART, True)

W przeciwnym razie nowo otwarte pokoje będą niewidoczne dla użytkownika!

 

Zapoznaj się również z sekcją "Menedżer dokumentów SolidWorks" w pomocy API, która pozwala na pracę nad dokumentami (odczyt właściwości na przykład, ...) bez przechodzenia przez SolidWorks, a jedynie poprzez określenie lokalizacji pliku.

 

Mam nadzieję, że to ci pomoże

 

 

 

8 polubień

Możesz skorzystać z API "DocumentVisible", 

Ok, udało mi się z tym, działa!

 

Zobacz również temat "Menedżer dokumentów SolidWorks" w Pomocy API

Spojrzałem, wydaje mi się, że naprawdę należy przeczytać właściwości bez otwierania plików, ale przyznam, że nie wszystko zrozumiałem. Teraz pracuję w VBA i nie jestem do tego zbyt przyzwyczajony, ale jak tylko wracam do mojego .NET, zabieram się do pracy.

 

Dziękuję!