Witam
Pracuję w solidworks 2011, mam już makro, które zapisuje mi mój aktywny plan, plan mojej aktywnej części lub wszystkie plany aktywnego zespołu, wszystko we właściwym miejscu.
To makro po prostu używa funkcji "zapisz jako" w formacie PDF z solidworks (bez wirtualnych drukarek, takich jak Bullzip lub PDFcréator!)
Mój problem polega na tym, że chciałbym, aby na mojej mapie bazowej pojawił się tekst z napisem "DO KONSULTACJI", jeśli chcę, podczas uruchamiania makra PDF.
Przede wszystkim pomyślałem o stworzeniu ukośnego bloku z odpowiednią czcionką, odpowiednim rozmiarem i spróbowałem dodać go do mojego tła za pomocą makra. Problem polega na tym, że ponieważ istnieje kilka formatów planów dla różnych formatów, pozycja wstawionego bloku, jak również rozmiar, nie są najłatwiejsze do zarządzania.
Następnie pomyślałem o tym, aby po prostu zrobić notatkę na mojej mapie bazowej (już dobrze umieszczonej i w odpowiednim rozmiarze) i po prostu wyświetlić ją, a następnie ukryć podczas uruchamiania makra, jeśli zdecyduję, że ta wersja planu będzie tylko do konsultacji.
Za pomocą nagrania udaje mi się ukryć moje pole tekstowe:
Sub main()
Ustaw swApp = _
Aplikacja.SldWorks
Ustaw część = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Plan obiektu détail1988@Fond", "UWAGA", 0.2884716463644, 0.1501347778362, 0, Fałsz, 0, Nic, 0)
Część.Ukryj wymiar
Koniec subwoofera
Działa dobrze, a ten fragment kodu daje mi jednocześnie identyfikator mojego pola tekstowego. Dzięki temu mogę napisać kolejny fragment kodu, aby ponownie wybrać moją notatkę.
Z drugiej strony, bez względu na to, jak bardzo się staram, nie mogę znaleźć funkcji, która pozwoliłaby mi ponownie wyświetlić tę notatkę!!!
Wybór notatki prowadzi mnie do kolejnego pytania:
Jak kontrolować identyfikator obiektu? ponieważ w zależności od moich różnych linii bazowych, ID mojej notatki prawdopodobnie nie zawsze będzie takie samo (Obiekt détail1988@Fond planu" w moim przykładzie powyżej)
Przepraszam, być może zadaję podstawowe pytania w VBA SolidWorks, ale robię je od bardzo krótkiego czasu.
Z góry dzięki!
Yves