Witam wszystkich,
Mam folder z dużą ilością rysunków i chciałbym zmienić część tekstu (np. M6x30 na M6x30 - 8.8) w notatkach.
Chciałem wiedzieć, czy podobnie jak w programie Word można wykonać polecenie "znajdź/zamień według" w folderze z rysunkami?
Makro, Mycadtool, ...
(Szukałem na forum ale bez powodzenia)
Z góry dziękuję
Witam
Nie znam żadnych istniejących narzędzi do tego narzędzia, ale na pewno jest to możliwe za pomocą programu, który powinien automatycznie z listy planów:
- Otwórz plan SLDDRW.
- Przeanalizuj wszystkie notatki w tym planie.
- Zmodyfikuj ocenę, jeśli = xxxxx.
- Zapisz ten plan.
- Przejdź do następnego planu.
-itd...
W załączeniu znajduje się mały przykład programu, który ma zostać uruchomiony po uruchomieniu oprogramowania i załadowaniu planu SLDDRW. Ten program pozwala wyszukać wszystkie nuty i wszystkie wymiary obecne na płaszczyźnie (choć nie wszystkie tolerancje).
Pozdrowienia
test-search.zip
2 polubienia
Dziękuję d.roger!
Spojrzałem na twój plik wykonywalny.
Działa dobrze do wymieniania wszystkiego.
Dwie uwagi:
- Szkoda, że nie możemy przewinąć, niektóre informacje były niedostępne na dole okna wyników
- Nie możemy zaznaczyć tekstu
Ale specjalnie dla mojej aplikacji musiałbym otwierać wszystkie plany (200) jeden po drugim. Równie dobrze możesz to zrobić ręcznie za pomocą SW / tools / Search / modify.
Wolałbym coś bardziej automatycznego, ale nie sądzę, żeby to istniało.
Będę musiał dostać się do VB.
Miłego dnia
Rejestrator makr daje to
Dim swApp As Object
Dim Part As Object
Dim longstatus As Long
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
'--------------------Find and Replace Annotations--------------------
Set swUtil = swApp.GetAddInObject("Utilities.UtilitiesApp")
Set swUtilFindReplaceAnnotations = swUtil.FindReplaceAnnotations
longstatus = swUtilFindReplaceAnnotations.InitPMPage()
'--------------------Block Recording--------------------
#If 0 Then
#End If
'--------------------UnBlock Recording------------------
swUtilFindReplaceAnnotations.FindText = "M6x30"
swUtilFindReplaceAnnotations.ReplaceText = "M6x30 - 8.8"
swUtilFindReplaceAnnotations.options = gtFraMatchCase Or gtFraWholeWord Or gtFraIncludeHiddenAnnotation
swUtilFindReplaceAnnotations.AnnotationFilter = gtFraAllTypes
Part.ClearSelection2 True
longstatus = swUtilFindReplaceAnnotations.ReplaceAll()
'--------------------Block Recording--------------------
#If 0 Then
#End If
'--------------------UnBlock Recording------------------
longstatus = swUtilFindReplaceAnnotations.Close()
End Sub
aby zobaczyć, aby umieścić go w programie, który zapętla się na wszystkich płaszczyznach folderu, z drugiej strony przeszkadza mi okno dialogowe, które pojawia się na końcu makra :/
1 polubienie
Witam
Ten program jest tylko przykładem do wyszukiwania nut i wymiarów strzału, musisz zautomatyzować otwieranie i zamykanie SLDDRW, automatycznie modyfikować notatki lub wymiary, śledzić wynik w pliku dziennika itp.
Twoja potrzeba wymaga trochę wiedzy programistycznej (vba, vb.net lub C#), ale jest wykonalna. Aby przetworzyć 200 planów, będzie to oznaczać czas przetwarzania około 20 do 30 minut, ale zanim to nastąpi, napisanie programu zajmuje około 2 godzin.
Pozdrowienia
Oto już funkcja (w C#) do wyświetlenia listy wszystkich nut klipu i zamiany wartości "M6x30" na "M6x30 - 8.8":
private void ListeAnnotations()
{
DrawingDoc swDraw;
długie j;
długa liczenie;
SolidWorks.Interop.sldworks. Widok swView;
swDraw = (DrawingDoc)swApp. ActiveDoc;
swView = (SolidWorks.Interop.sldworks.Widok)swDraw. Funkcja GetFirstView();
while ((swView != null))
{
count = swView. GetNoteCount();
if (liczba > 0)
{
Object[] Notes = (Object[])swView. GetNotes();
dla (j = 0; j < = Uwagi.GetUpperBound(0); j++)
{
Uwaga swUwaga;
swNote = (Uwaga)Uwagi[j];
ciąg wartośćUwaga = swNote. Funkcja GetText();
ciąg newValueNote = wartośćUwaga;
if (wartośćUwaga.Zawiera (M6x30))
{
newValueNote = nowaWartośćUwaga. Wymień (M6x30, M6x30 - 8,8);
swUwaga. SetText(nowaWartośćUwaga);
}
}
}
swView = (SolidWorks.Interop.sldworks.Widok)swView. Funkcja GetNextView();
}
}
Pozdrowienia
1 polubienie
Dziękujemy za Wasze opinie i zaangażowanie!
Będę patrzył zgodnie z moimi skromnymi umiejętnościami programistycznymi i moją dostępnością.
Jestem bardziej zaznajomiony z VB, ponieważ zrobiłem dużo makr dla Excela, dla C++ widziałem to w szkole w 2000 roku, więc w ogóle nie jestem na bieżąco, ale oferuje inne możliwości.
Twój kod zainspiruje mnie do dokonania wyboru.
Miłego weekendu
Dziękuję d.roger,
Niestety ograniczenia mojej organizacji nie pozwalają mi już na korzystanie z plików wykonywalnych (pierwsza przeszła, ale nie druga)
Więc zamierzam wybrać VBA SW + planer zadań.
Czapki z głów przed pracą! Jestem pewien, że zaspokoiłby w 100% moją potrzebę
Miłego dnia!
W przeciwnym razie w mycadtools znajduje się narzędzie do integracji, które można zainstalować i uruchomić w folderze, wystarczy zmodyfikować załączoną regułę.
A do tego nie są potrzebne żadne umiejętności programistyczne.
Po prostu zmień warunek, który tutaj umieściłem dla wszystkich dokumentów typu konspekt.
Następnie, aby zmienić operację w tym miejscu, aby zastąpić tekst notatki inną notatką. Uwaga wyszukiwana w załączonej regule M6x30 tekst alternatywny M6x30 -8.8
I wybór liści Wybrałem wszystkie liście.
Możesz go bardzo łatwo dostosować, a następnie zastosować tę regułę do całego pliku, do całego zestawu lub innego zgodnie z własnymi potrzebami.
modification_de_note.mcact
1 polubienie