机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 23073|回复: 30

SolidWorks工程图格式装换宏

[复制链接]
发表于 2020-10-25 11:36:01 | 显示全部楼层 |阅读模式
本帖最后由 yemao7758 于 2020-10-25 11:39 编辑 & ?: V  U' r7 I& \, @

% B6 j: U$ n5 h8 N4 ^网上找了一个工程图转换PDF的宏文件,根据自己的需求改了一个版本,做了个界面,可以装换多种格式,并存放到一个新建文件夹中,相关说明可以见宏程序界面
6 c: W: }* d3 o  a% U2 }

本帖子中包含更多资源

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

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
; H; `/ j- D8 D" X0 rSW里面本身就带各种格式保存的
: ?# U+ {& o! q5 m+ O* n- q9 q- ^7 n
我这个用的也就是SW自己的格式保存,就是实现批量转换的功能,节省时间
3 U/ w( F, P; X5 X* x$ A- x: r
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2020-10-26 08:36:10 | 显示全部楼层
cxc0701 发表于 2020-10-25 21:15
& A, H# z" q9 n5 n9 }能否说明下怎样使用

% s' y, p3 L% ^说明已经写在边上了!. |" }2 M' h# A1 k9 w& s; l
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-26 08:38:29 | 显示全部楼层
cxc0701 发表于 2020-10-25 21:15
+ f; [, A+ P# n8 w" |能否说明下怎样使用
% j+ B8 l! x7 |6 ]
这是个宏程序,用SW宏功能打开,也可以生成一个自定义宏按钮
  _7 x  |; q: S! D5 x) E8 h) {
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2020-10-26 09:10:36 | 显示全部楼层
SOLIDWORKS Task Schedular我试了,根本动不了,自己也倒腾了个宏,功能是工程图转换成PDF和DWG文件,操作是,工具---》宏----》新建----》把下面的代码复制进去----》存到硬盘某个位置----》,调用的时候是,工具----》宏---》运行,当然也可以自定义到SW的工具栏上,宏文件源代码如下需要的拿去,:
/ k  |+ z' G, m( S- o' R" \/ r7 tDim swApp As Object) i, E4 |8 v) _1 Q
Dim Part As Object  C) ]' H7 F: g, E3 m# s$ H9 Z0 u
Dim boolstatus As Boolean
" [  [& j  J5 r* J3 IDim longstatus As Long, longwarnings As Long5 h& x: y) H) O
Dim PathStr As String
9 H: x" s" ]- jDim FName(500) As String, FNum As Long5 Q1 L- K5 v. K" S0 u+ {

' `1 x. f' T; i5 ?6 H6 u; \* iSub main()2 [+ T( L" J' W$ h
Dim i As Long" `  |! D7 V+ F. i* n( e4 j3 P$ V1 G" q
Dim PathStr0 As String, PathStr1 As String
2 j' ^, K! O4 F7 ?5 sDim PathStr2 As String, PathStr3 As String, PathStr4 As String, PahtStr5 As String
4 G: O0 w/ ]2 `1 ?+ ^% YDim L As Long, L1 As Long
& ~. }$ m' ~; D+ y2 @PathStr = InputBox("请输入需要转的工程图所在位置")# f; O# t6 @# t
Call Showfilelist(PathStr)
/ a# B! `* k7 m$ OSet swApp = Application.SldWorks8 S- R+ v, Q9 w

0 o, z5 _. O3 Z6 O/ U( c6 KFor i = 0 To FNum - 11 `* f0 e' [! ^8 P/ c5 [! |* ]
    PathStr0 = PathStr & "\" & FName(i)+ x; a& L" d% o
    Set Part = swApp.OpenDoc6(PathStr0, 3, 0, "", longstatus, longwarnings)5 C3 C/ T9 f/ Q& |
    L = Len(PathStr0)
1 k0 {% g2 `4 U) A+ C2 I+ e! s    PathStr1 = Left(PathStr0, L - 7) & ".DWG"
. d5 l% c7 U) E: s    PathStr2 = Left(PathStr0, L - 7) & ".PDF"
6 z: z6 ^/ |6 P: q1 `    longstatus = Part.SaveAs3(PathStr1, 0, 0)5 ]2 _9 z6 G" y, x% i
    longstatus = Part.SaveAs3(PathStr2, 0, 0)& A2 z- [% D2 B+ ^! @2 s: {
    2 _& R3 B  G+ ]0 u
    Set Part = Nothing1 R  G6 |7 O2 g' y  ~2 I
    6 K" G  [- R0 s  {& r8 [
    L1 = Len(FName(i))
. d/ H) F: t; I- p9 q; R/ o3 d  ?    PathStr3 = Left(FName(i), L1 - 7) & " - 图纸1"
! g3 @5 }/ T7 E# J' L- C    PathStr4 = Left(FName(i), L1 - 7) & " - 图纸2"
' y0 B+ O7 k$ E! O    PathStr5 = Left(FName(i), L1 - 7) & " - 图纸3"
7 {7 p8 Z* y. u' _) A' P9 t   
' z* l# _6 o0 t! {) k$ R    swApp.CloseDoc PathStr3
4 {' n9 J8 ?; u7 C0 s    swApp.CloseDoc PathStr4+ U! G- k$ u5 O, ^- y
    swApp.CloseDoc PathStr58 c  D1 q8 x* h; E0 g; d6 P% x
7 c3 S2 T! E& m
Next i
: _/ A) F8 `) q" w4 k  X) K+ W, l0 i+ G# L
End Sub
7 Y8 G9 U5 q, {3 I! ^. n" r0 r
9 d. I8 f. Q, l2 k1 j" A5 k. \9 _) EPrivate Sub Showfilelist(folderspec As String)6 {: U% }9 {" n, L, t* M' L# {
     Dim fs, f, f1, fc, s
9 Z" d1 U0 B8 \; L6 W2 ^" ]. i     Set fs = CreateObject("Scripting.FileSystemObject")
, I% r! k( R& K" i     Set f = fs.GetFolder(folderspec)9 g, `5 t* L% n" A" P& }! ?8 F3 p
     Set fc = f.Files+ h) h% `, T$ Y" v' h6 Z3 N& f8 f
     FNum = 0 '清零
! ?4 \6 P- d2 L) Z6 D# Q( K& e     For Each f1 In fc
! X7 S7 _4 d* b$ Z        If InStr(f1.Name, "SLDDRW") > 0 Then1 h. Y; {+ w" o/ q$ F1 x
            FName(FNum) = f1.Name
6 f. p) M# P6 ~$ r; d/ S            FNum = FNum + 1. Q3 b/ ]/ q8 A* D) a/ g7 u
        End If5 ~# M& @. b5 |+ ]
     Next
/ U( R5 V, q+ [6 C( }: K; n- @$ lEnd Sub8 F! U: o/ w. x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-25 13:47 , Processed in 0.069224 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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