机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 22623|回复: 30
打印 上一主题 下一主题

SolidWorks工程图格式装换宏

[复制链接]
跳转到指定楼层
1#
发表于 2020-10-25 11:36:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yemao7758 于 2020-10-25 11:39 编辑
0 p6 Y  m6 @5 ]  |4 A- l: R" {3 H# o. ]; d7 U
网上找了一个工程图转换PDF的宏文件,根据自己的需求改了一个版本,做了个界面,可以装换多种格式,并存放到一个新建文件夹中,相关说明可以见宏程序界面0 T% K. c6 n+ B5 w" r

本帖子中包含更多资源

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

x

评分

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

查看全部评分

回复

使用道具 举报

来自 28#
 楼主| 发表于 2022-5-20 14:50:34 | 只看该作者
不知道有没有用这个,有使用过的可以反馈一下。目前版本有更新。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

2#
发表于 2020-10-25 15:53:03 | 只看该作者
这个必须支持一下,
回复 支持 反对

使用道具 举报

3#
发表于 2020-10-25 16:48:25 | 只看该作者
SW里面本身就带各种格式保存的
回复 支持 反对

使用道具 举报

4#
 楼主| 发表于 2020-10-25 19:35:45 | 只看该作者
展翅飞翔2018 发表于 2020-10-25 16:48
3 k8 s8 m( I+ g5 A7 @% I4 N5 [SW里面本身就带各种格式保存的
  }# B7 q3 W! _( Y+ E! \( H6 l5 u
我这个用的也就是SW自己的格式保存,就是实现批量转换的功能,节省时间
! d5 ^/ ~! N% q6 J7 H  f+ P, Z& \
回复 支持 反对

使用道具 举报

5#
发表于 2020-10-25 21:15:59 | 只看该作者
能否说明下怎样使用
回复 支持 反对

使用道具 举报

6#
发表于 2020-10-26 08:22:46 | 只看该作者
高逼格应用
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2020-10-26 08:36:10 | 只看该作者
cxc0701 发表于 2020-10-25 21:15
& z3 R" ?( N7 T, R* G0 r; L& @能否说明下怎样使用

# Z% u' ^+ U0 V' \7 P) Y3 U说明已经写在边上了!
5 ], l& g2 e3 J$ u: i7 s1 p
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2020-10-26 08:38:29 | 只看该作者
cxc0701 发表于 2020-10-25 21:15
$ J, W) _  O' {  A5 z# j! J能否说明下怎样使用

- Z; i! n) a& y1 }0 _1 L0 a7 W这是个宏程序,用SW宏功能打开,也可以生成一个自定义宏按钮: X) W5 P1 j. C8 ^) o
回复 支持 反对

使用道具 举报

9#
发表于 2020-10-26 08:50:28 | 只看该作者
下载体验下
回复 支持 反对

使用道具 举报

