Macro créer mise en plan d'un assemblage puis DWG

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 :)

Bonjour,

J'ai trouvé une macro qui fait la même chose. Il est conseillé de s'inspirer d'un code existant pour créer des macros lorsqu'on n'est pas expert ! Edit : la macro est en pièce jointe en bas de ce message.

D'autres infos intéressantes sur les instructions à utiliser :

https://forum.solidworks.com/thread/28202

Sinon, j'ai aussi trouvé cet utilitaire : http://amcbridge.com/?q=Drawing.Works

Mais si le développement de la macro est en cours, mieux vaut se concentrer sur le premier lien.


auto-create_drawing_from_model.zip
1 « J'aime »