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ę!