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)
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ą.
Jest idealny, przetestuję to, bardzo dziękuję
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)
Jest na szczycie, aby działać za pierwszym razem! Duża oszczędność czasu! 4 minuty na sztukę oszczędzają!!
Bardzo dziękuję
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
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.