API : Enregistrer un assemblage sous une part

Bonjour,

 

Je cherche à effectuer une petite macro qui me permet d'enregistrer un ensemble d'assemblage en pièce. Avez vous une idée de la façon dont je peux faire ça ?

Je débute dans le développement sur Solidworks cependant je connais déjà pas mal le langage VB (Vba vbnet ...).

Merci d'avance,

Gautier

Bonjour,

Avez-vous tout simplement essayé par l'enregistrement d'une macro ? Outils/Macro/Enregistrer

Oui et voici le code :

Set swApp = _
Application.SldWorks

Set Part = swApp.ActiveDoc
Set Part = swApp.NewDocument("N:\- bibliotheque solidworks -\base solidworks\pieces_DMI_2011 .prtdot", 0, 0, 0)
swApp.ActivateDoc2 "Pièce5", False, longstatus
Set Part = swApp.ActiveDoc
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 "Ensemble poulie folle.SLDASM", False, longstatus
Set Part = swApp.ActiveDoc
longstatus = Part.SaveAs3("C:\a_travail\Prise depose capot\Ensemble poulie folle.SLDPRT", 0, 0)

Bonjour,

L’instruction à utiliser est le save as classique, avec quelques paramètres :

You can specify additional Save As options using ISldWorks::SetUserPreferenceIntegerValue. For example:

' Save assembly as multibody part and save exterior faces as surface bodies

swApp.SetUserPreferenceIntegerValue swSaveAssemblyAsPartOptions, swSaveAsmAsPart_ExteriorFaces swModelDocExt.SaveAs "H:\Assem1.SLDPRT", swSaveAsCurrentVersion, swSaveAsOptions_Silent, Nothing, nErrors, nWarnings

- or -

' Save all drawing sheets in active drawing document as an eDrawings file

swApp.SetUserPreferenceIntegerValue swEdrawingsSaveAsSelectionOption, swEdrawingSaveAll swModelDocExt.SaveAs "H:\Grid.edrw", swSaveAsCurrentVersion, swSaveAsOptions_Silent, Nothing, nErrors, nWarnings

Source :

http://help.solidworks.com/2012/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IModelDocExtension~SaveAs.html

Un exemple est disponible ici :

https://forum.solidworks.com/servlet/JiveServlet/download/291777-83609/Save%20Assy%20As%20Part%20(Exterior%20Surfaces).zip

3 « J'aime »

Super merci c'est exactement ce qu'il me fallait.

Je vais pouvoir commencer ;)

Par contre petite question :

Pourquoi le code :

Application.FileDialog(msoFileDialogFolderPicker).Show

 

Ne fonctionne pas ?

 

Il me permet de selectionner un dossier pour sélectionner un ensemble de fichier.