Uruchamianie interfejsu API z funkcją "Model View"

Witam

 

Szukałem przez 3 godziny, nie robiąc zbyt dużego postępu w moim problemie, więc przychodzę, aby poprosić społeczność o pomoc...

 

Tutaj piszę makro, aby otworzyć MeP, uruchomić funkcję "Model View" i ręcznie wybrać lub nie plik do dołączenia. I pozwól użytkownikowi wybrać widok palety, dopóki okno dialogowe nie zostanie zamknięte. Na koniec nagranie w konkretnym formacie i w wybranym przeze mnie repertuarze.

 

Wiem, jak otworzyć rysunek, potrafię wstawić widok pomieszczenia z przodu lub z boku. Ale nie wiem, jak uruchomić funkcję Model View. Myślę, że aby poczekać na zamknięcie funkcji, wystarczy wykonać "RunCommand", z pewnością jest to możliwe z "DoEvents", ale bardziej skomplikowane, prawda?

Poniżej znajduje się szkic makra, który chciałbym:

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

 

Mam nadzieję, że wyraziłem się jasno. Zasadniczo moją ostatnią prośbą jest wykonanie cięć tlenowych mojej firmy, nie wszystkie blachy są wykonywane według tego samego planu, więc muszę pozwolić użytkownikowi wybrać odpowiedni plan, aby nie skończyć z płaskim 6x2000 zamiast 500x2000 grubości 6 6.

 

Z poważaniem, Mandragora.

Małe aktualizacje kodu, oto linie, których potrzebuję, ale nie mogę zmusić mojej pętli do działania.

 

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