API Lancement fonction "Vue du modèle"

Bonjours,

 

Ca va faire 3 heures que je cherche sans trop avancer sur mon problème donc je viens demander de l'aide a la communauté ...

 

Voila je suis en train de rédiger une Macro pour ouvrir une MeP, lancer la fonction "Vue du Modèle" sélectionner manuellement, ou pas, le fichier a joindre. Et laisser l'utilisateur choisir le vue de la palette jusqu'a fermeture de la boite de dialogue. Pour finir par un enregistrement sous un format spécifique et dans le répertoire de mon choix.

 

Je sais comment ouvrir une mise en plan, je peu réussir a insérer une vue, de face ou de coté, de la pièce. Mais je ne sais pas comment on lance la fonction Vue du modèle. Je pense que pour attendre la fermeture de la fonction il suffis de faire un "RunCommand" c'est sûrement possible avec "DoEvents" mais plus compliqué non ?

Ci-dessous le croquis de la macro que je voudrais :

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

 

J'espère avoir étai claire. En gros ma demande final, c'est pour faire les oxycoupes de mon entreprise, toutes le tôle ne sont pas faite avec les même plan donc je dois laisser l'utilisateur choisir le bon plan pour pas se retrouver avec un plat de 6x2000 au lieu de 500x2000 épaisseur 6.

 

Cordialement, Mandragore.

Petite mise a jours du code voici les ligne qu'il me faut mais je n'arrive pas a faire fonctioner mon Loop.

 

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