Witam
Posiadam makro, które podmienia wszystkie składowe złożenia modelu wszystkimi złożeniami wybranymi przez użytkownika za pomocą pliku Excel, co pozwala nam bardzo szybko zbudować maszynę złożoną ze standardowych elementów.
Dla jednego z tych elementów (części) zmieni się tylko jeden wymiar w zależności od kilku opcji wybranych przez użytkownika.
Mogłem stworzyć część solidworks specyficzną dla każdej możliwości, ale ponieważ ta część będzie specyficzna dla każdej maszyny, wolałem wtedy stworzyć ogólny model tej części:
- Zaimportuj go do mojego zespołu modelu maszyny
- Otwórz tę część ogólną
- Edytuj tę ocenę
- Zapisz część i jej rysunek pod nową nazwą (rysunek ogólny jest już gotowy)
- i zamknij tę część, aby powrócić do montażu w budowie.
Ze wszystkich kroków wymienionych powyżej, mogę zaimportować tylko moją część ogólną (nazwa części TEST. SLDPRT), zaznaczamy go, otwieramy, a następnie wybieramy dany wymiar, który nosi nazwę "DIAM", dla pozostałych kroków pomyślałem, że skorzystam z nagrania makra do zmiany wartości wybranego wymiaru, zapisania części pod nową nazwą (a także jej rysunku poprzez otwarcie go przed zapisaniem pliku części), Niestety na nagraniu nie ma nic do tych działań...
Kopiuję/wklejam kod, który posiadam, aby wybrać moją część, otwieram go i wybieram wymiar, którego wartość chcę zmienić:
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("TEST-1@ASSY TEST", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
Part.OpenCompFile
' Open the part TEST.SLDPRT
Set Part = swApp.OpenDoc6("PATCH\TEST.SLDPRT", 1, 0, "", longstatus, longwarnings)
Set Part = swApp.ActiveDoc
' Select dimension "DIAM"
boolstatus = Part.Extension.SelectByID2("DIAM@Sketch1@TEST.SLDPRT", "DIMENSION", 0, 0, 0, True, 0, Nothing, 0)
End Sub
Więc moje pytanie jest raczej oczywiste, czy ktoś ma pomysł na:
- Zmienianie wartości wybranego wymiaru
- Otwieranie rysunku wybranej części
- Zapisywanie części pod nową nazwą
- Zapisywanie rysunku pod nową nazwą
- Zamknij wszystko, aby wrócić do zestawu
Próbowałem już szukać, manipulować zaznaczeniami, ale muszę przyznać, że bardzo łatwo gubię się w solidworks VBA w porównaniu z Excel VBA i dlatego mam trudności z manipulowaniem zaznaczeniami itp.
Z góry dziękuję za pomoc
P.S: przepraszam za brak akcentów, używam angielskiej klawiatury...
Yves