Het is blijkbaar de GetTitle-functie waarnaar u op zoek bent. Dus in je macro moet je deze GetTitle ophalen en het pad van je bestand herwerken met het resultaat dat is verkregen uit de GetTitle.
GetTitle is een API-functie waarmee je in tekstvorm de naam kunt ophalen van het bestand dat in Solidworks is geopend, daar heb je zojuist geschreven dat je PDF-bestand GetTitle.PDF moet heten .
Als je nog nooit een macro hebt gemaakt en/of hebt geprogrammeerd, moet je ofwel een beetje onderzoek doen naar hoe een programmeertaal werkt voordat je het doet, of je moet je volledige macro posten en uitleggen hoe je de manier waarop het werkt wilt veranderen, in de hoop dat iemand bereid zal zijn om eraan vast te houden.
Ik geef toe dat ik de opmerking "Tot nu toe geen zorgen, ik kom er wel" aan het begin van je vraag niet begrijp.
Ja, je moet eerst de naam van je bestand krijgen met de getTitle functie.
Ik geef ook toe dat ik de "Tot nu toe geen zorgen, ik kom er wel" niet echt begrijp...
Probeer het volgende:
'déclaration des variables
Dim swApp As Object
Dim Part As Object
Dim longstatus As Long
dim nomfichier as string
Sub enregistrement()
'initialisation des variables objet
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
'récupération du nom fichier part
Nomfichier = Part.GetTitle
'suppression de l'extension solidworks
Nomfichier = Strings.Left(Nomfichier, Len(Nomfichier) - 7)
'enregistrement du fichier en pdf
longstatus = Part.SaveAs3("C:\Users\dao\Desktop\MACRO_PDF-DWG\" & nomfichier & ".PDF", 0, 0)
end sub
In principe begrijp ik hoe het werkt, als je wilt, maar ik moet me inderdaad meer afvragen over het probleem en het programmeren.
In feite is het relatief eenvoudig en ik denk zelfs dat deze macro al moet bestaan.
Ik zou alleen willen dat als mijn tekening klaar is, ik op een knop klik, die een PDF en een DWG voor mij genereert in een map, maar met de naam van de tekening open.
Als ik een nieuwe tekening open, wil ik dat deze macro andere afzonderlijke en benoemde bestanden met deze tekening genereert.
Sorry, ik weet niet zeker of ik te duidelijk ben...
Ik weet het goed, D.Roger, er was een bug, ik kon de opmerkingen niet meer zien, we moesten eigenlijk tegelijkertijd antwoorden. Ik zal het testen en contact met je opnemen om het je te vertellen;) Dank u in ieder geval:D
EDIT: Mijn visuele basis is in het Engels, kan het spelen?
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
Part.SheetPrevious
Part.SheetNext
boolstatus = Part.EditRebuild3()
' Redraw
Part.GraphicsRedraw2
' Zoom to Area
Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1
' Zoom to Area
Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1
' Zoom To Fit
Part.ViewZoomtofit2
' Redraw
Part.GraphicsRedraw2
' Save As
longstatus = Part.SaveAs3("C:\Users\dao\Desktop\MACRO_PDF-DWG\???.DWG", 0, 0)
' Save As
longstatus = Part.SaveAs3("C:\Users\dao\Desktop\MACRO_PDF-DWG\???", 0, 0)
End Sub
Ik heb een code voor je gemaakt die je niet eens hebt gebruikt...
Nou, probeer het maar eens zo te doen
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
dim nomfichier as string
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Part.SheetPrevious
Part.SheetNext
boolstatus = Part.EditRebuild3()
' Redraw
Part.GraphicsRedraw2
' Zoom to Area
Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1
' Zoom to Area
Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1
' Zoom To Fit
Part.ViewZoomtofit2
' Redraw
Part.GraphicsRedraw2
'récupération du nom fichier part
Nomfichier = Part.GetTitle
'suppression de l'extension solidworks
Nomfichier = Strings.Left(Nomfichier, Len(Nomfichier) - 7)
' Save As
longstatus = Part.SaveAs3("C:\Users\dao\Desktop\MACRO_PDF-DWG\" & nomfichier & ".DWG", 0, 0)
' Save As
longstatus = Part.SaveAs3("C:\Users\dao\Desktop\MACRO_PDF-DWG\" & nomfichier & ".pdf", 0, 0)
End Sub
En ik denk dat je zooms afhangen van de startpositie, dus ik denk dat het beter is dat je jezelf kadreert voordat je gaat opnemen.
Bengous neemt het niet slecht op, ik ben nieuw in het ding ^^ Als ik je code goed heb geprobeerd, neem het dan helemaal niet slecht, het is gewoon dat ik ontdek
Je vindt HIER een discussiedraad die ging over het onderwerp leren programmeren op Solidworks, ik raad je aan om het tot het einde te lezen, je zult een heleboel interessante links vinden.