Bonjour,
je m'explique plus en détail sur la question,
je voudrais créer une macro qui me fasse la mise en plan de mon assemblage actif, sur une mise en plan modéle qui a des vue prédéfini,
qui par la suite l'enregistre en DWG et ensuite referme la MEP sans l'enregistrer,
en temps normal lorsque je fais "créer mise en plan à partir de" et que je sélectionne le modéle de MEP,cela me mets bien mes vues, hors là lorsque j'utilise l'enregistreur de macro et que je l'éxécute aucune vues de mon 3D sur la MEP,
voici l'ébauche de la macro:
-----------------------------------------------------------------------
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.ActiveDoc
Set Part = swApp.NewDocument("V:\BE\Cartouches\Mise en plan DWG.drwdot", 12, 0.21, 0.297)
Part.ViewZoomtofit2
Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1
Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1
Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1
Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1
Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1
Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1
Part.ViewZoomtofit2
longstatus = Part.SaveAs3("C:\Users\j-delepine\Desktop\Test DWG\à renommer.DWG", 0, 0)
boolstatus = Part.Extension.SelectByID2("Dessin", "SHEET", 0.236201718247981, 0.158738777908343, 0, False, 0, Nothing, 0)
Part.ClearSelection2 True
Set Part = Nothing
swApp.CloseDoc "à renommer - Dessin"
Set Part = swApp.ActiveDoc
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameLeft = 0
myModelView.FrameTop = 0
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
swApp.ActivateDoc2 "part", False, longstatus
Set Part = swApp.ActiveDoc
End Sub
-----------------------------------------------------------------------------
Merci d'avance pour vos réponses
PS: je ne suis pas complétement débutant en VBA, mais je ne sais pas tout :)