Wat is de regel die je moet schrijven om jezelf in het vooraanzicht te zetten?

Ik wil graag een macro maken die een foto opslaat van elke weergave van de open assemblage, maar wanneer ik de macro opsla, wordt de verandering van weergave niet opgeslagen, wat is de regel die ik moet typen om dit te bereiken?

Hallo

Hier is de lijst met weergaven:

Dim swApp As Object
Dim Part As Object

Sub main()

Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc

' Part.ShowNamedView2 "Normal à", 0   'Normal à un plan ou une face sélectionné(e)
Part.ShowNamedView2 "Face", 1
' Part.ShowNamedView2 "Dos", 2
' Part.ShowNamedView2 "Gauche", 3
' Part.ShowNamedView2 "Droite", 4
' Part.ShowNamedView2 "Dessus", 5
' Part.ShowNamedView2 "Dessous", 6
' Part.ShowNamedView2 "Isométrique", 7
' Part.ShowNamedView2 "Trimétrique", 8
' Part.ShowNamedView2 "Dimétrique", 9

' Part.ShowNamedView2 "Vue perso 1", -1
' Part.ShowNamedView2 "Vue perso 2", -1

Part.ViewZoomtofit2   'Ajuste le cadrage de la pièce ou l'assemblage à la vue

End Sub

 

Voor standaardweergaven is de naam van de weergave tussen aanhalingstekens puur indicatief, u kunt deze vervangen door "" of "blabla", het werkt nog steeds, alleen het nummer definieert de weergave die moet worden weergegeven.

Voor aangepaste weergaven daarentegen is het nummer altijd -1 en bepaalt alleen de naam tussen aanhalingstekens (uiteraard overeenkomend met de naam die aan de weergave is gegeven toen deze werd gemaakt) de weergave die moet worden weergegeven.

4 likes

Hallo, Hier is de macro die ik heb gemaakt, waarom werkt het niet?

' ******************************************************************************
' C:\Users\domon\AppData\Local\Temp\swx19096\Macro1.swb - macro opgenomen op 08/11/22 door domon
' ******************************************************************************
Dim swApp als object

Deel dimmen als object
Dim boolstatus als Booleaanse
Dim longstatus As Long, longwarnings As Long

Sub hoofd()

Stel swApp = Toepassing.SldWorks in

Deel instellen = swApp.ActiveDoc
myModelView dimmen als object
Stel myModelView = Deel.ActiveView in
myModelView.FrameState = swWindowState_e.swWindowMaximized
' Part.ShowNamedView2 "Gezicht", 1
' Deel.ViewZoomtofit2

' Opslaan als
longstatus = Deel.SaveAs3("E:\Desktop\Capture\face.JPG View", 0, 2)
Einde Sub
 


macro0004.swp
1 like

Hallo

Omdat je de regels ShowNamedView2 en ViewZoomtoFit2 in de reacties hebt achtergelaten... De apostroffen aan het begin van regels moeten worden verwijderd.

PS: Ik ben begonnen met het schrijven van een geavanceerde macro om het massaal opslaan van frame-afbeeldingen aan te kunnen, voor meerdere documenten, meerdere weergaven, geparametriseerde weergaven en meer. Voorbeeld:

3 likes

Leuk project @Sylk, Als je dit achteraf met ons kunt delen, ben ik benieuwd!

2 likes

Natuurlijk @sbadenis, dat is mijn intentie en het doel.

1 like