10#
发表于 2020-10-26 09:10:36 | 只看该作者
SOLIDWORKS Task Schedular我试了,根本动不了,自己也倒腾了个宏,功能是工程图转换成PDF和DWG文件,操作是,工具---》宏----》新建----》把下面的代码复制进去----》存到硬盘某个位置----》,调用的时候是,工具----》宏---》运行,当然也可以自定义到SW的工具栏上,宏文件源代码如下需要的拿去,:
! x, W# l. z- r$ W1 k6 WDim swApp As Object
6 g/ }, \  u# UDim Part As Object
2 I+ s4 l& V/ I" S0 TDim boolstatus As Boolean
( w: `+ z- r  }0 }2 V. ?- m2 l" U) BDim longstatus As Long, longwarnings As Long
; n# u" d  @  ?4 z9 [# _, IDim PathStr As String3 T% U7 L5 _' A
Dim FName(500) As String, FNum As Long
7 x2 S3 `0 f( f* P' r5 h% G5 X" @9 e9 ?& J: E& a; j2 s
Sub main()
" `' z6 x# S! JDim i As Long9 Y# o+ s$ ?( e5 B0 C9 H8 b
Dim PathStr0 As String, PathStr1 As String
0 A; u: u7 [" r! ^5 `0 I7 \Dim PathStr2 As String, PathStr3 As String, PathStr4 As String, PahtStr5 As String
9 M/ }" M  |7 E1 l$ eDim L As Long, L1 As Long. @# x+ v( a4 K. p/ s! f
PathStr = InputBox("请输入需要转的工程图所在位置")* G4 b: ~  s( |8 E
Call Showfilelist(PathStr)
+ o7 J+ M# U# ZSet swApp = Application.SldWorks& L- E2 a) H0 `
0 J5 K/ P7 P) K& w. o
For i = 0 To FNum - 1* t5 ^% K5 P' W/ T6 m! h
    PathStr0 = PathStr & "\" & FName(i)
. i1 t* H7 b) w1 S! I    Set Part = swApp.OpenDoc6(PathStr0, 3, 0, "", longstatus, longwarnings)1 u# Q! `* J9 [% z" [" d4 f
    L = Len(PathStr0)  d: z) {6 j; |' C
    PathStr1 = Left(PathStr0, L - 7) & ".DWG"! @( l$ b- Z6 L
    PathStr2 = Left(PathStr0, L - 7) & ".PDF"
8 Y$ L  H: q; J! i: n% Y- V    longstatus = Part.SaveAs3(PathStr1, 0, 0)
) L) A% w+ }" W    longstatus = Part.SaveAs3(PathStr2, 0, 0)
' b( v" @8 f* g; {5 ~2 O9 l, K   
5 z* D& \, G$ W: n7 g9 S* r    Set Part = Nothing. Y# C- }- h) a" |% ?# B5 D% n( E! c
    8 W- ?) v9 Z. O( g9 b7 T; A
    L1 = Len(FName(i))
( R: h1 g4 J, T    PathStr3 = Left(FName(i), L1 - 7) & " - 图纸1"
1 x, w# E1 W) S/ k( ~# f    PathStr4 = Left(FName(i), L1 - 7) & " - 图纸2"
" H5 K+ Q3 s# ~    PathStr5 = Left(FName(i), L1 - 7) & " - 图纸3"/ F2 M2 l/ I6 |' D1 T! Z7 p
    ' w) G- ~& S- a3 u/ d/ X) i
    swApp.CloseDoc PathStr3/ {* }/ {. Y0 Q
    swApp.CloseDoc PathStr4* S# |3 [; \  D' o' h
    swApp.CloseDoc PathStr53 c1 @! a" U- v# M0 e

0 b. e" U; t0 I+ {2 n/ ANext i, O/ R0 _$ r1 Z# k: p! ~( ?
) H' }8 j; V- m. Y# {9 j( I
End Sub
. E9 f1 ~, F' m# G  i9 L1 b) y* U/ N8 z0 ?( V
Private Sub Showfilelist(folderspec As String)- v& f+ t! E" v4 M
     Dim fs, f, f1, fc, s
" ?" z; f0 l  ~' {! w: u     Set fs = CreateObject("Scripting.FileSystemObject")7 W/ d$ r1 m3 Q4 v
     Set f = fs.GetFolder(folderspec)$ s) p# f6 A$ g  p
     Set fc = f.Files6 m5 @7 T9 @8 m
     FNum = 0 '清零
& A& W, C$ L# ]     For Each f1 In fc4 v, ?" T% f3 ?' a
        If InStr(f1.Name, "SLDDRW") > 0 Then
3 g3 e& W- l" c) n            FName(FNum) = f1.Name. K; |" `6 V+ X# v# I
            FNum = FNum + 1
9 U1 ]+ U" L9 }6 E6 Y        End If, O& q3 A- Y  m6 {
     Next0 `/ V7 G" i! F# O& v  t
End Sub
! d) k  u& g' t0 _0 ?/ s, [
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-1-9 01:34 , Processed in 0.064362 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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