API-Start der Funktion "Model View"

Hallo

 

Ich habe 3 Stunden lang gesucht, ohne zu große Fortschritte bei meinem Problem zu machen, also komme ich, um die Community um Hilfe zu bitten ...

 

Hier schreibe ich ein Makro, um ein MeP zu öffnen, die Funktion "Modellansicht" zu starten und die anzuhängende Datei manuell auszuwählen oder nicht. Lassen Sie den Benutzer die Palettenansicht auswählen, bis das Dialogfeld geschlossen wird. Zum Abschluss eine Aufnahme in einem bestimmten Format und in dem Repertoire meiner Wahl.

 

Ich weiß, wie man eine Zeichnung öffnet, ich kann es schaffen, eine Ansicht des Raumes von vorne oder von der Seite einzufügen. Aber ich weiß nicht, wie ich die Modellansichtsfunktion starten soll. Ich denke, um darauf zu warten, dass die Funktion geschlossen wird, müssen Sie nur einen "RunCommand" ausführen, es ist sicherlich mit "DoEvents" möglich, aber komplizierter, nicht wahr?

Unten ist die Skizze des Makros, das ich gerne hätte:

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.NewDocument("Chemin Mise en plan", 12, swSheetWidth, swSheetHeight)
Dim swDrawing As DrawingDoc

Set swDrawing = Part

Dim swSheet As sheet
Set swSheet = swDrawing.GetCurrentSheet()
swSheet.SetProperties2 12, 12, 1, 50, False, swSheetWidth, swSheetHeight, True
swSheet.SetTemplateName "Chemin Template Mise en plan"
swSheet.ReloadTemplate True
swApp.ActivateDoc2 "Mise en plan1 - Feuille1", False, longstatus

Set Part = swApp.ActiveDoc

'Création de la Vue du modèle 3D, suivant vue de Face
Dim myView As Object
Set myView = Part.CreateDrawViewFromModelView3("Chemin Du modèle", "*Face", 0.25044660101369, 0.215512710674157, 0)
'C'est ici qu'il faudrait un RunCommand ou DoEvent pour éditer la Vue


' Save As                      Chemin fixe, nom suivant le fichier source
longstatus = Part.SaveAs3("Chemin d'enregistrement", 0, 0)
Part.ClearSelection2 True

' Close Document
Set swDrawing = Nothing
Set Part = Nothing
swApp.CloseDoc "F85162706 - Feuille1"
End Sub

 

Ich hoffe, ich habe mich klar ausgedrückt . Grundsätzlich besteht meine letzte Anforderung darin, die Autogenschnitte meines Unternehmens durchzuführen, nicht alle Bleche werden mit dem gleichen Plan hergestellt, daher muss ich den Benutzer den richtigen Plan auswählen lassen, um nicht mit einer 6x2000 flachen statt 500x2000 Dicke 6 zu enden.

 

Mit freundlichen Grüßen, Mandrake.

Kleine Code-Updates, hier sind die Zeilen, die ich brauche, aber ich kann meine Schleife nicht zum Laufen bringen.

 

Set Part = swApp.ActiveDoc
    Set swModelDocExt = Part.Extension

    'lance la fonction que je veux comme il faut
RefPlan = swModelDocExt.RunCommand(swCommands_ModelView, "")

    'ici ca bug, impossible de détecter si la fonction 'swCommands_ModelView' es toujours active
    Do
        DoEvents
    Loop Until RefPlan = False


' Save As