机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 23790|回复: 30

SolidWorks工程图格式装换宏

[复制链接]
发表于 2020-10-25 11:36:01 | 显示全部楼层 |阅读模式
本帖最后由 yemao7758 于 2020-10-25 11:39 编辑 0 b8 F0 K( V/ {% T6 N3 g+ i

$ c- m" T  ^% W" n, f* F网上找了一个工程图转换PDF的宏文件,根据自己的需求改了一个版本,做了个界面,可以装换多种格式,并存放到一个新建文件夹中,相关说明可以见宏程序界面
9 U6 k+ o' u5 g; u' [% Q" @

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x

评分

参与人数 1威望 +1 收起 理由
大白小白 + 1 谢谢分享

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2022-5-20 14:50:34 | 显示全部楼层
不知道有没有用这个,有使用过的可以反馈一下。目前版本有更新。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
回复 支持 反对

使用道具 举报

发表于 2020-10-25 15:53:03 | 显示全部楼层
这个必须支持一下,
回复 支持 反对

使用道具 举报

发表于 2020-10-25 16:48:25 | 显示全部楼层
SW里面本身就带各种格式保存的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-25 19:35:45 | 显示全部楼层
展翅飞翔2018 发表于 2020-10-25 16:48; v. M  s; \+ K6 U; |& t2 H
SW里面本身就带各种格式保存的

# e6 L% q. r* p6 I, k! A* }7 H+ q我这个用的也就是SW自己的格式保存,就是实现批量转换的功能,节省时间
$ _7 v  I! h% B, ?
回复 支持 反对

使用道具 举报

发表于 2020-10-25 21:15:59 | 显示全部楼层
能否说明下怎样使用
回复 支持 反对

使用道具 举报

发表于 2020-10-26 08:22:46 | 显示全部楼层
高逼格应用
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-26 08:36:10 | 显示全部楼层
cxc0701 发表于 2020-10-25 21:15
; {5 J& t  [* ~  I7 E' L$ P能否说明下怎样使用

1 u* P% F: ~! a' L/ H- l说明已经写在边上了!; G$ A! Z/ F- k1 ?+ P3 B
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-26 08:38:29 | 显示全部楼层
cxc0701 发表于 2020-10-25 21:15) l8 B$ N& N1 u; _8 Q9 _2 x6 p
能否说明下怎样使用
- W* J" v; X: q
这是个宏程序,用SW宏功能打开,也可以生成一个自定义宏按钮
/ z. B4 N  o0 f  d0 T, S! ~8 L6 m6 K
回复 支持 反对

使用道具 举报

发表于 2020-10-26 08:50:28 | 显示全部楼层
下载体验下
回复 支持 反对

使用道具 举报

发表于 2020-10-26 09:10:36 | 显示全部楼层
SOLIDWORKS Task Schedular我试了,根本动不了,自己也倒腾了个宏,功能是工程图转换成PDF和DWG文件,操作是,工具---》宏----》新建----》把下面的代码复制进去----》存到硬盘某个位置----》,调用的时候是,工具----》宏---》运行,当然也可以自定义到SW的工具栏上,宏文件源代码如下需要的拿去,:
* U6 J: E" Q& e( y+ WDim swApp As Object4 m" I' S: m9 T* V" K9 c, p9 i
Dim Part As Object
. V8 a2 c+ I6 O, Y' H9 ?: HDim boolstatus As Boolean
% b1 l5 n! ?& d7 l1 |Dim longstatus As Long, longwarnings As Long
& y! y+ Q+ w6 _+ h8 O/ }9 fDim PathStr As String( i. A( H/ R, C! Q
Dim FName(500) As String, FNum As Long' o7 v0 R6 J7 Q1 w4 g0 Q7 a

9 S" m$ q3 U/ i( X# H) BSub main()5 P6 H7 s2 }* o" u
Dim i As Long
7 K$ a) ~- E+ h8 O+ }' hDim PathStr0 As String, PathStr1 As String/ T* K. h: r, l
Dim PathStr2 As String, PathStr3 As String, PathStr4 As String, PahtStr5 As String
' k; G( i, z8 m/ RDim L As Long, L1 As Long
; D" {! c6 R" d, l% IPathStr = InputBox("请输入需要转的工程图所在位置")
2 P! }: x' z; z3 C6 M2 s$ y% u0 RCall Showfilelist(PathStr)6 \9 V1 S( ?$ T, b' A
Set swApp = Application.SldWorks
" L1 {  {2 W+ ?  c8 T# d; a+ F) x) ]6 R
For i = 0 To FNum - 1
3 V6 a% N; g0 V0 y    PathStr0 = PathStr & "\" & FName(i)
. L' U6 x. {* z/ T    Set Part = swApp.OpenDoc6(PathStr0, 3, 0, "", longstatus, longwarnings)
) T7 V& K- r; q' T; x; ^3 B( {    L = Len(PathStr0)
7 r: [# Q' \) T- ^7 r    PathStr1 = Left(PathStr0, L - 7) & ".DWG"/ \9 R7 F/ E$ I  a
    PathStr2 = Left(PathStr0, L - 7) & ".PDF"# U7 j1 i+ O4 n4 R
    longstatus = Part.SaveAs3(PathStr1, 0, 0)
$ Z0 i* D$ Y, X+ f    longstatus = Part.SaveAs3(PathStr2, 0, 0)* |5 x) q9 L" V. z
    % b! N8 F* x4 ~0 J- Y0 A( j% C
    Set Part = Nothing+ y5 a* y" l4 D
    / [4 C7 R3 I  Z) _
    L1 = Len(FName(i))- x) P* \3 W% j1 @) ?5 B+ I
    PathStr3 = Left(FName(i), L1 - 7) & " - 图纸1"- S" l) x5 d7 i0 c) ?* O! G+ P
    PathStr4 = Left(FName(i), L1 - 7) & " - 图纸2"0 V( G1 Q9 G4 L. {/ c0 ^
    PathStr5 = Left(FName(i), L1 - 7) & " - 图纸3"" [" ^0 ?6 D6 e6 n, _1 Y
    6 ~7 o: V. V& d: E& x- k
    swApp.CloseDoc PathStr3" x; G' t+ H0 S3 t7 u9 t% }
    swApp.CloseDoc PathStr4
# N. d9 R; J. o) E. P/ j    swApp.CloseDoc PathStr5& k. g5 |3 D  K* {# c
/ z9 ^& t$ ^& z: l8 @
Next i, D4 s6 t7 u  k
6 f8 p6 G" G) M2 o2 p+ V
End Sub- s5 h! V4 @# b7 }, g
# T! \. i! n3 {& Y5 Q
Private Sub Showfilelist(folderspec As String), m0 D, C+ r2 V& A0 }
     Dim fs, f, f1, fc, s
8 q- @, s) N- d- Q     Set fs = CreateObject("Scripting.FileSystemObject")
6 R/ {1 `" K5 S6 Q     Set f = fs.GetFolder(folderspec)
. K' l* m" e/ V" a1 D/ ^     Set fc = f.Files- B& T# ]8 i( r1 p+ }" U
     FNum = 0 '清零
* ^" }$ E- A0 o3 S$ E) m- _! p     For Each f1 In fc; {9 R4 T" D% Q8 `
        If InStr(f1.Name, "SLDDRW") > 0 Then
9 O& |: _: P, C: L            FName(FNum) = f1.Name( H# M1 W3 T' ?' f5 k
            FNum = FNum + 1
; W9 X$ A  F8 c& ~, p        End If
# t- H! I" `4 C     Next
; C% N% }: @( U: M' A. I( u' KEnd Sub
1 J3 [5 ?% }, M8 w0 A) S" q
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-5-15 11:28 , Processed in 0.079765 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表