SolidWorks >> Makra >> Macro SaveAs Drawing
Autor Wypowiedź
Konstruktor
2020-08-29, 12:40
Pomógł 0 raz(y).
Witam

Czy jest ktoś mi w stanie pomóc w napisanie bardzo prostego macro do zapisania aktualnie tworzonego/stworzonego pliku rysunku .SLDDRW (który jeszcze nie został zapisany w żadnej lokalizacji), o tej samej nazwie i lokalizacji co Część do którego tyczy się rysunek?

Pracuje na wielu folderach i czasami mi się zdarza zapisać rysunek w złym folderze (nie tym samym co część), a klikanie i zatwierdzenie lokalizacji dla rysunku przy jego zapisie jest dla mnie zbędną czynnością ponieważ i tak zawsze chce żeby rysunek był w tej samej lokalizacji co część.

Mam macro'sy które zapisują Rysunek jako PDF czy DXF ale one bazują zawsze na zapisanym rysunku. Nie da się zapisać otwartego pliku jako .SLDDRW przez
te podobne macro'sy zmieniając tylko rozszerzenie ponieważ macrosy odwołują się zawsze do tego zapisanego pliku.

 
.
2020-08-31, 09:03
Pomógł 52 raz(y).
To by było coś takiego:

Dim swApp As Object
Sub main()
Dim swModelRysunku As SldWorks.ModelDoc2
Dim PlikModelu As String
Dim PlikRysunku As String
Dim swView As SldWorks.View
Dim Longstatus As Long
Set swApp = Application.SldWorks
Set swDraw = swApp.ActiveDoc
Set swView = swDraw.GetFirstView
Set swView = swView.GetNextView
PlikModelu = swView.GetReferencedModelName
PlikRysunku = Left(PlikModelu, Len(PlikModelu) - 7) + ".SLDDRW"
Longstatus = swDraw.SaveAs(PlikRysunku)
End Sub

lub krócej :

Sub main()
Dim PlikModelu As String
Dim Longstatus As Long
PlikModelu = Application.SldWorks.ActiveDoc.GetFirstView.GetNextView.GetReferencedModelName
Longstatus = Application.SldWorks.ActiveDoc.SaveAs(Left(PlikModelu, Len(PlikModelu) - 7) + ".SLDDRW")
End Sub
 
Konstruktor
2020-08-31, 20:16
Pomógł 0 raz(y).
Super, działa jedno i drugie :)

Bardzo dziekuje!
 

PSWUG

Strefa Resellera

Publikuj

Społeczność

Ankieta

Linki

RSS

BOT