Zbiorcze uruchamianie makra w bibliotece

Stworzyłem makro, które pozwala obniżyć jakość obrazu, fasetyzację i krzywą w elementach bibliotecznych, aby zoptymalizować ich wykorzystanie. Trudność polega na tym, że mogę uruchomić tylko wtedy, gdy część jest otwarta w Solidworks.
Czy znasz jakąś metodę uruchomienia tego zadania bezpośrednio za pomocą Harmonogramu zadań, wybierając żądany katalog?
Z góry dziękuję

Jeśli masz narzędzie MyCadtools, możesz to zrobić za pomocą integracji, w przeciwnym razie skorzystaj z 1-miesięcznej wersji próbnej!
W 1 wybierasz swój plik.
W 2 tworzysz nową regułę
W 3 warunek systematyczny, który przeciągasz do folderu AND
W 4 Operacjach Różne, Uruchomienie makra
W 5 wypełniasz makro (ścieżkę do przejścia i znalezienia)
W 6 metoda (główna?)
W 7 przeciągasz swoje makro do działania
W 8 filtrujesz w razie potrzeby (Część, Złożenie, Rysunek)
Na koniec aplikuj


Następnie Solidworks przetworzy wsadowo listę wyboru 1 po kolei i zastosuje do niej makro.
I zapomniałem tuż poniżej akcji, którą możesz zmienić, czy zapisujesz, czy nie, wychodząc. (dla twojego przypadku zapisana modyfikacja)

2 polubienia

Witam
Rzeczywiście, musi to być główna metoda
Oto makro

Opcja jawna

’ ******************************************************************************
" autorstwa F. PENNERASA
' 27 GRUDNIA 2023 R.
’ ******************************************************************************

Wczesne zmienne powiązane
Dim swApp jako SldWorks.SldWorks
Dim swDoc jako SldWorks.ModelDoc2
Przyciemnij część jako SldWorks.ModelDoc2

' Zmienne do dodania (zmienne zmienne)
Dim CurVal jako podwójny
Dim MaxVal jako Double
Dim MinVal jako podwójne
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim swTextFormat jako SldWorks.TextFormat
Dim TextFormatObj jako obiekt
Dim ModelDocExtension As ModelDocExtension

Sub main()

• Połączenie z aktualnie aktywnym dokumentem SolidWorks
Ustaw swApp = Application.SldWorks
Ustaw swDoc = swApp.ActiveDoc
Ustaw część = swApp.ActiveDoc
Ustaw ModelDocExtension = Part.Extension

'Procedura obsługi błędów, jeśli nie załadowano żadnych dokumentów
Jeśli część jest niczym, to MsgBox "Plik Solid Works musi być aktywny!", vbCritical: Wyjdź z sub

' Pobierz bieżące, minimalne i maksymalne wartości z preferencji odchylenia cieniowania jakości obrazu.
' Załaduj te wartości do zmiennych 'CurVal', 'MinVal' i 'MaxVal'.
swDoc.Extension.GetUserPreferenceDoubleValueRange swImageQualityShadedDeviation, CurVal, MinVal, MaxVal

' Ustawia nową wartość odchylenia zacienienia
swDoc.SetUserPreferenceDoubleValue swImageQualityShadedDeviation, MaxVal

' Odznacz pole wyboru "Optymalizuj długość krawędzi".
Part.SetUserPreferenceToggle swImageQualityUseHighQualityEdgeSize, False

Odznacz pole "Zapisz facetyzację".
Part.SetUserPreferenceToggle swImageQualitySaveTesselationWithPartDoc, False

' Odznacz pole "Popraw jakość krzywej".
Part.SetUserPreferenceToggle swImageQualityWireframeHighCurveQuality, False

' Ustaw nową wartość dla opcji "Rozdzielczość szkieletowa i wysoka jakość HLR/HLV".
Part.SetUserPreferenceIntegerValue swImageQualityWireframeValue, 1

Koniec subwoofera

Link do instalacji narzędzi MyCadTools można znaleźć tutaj:

1-miesięczna wersja próbna.
Następnie skorzystasz z integracji i zobaczysz wskazówki i obraz z poprzedniego postu, które Cię poprowadzą.

1 polubienie

Jest idealny, przetestuję to, bardzo dziękuję

Tutaj zobaczymy jak to wygląda

Przetestuj go na 2-3 sztukach, aby zobaczyć i uważaj, aby był dostępny na piśmie.
Ale już używany i działa bardzo dobrze (jeśli makro jest funkcjonalne)

1 polubienie

Jest na szczycie, aby działać za pierwszym razem! Duża oszczędność czasu! 4 minuty na sztukę oszczędzają!!

Bardzo dziękuję

1 polubienie

Tak, właśnie dlatego zainwestowaliśmy w narzędzia MYcad! Ponieważ jest bardzo przydatny do zadań wsadowych.
A cios dla nas jest w dużej mierze amortyzowany w ciągu roku

3 polubienia

Można zautomatyzować makro w Harmonogramie zadań SolidWorks, korzystając z obejścia. Najpierw zapisz makro jako osobny plik. Następnie należy utworzyć skrypt wsadowy, który otwiera SolidWorks, ładuje każdą część z żądanego katalogu i uruchamia na niej makro. Możesz ustawić ten skrypt wsadowy tak, aby był uruchamiany w zaplanowanych godzinach za pomocą Harmonogramu zadań. Niestety, Harmonogram zadań SolidWorks nie obsługuje natywnie bezpośredniego uruchamiania makr, więc ta metoda dodaje nieco automatyzacji. Można również zapoznać się z SolidWorks PDM, jeśli ma się do niego dostęp, ponieważ ma on bardziej niezawodne opcje automatyzacji.