Witaj drużynie,
Postanowiłem zacząć robić maccro, aby zaoszczędzić czas na mojej pracy.
Będąc nowicjuszem, najpierw przeczytałem wiele tematów na tym forum, ale niekoniecznie znalazłem swoje odpowiedzi.
Pozwólcie, że wyjaśnię: stworzyłem maccro z funkcją "Zapisz".
Cel tego maccro byłby następujący:
- Z pokoju. SLDPRT (Biblioteka SLDPRT)
- Zapisz go w . KROK
- Otwieranie rysunku
- Zapisz jako . DxF
- Zapisz jako PDF
- Zamknij rysunek
- Zamknij pokój
Kod, który się z niego wyłania, jest następujący:
’ ******************************************************************************
' C:\Users\bguyetand\AppData\Local\Temp\swx4952\Macro1.swb - makro nagrane 20.09.23 przez BGuyetand
’ ******************************************************************************
Dim swApp As Object
Przyciemnij część jako obiekt
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Ustaw swApp = Application.SldWorks
Ustaw część = swApp.ActiveDoc
' Zapisz jako
longstatus = Part.SaveAs3("C:\Użytkownicy\bguyetand\Pulpit\Część1.KROK", 0, 2)
' Otwórz
Ustaw część = swApp.OpenDoc6("C:\Users\bguyetand\Desktop\Part1.SLDDRW", 3, 0, "", longstatus, longwarnings)
Dim swDrawing As DrawingDoc
Ustaw swDrawing = Część
Ustaw część = swApp.ActiveDoc
Przyciemnij myModelView jako obiekt
Ustaw myModelView = Part.ActiveView
myModelView.FrameLeft = 0
myModelView.FrameTop = 22
Ustaw myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
swApp.ActivateDoc2 "Część 1 - Arkusz1", Fałsz, długi stan
Ustaw część = swApp.ActiveDoc
Ustaw myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
' Zapisz jako
longstatus = Part.SaveAs3("C:\Użytkownicy\bguyetand\Pulpit\Pièce1.pdf", 0, 2)
Part.SheetPoprzedni
' Przerysuj
Part.GraphicsRedraw2
' Powiększ obszar
Part.ViewZoomTo2 0, 0, 0, 0,1, 0,1, 0,1
' Powiększ obszar
Part.ViewZoomTo2 0, 0, 0, 0,1, 0,1, 0,1
' Zapisz jako
longstatus = Part.SaveAs3("C:\Użytkownicy\bguyetand\Pulpit\Część1.DXF", 0, 2)
' Zamknij dokument
Ustaw swDrawing = Nic
Ustaw część = Nic
swApp.CloseDoc "Część 1 - Arkusz1"
Ustaw część = swApp.ActiveDoc
Ustaw myModelView = Part.ActiveView
myModelView.FrameLeft = 0
myModelView.FrameTop = 0
Ustaw myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
swApp.ActivateDoc2 "Part1.SLDPRT", False, longstatus
Ustaw część = swApp.ActiveDoc
Ustaw myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
' Zamknij dokument
Ustaw swPart = Nic
Ustaw część = Nic
swApp.CloseDoc "Część1.SLDPRT"
Koniec subwoofera
Mój problem polega na tym, że obecnie, kiedy uruchamiam tego maccro, otwiera się mój pokój testowy, który stworzyłem (prosta kostka), aby rozłożyć kroki.
Ponadto nagrywa wszystko na pulpicie.
Czy jest to możliwe aby mi wytłumaczyć w moim maccro:
- Jak mogę zastąpić moją "testową" część "aktywną" na moim ekranie?
- Jak zapisać pliki w folderze otwartego pokoju?
Mam nadzieję, że moje wyjaśnienia są wystarczająco jasne
Z góry dziękuję za czas, który mi poświęcisz!!