机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 20359|回复: 30

SolidWorks工程图格式装换宏

[复制链接]
发表于 2020-10-25 11:36:01 | 显示全部楼层 |阅读模式
本帖最后由 yemao7758 于 2020-10-25 11:39 编辑
1 S& A$ H2 ^9 b# V* D( E1 V8 @" j
网上找了一个工程图转换PDF的宏文件,根据自己的需求改了一个版本,做了个界面,可以装换多种格式,并存放到一个新建文件夹中,相关说明可以见宏程序界面
7 B. [( o' N- ~& d$ v

本帖子中包含更多资源

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

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
# P% j4 L& Z9 t4 t- h  r/ ]8 g2 ^SW里面本身就带各种格式保存的
" Z  S7 V4 }, b4 S$ @7 |! @4 R
我这个用的也就是SW自己的格式保存,就是实现批量转换的功能,节省时间
! A. ?' Y0 u* b' x6 Y3 ?# e% G! e6 Y
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2020-10-26 08:36:10 | 显示全部楼层
cxc0701 发表于 2020-10-25 21:15
. ?: `7 H3 Q* J  r能否说明下怎样使用
& N0 F, B8 }" o( {
说明已经写在边上了!' |  K* Q: U" f( S7 `
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-26 08:38:29 | 显示全部楼层
cxc0701 发表于 2020-10-25 21:154 y# B' \5 e5 Y. U7 O) p" \+ g* n
能否说明下怎样使用
0 z+ Y# X  k3 k. O$ `7 L
这是个宏程序,用SW宏功能打开,也可以生成一个自定义宏按钮
  ?0 t- W' b$ y4 g- d
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2020-10-26 09:10:36 | 显示全部楼层
SOLIDWORKS Task Schedular我试了,根本动不了,自己也倒腾了个宏,功能是工程图转换成PDF和DWG文件,操作是,工具---》宏----》新建----》把下面的代码复制进去----》存到硬盘某个位置----》,调用的时候是,工具----》宏---》运行,当然也可以自定义到SW的工具栏上,宏文件源代码如下需要的拿去,:
- ^! o- @) b. h" U- \Dim swApp As Object8 C" k* a6 X) q/ M  w! u/ l1 [+ ^; i
Dim Part As Object& j; J! @9 X6 o# F7 L; K
Dim boolstatus As Boolean
9 t& H! r1 Z% `) o# TDim longstatus As Long, longwarnings As Long6 I6 R8 @  i, q/ ]
Dim PathStr As String
2 G, k0 d# X! n( H8 P0 G' X+ F8 CDim FName(500) As String, FNum As Long
& K2 n# f3 q# X. G0 B7 v! T3 l( ?
Sub main()' b/ ]3 l4 d6 C( C/ j. ?
Dim i As Long
( t, @# c1 z7 [9 ]8 k5 BDim PathStr0 As String, PathStr1 As String: E, h5 c1 x7 l9 F. |$ ?0 Y! y
Dim PathStr2 As String, PathStr3 As String, PathStr4 As String, PahtStr5 As String! I0 X6 v: Q( p( C8 C
Dim L As Long, L1 As Long
$ q3 C' y0 K; E! |5 {' }/ Q9 CPathStr = InputBox("请输入需要转的工程图所在位置")# l  [) Z1 u$ o
Call Showfilelist(PathStr)  j5 n1 H# f3 W9 T4 D
Set swApp = Application.SldWorks; r) B- O" j3 v: F

) _5 O$ k; H' F* k+ k5 WFor i = 0 To FNum - 1
$ |. O( q8 u/ }' \  u' V7 ?    PathStr0 = PathStr & "\" & FName(i)
; k0 P8 a3 b0 G    Set Part = swApp.OpenDoc6(PathStr0, 3, 0, "", longstatus, longwarnings)
$ h; o- Q* z" a) n    L = Len(PathStr0)
* x/ p! r; U5 @7 \+ T6 [; U    PathStr1 = Left(PathStr0, L - 7) & ".DWG"
* x/ m5 J' B( r: |$ T    PathStr2 = Left(PathStr0, L - 7) & ".PDF"; o$ h! T2 D' n1 v1 x3 {7 U
    longstatus = Part.SaveAs3(PathStr1, 0, 0): P+ L$ Z) H; @
    longstatus = Part.SaveAs3(PathStr2, 0, 0)
1 x4 O! p7 Z% k: V2 j) C   
0 B, u/ O8 U9 }* C* Q( a- V6 b    Set Part = Nothing2 W" X& O/ V/ \6 a8 F
    : J! ~9 V0 `) r6 U6 U9 P
    L1 = Len(FName(i))
9 h6 b$ {# w9 H& T$ n  _1 `; E    PathStr3 = Left(FName(i), L1 - 7) & " - 图纸1"
$ ]7 F' u: B5 W$ ]    PathStr4 = Left(FName(i), L1 - 7) & " - 图纸2"% N5 v2 v0 u; m1 T) w6 G$ F
    PathStr5 = Left(FName(i), L1 - 7) & " - 图纸3"
' J: k3 ?" c, w0 @! |    : ]0 k. p2 N5 x* k$ v0 w! {
    swApp.CloseDoc PathStr3
( m+ c& [- \' [    swApp.CloseDoc PathStr4! j1 A% c0 n, o6 {
    swApp.CloseDoc PathStr5
$ t1 k, N( k$ S5 D
1 R7 t0 Z  @5 D3 n$ BNext i
6 d7 x' I- M9 v! r. T/ N' Z
1 Y. v$ ?1 F$ KEnd Sub+ o: J7 s& R. W* S" R5 b
5 r1 ?$ @9 s4 J, A
Private Sub Showfilelist(folderspec As String)8 Y  `  ~/ m+ k7 T( b
     Dim fs, f, f1, fc, s+ ^6 l% w5 N  ?* @
     Set fs = CreateObject("Scripting.FileSystemObject")
- g0 X" K* z( h" p  Z     Set f = fs.GetFolder(folderspec)1 Y$ D8 Z- _$ p
     Set fc = f.Files
" G+ p/ m1 D, T& f  |& ?     FNum = 0 '清零
+ @& y; m7 C9 t3 J" L/ e' p* M  w# L     For Each f1 In fc
; E: V( m; [4 _1 ^" @7 n$ u7 H        If InStr(f1.Name, "SLDDRW") > 0 Then
0 m$ D* C3 x  r" A3 |5 H! y( ?            FName(FNum) = f1.Name9 p3 G7 Q; |& L) i
            FNum = FNum + 18 m) E$ g+ ]) m3 \& j' N
        End If
5 O! b1 `7 D1 S2 b) _     Next
' K2 J, b) z2 p/ UEnd Sub, r; V& F- K" b1 g& t# \
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 18:07 , Processed in 0.064708 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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