API: Save an assembly as a part

Hello

 

I'm looking to perform a small macro that allows me to save a set of assembly in parts. Do you have any idea how I can do that?

I'm new to Solidworks development, however, I already know a lot of the VB language (Vba, vbnet, ...).

Thanks in advance,

Gautier

Hello

Have you just tried recording a macro? Tools/Macro/Save

Yes and here's the code:

Set swApp = _
Application.SldWorks

Set Part = swApp.ActiveDoc
Set Part = swApp.NewDocument("N:\- solidworks library -\base solidworks\pieces_DMI_2011 .prtdot", 0, 0, 0)
swApp.ActivateDoc2 "Part5", 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 "Idler pulley assembly. SLDASM", False, longstatus
Set Part = swApp.ActiveDoc
longstatus = Part.SaveAs3("C:\a_travail\Cover removal socket\Idler pulley assembly. SLDPRT", 0, 0)

Hello

The statement to use is the classic save as, with a few parameters:

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

-gold-

' 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

Spring:

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

An example is available here:

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

3 Likes

Great thank you, that's exactly what I needed.

I will be able to start ;)

On the other hand, a small question:

Why Code:

Application.FileDialog(msoFileDialogFolderPicker). Show

 

Not working?

 

It allows me to select a folder to select a set of files.