macrossolidworks

Macro for Saving Solidworks parts as dxf files


I have to save a lot of dxf files from solidworks to use for a CNC machine.

I'm looking for help to create a macro to save the top view of a part as a .dxf in the same location as the solidworks file is saved.

I would like it to first save the solidworks part, and to replace any existing dxf if there's one with the same name already saved in that location.

I could find macros for drawing files and for sheet metal parts but have been unable to edit these to work for a normal part.

much appreciated if anyone could point me in the right direction.


Solution

  • Try this.

    It will export the top view of the part to dxf

    (Adapted from ExportToDWG2)

    Option Explicit
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swPart As SldWorks.PartDoc
    Dim sModelName As String
    Dim sPathName As String
    Dim varAlignment As Variant
    Dim dataAlignment(11) As Double
    Dim varViews As Variant
    Dim dataViews(0) As String
    Sub main()
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swPart = swModel
    sModelName = swModel.GetPathName
    sPathName = Left(sModelName, Len(sModelName) - 6) & "dxf"
    dataAlignment(0) = 0#
    dataAlignment(1) = 0#
    dataAlignment(2) = 0#
    dataAlignment(3) = 1#
    dataAlignment(4) = 0#
    dataAlignment(5) = 0#
    dataAlignment(6) = 0#
    dataAlignment(7) = 0#
    dataAlignment(8) = -1#
    dataAlignment(9) = 0#
    dataAlignment(10) = 1#
    dataAlignment(11) = 0#
    varAlignment = dataAlignment
    dataViews(0) = "*Top"
    varViews = dataViews
    swPart.ExportToDWG2 sPathName, sModelName, swExportToDWG_e.swExportToDWG_ExportAnnotationViews, True, varAlignment, False, False, 0, varViews
    End Sub