yemao7758 发表于 2020-10-25 11:36:01

SolidWorks工程图格式装换宏

本帖最后由 yemao7758 于 2020-10-25 11:39 编辑

网上找了一个工程图转换PDF的宏文件,根据自己的需求改了一个版本,做了个界面,可以装换多种格式,并存放到一个新建文件夹中,相关说明可以见宏程序界面

yemao7758 发表于 2022-5-20 14:50:34

不知道有没有用这个:lol,有使用过的可以反馈一下。目前版本有更新。

冷月梧桐 发表于 2020-10-25 15:53:03

这个必须支持一下,

展翅飞翔2018 发表于 2020-10-25 16:48:25

SW里面本身就带各种格式保存的

yemao7758 发表于 2020-10-25 19:35:45

展翅飞翔2018 发表于 2020-10-25 16:48
SW里面本身就带各种格式保存的

我这个用的也就是SW自己的格式保存,就是实现批量转换的功能,节省时间

cxc0701 发表于 2020-10-25 21:15:59

能否说明下怎样使用

向宏 发表于 2020-10-26 08:22:46

高逼格应用

yemao7758 发表于 2020-10-26 08:36:10

cxc0701 发表于 2020-10-25 21:15
能否说明下怎样使用

说明已经写在边上了!:loveliness:

yemao7758 发表于 2020-10-26 08:38:29

cxc0701 发表于 2020-10-25 21:15
能否说明下怎样使用

这是个宏程序,用SW宏功能打开,也可以生成一个自定义宏按钮

simonwei 发表于 2020-10-26 08:50:28

下载体验下

寰宇无人 发表于 2020-10-26 09:10:36

SOLIDWORKS Task Schedular我试了,根本动不了,自己也倒腾了个宏,功能是工程图转换成PDF和DWG文件,操作是,工具---》宏----》新建----》把下面的代码复制进去----》存到硬盘某个位置----》,调用的时候是,工具----》宏---》运行,当然也可以自定义到SW的工具栏上,宏文件源代码如下需要的拿去,:
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim PathStr As String
Dim FName(500) As String, FNum As Long

Sub main()
Dim i As Long
Dim PathStr0 As String, PathStr1 As String
Dim PathStr2 As String, PathStr3 As String, PathStr4 As String, PahtStr5 As String
Dim L As Long, L1 As Long
PathStr = InputBox("请输入需要转的工程图所在位置")
Call Showfilelist(PathStr)
Set swApp = Application.SldWorks

For i = 0 To FNum - 1
    PathStr0 = PathStr & "\" & FName(i)
    Set Part = swApp.OpenDoc6(PathStr0, 3, 0, "", longstatus, longwarnings)
    L = Len(PathStr0)
    PathStr1 = Left(PathStr0, L - 7) & ".DWG"
    PathStr2 = Left(PathStr0, L - 7) & ".PDF"
    longstatus = Part.SaveAs3(PathStr1, 0, 0)
    longstatus = Part.SaveAs3(PathStr2, 0, 0)
   
    Set Part = Nothing
   
    L1 = Len(FName(i))
    PathStr3 = Left(FName(i), L1 - 7) & " - 图纸1"
    PathStr4 = Left(FName(i), L1 - 7) & " - 图纸2"
    PathStr5 = Left(FName(i), L1 - 7) & " - 图纸3"
   
    swApp.CloseDoc PathStr3
    swApp.CloseDoc PathStr4
    swApp.CloseDoc PathStr5

Next i

End Sub

Private Sub Showfilelist(folderspec As String)
   Dim fs, f, f1, fc, s
   Set fs = CreateObject("Scripting.FileSystemObject")
   Set f = fs.GetFolder(folderspec)
   Set fc = f.Files
   FNum = 0 '清零
   For Each f1 In fc
      If InStr(f1.Name, "SLDDRW") > 0 Then
            FName(FNum) = f1.Name
            FNum = FNum + 1
      End If
   Next
End Sub
页: [1] 2 3 4
查看完整版本: SolidWorks工程图格式装换宏