API-lancering "Model View"-functie

Hallo

 

Ik ben al 3 uur op zoek zonder al te veel vooruitgang te boeken met mijn probleem, dus ik kom de gemeenschap om hulp vragen ...

 

Hier ben ik een macro aan het schrijven om een MeP te openen, de functie "Model View" te starten en handmatig het bestand te selecteren, of niet, om bij te voegen. En laat de gebruiker de paletweergave kiezen totdat het dialoogvenster wordt gesloten. Om af te sluiten met een opname in een specifiek formaat en in het repertoire van mijn keuze.

 

Ik weet hoe ik een tekening moet openen, ik kan een weergave invoegen, vanaf de voorkant of vanaf de zijkant, van de kamer. Maar ik weet niet hoe ik de Model View-functie moet starten. Ik denk dat om te wachten tot de functie is gesloten, je gewoon een "RunCommand" hoeft te doen, het is zeker mogelijk met "DoEvents", maar ingewikkelder, nietwaar?

Hieronder is de schets van de macro die ik zou willen:

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

 

Ik hoop dat ik duidelijk ben geweest . Kortom, mijn laatste verzoek is om de oxy-cuts van mijn bedrijf te maken, niet al het plaatwerk is met hetzelfde plan gemaakt, dus ik moet de gebruiker het juiste plan laten kiezen om niet te eindigen met een 6x2000 flat in plaats van 500x2000 dikte 6.

 

Met vriendelijke groet, Mandrake.

Kleine code-updates, hier zijn de regels die ik nodig heb, maar ik krijg mijn Loop niet aan de praat.

 

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