iCAx开思网

标题: solidworks宏:工程图状态时同时保存当前图纸的PDF/DWG/STEP [打印本页]

作者: chenbobo    时间: 2020-4-26 11:45
标题: solidworks宏:工程图状态时同时保存当前图纸的PDF/DWG/STEP
本帖最后由 gt.adan 于 2022-8-10 21:14 编辑

很久没有上来了,最近想偷懒,
因为每次都要提供以下三种格式的文件给到加工那边,太麻烦了,所以在网上东抄西抄的凑了一个东西出来,大家可以交流一下
PDF/DWG/STEP

附件里的另外几个是单功能的宏,都可以在SW中增加宏按钮以提高效率,注意要编辑一下相关路径

注意事项:
1.每次运行是会覆盖原来生成的这三种格式的文件的,并且不提示
2.使用前编辑宏,修改以下路径为你自己的路径,并在该路径下创建此记事本
       strFile = "D:\YDL\STEP-DWG-PDF保存路径.txt"
3.只会生成当前图纸对应配置的文件,零件其他配置不作处理4.必须在打开工程图的状态下运行这个宏




补充内容 (2020-5-6 17:38):

更新了宏,文件 在3楼

补充内容 (2020-5-8 19:47):

2020-05-08更新在5楼

补充内容 (2020-6-22 17:55):
最新更新在17楼

补充内容 (2020-6-27 11:53):
20200227 更新在22楼

补充内容 (2020-6-27 11:54):
再次更新在22楼

补充内容 (2022-8-10 14:03):
升级更新后的宏已发到这个贴子,这里的宏是旧的了
请点击下面链接查看交流
www.icax.org/thread-1263298-1-1.html

作者: FINDADAY    时间: 2020-5-2 21:44
是分开转换的???
作者: chenbobo    时间: 2020-5-3 23:00
本帖最后由 gt.adan 于 2022-8-10 21:16 编辑

说明:
本人在此论坛上抄袭了好多大大的代码,照搬生成了这个宏,交流学习一下
请注意,在formactive里有一些自定义的信息,试用前请修改一下,谢谢

请下载YDL.ZIP,并解压到D盘的根目录,解压后为:  D:\YDL

本宏用途说明:
1.用于新建零件后进行按制定的规则进行编号命名并保存到“保存路径”中的文件夹中,其他相关生成的文件也会保存在该文件夹
2.同一零件的sldprt文件必须与slddrw文件名必须相同,并且在相同的文件夹内
3.运行此宏时请关闭原来打开的窗口,比如你打开了零件A,并且同时也打开了零件A的工程图,宏会出错,
           在零件中运行宏时请在sw中关闭它对应的工程图,在工程图中运行此宏时请关闭它对应的零件文件
4.可以在sldprt的状态下直接生成相关的pdf/dwg/step,具体参见图上的按钮
5.可以在slddrw的状态下直接生成相关的pdf/dwg/step
6.可以在装配中遍历生成相关的pdf/dwg/step,方便成套图纸打印
7.可以对装配体的零件随机进行上色处理
8.可以对装配体里的使用的零件的配置名称进行修改(注意,现在尚不能同步修改相关工程图里的配置名称,在修改配置后要手动打开工程图修改关联的配置)
9.直接在零件的自定义属性配置里增加“Material”和"Number"这两栏,并填写相关的信息,可在零件文件中或工程图中直接更新

其他功能后续再更新
随机上色的效果图
两次运行的效果 [attach]1271025[/attach][attach]1271026[/attach]




补充内容 (2022-8-10 14:04):
升级更新后的宏已发到这个贴子,这里的宏是旧的了
请点击下面链接查看交流
www.icax.org/thread-1263298-1-1.html

作者: chenbobo    时间: 2020-5-6 17:37
更新了宏,文件 在3楼
作者: chenbobo    时间: 2020-5-8 19:46
本帖最后由 gt.adan 于 2022-8-10 21:17 编辑
chenbobo 发表于 2020-5-6 17:37
更新了宏,文件 在3楼

本宏用途说明:(2020-05-08更新,里面有一些自定义的信息,请自行修改,本宏仅供交流学习)
1.用于新建零件后进行按制定的规则进行编号命名并保存到“保存路径”中的文件夹中,其他相关生成的文件也会保存在该文件夹
2.同一零件的sldprt文件必须与slddrw文件名必须相同,并且在相同的文件夹内
3.运行此宏时请关闭原来打开的窗口,比如你打开了零件A,并且同时也打开了零件A的工程图,宏会出错,
           在零件中运行宏时请在sw中关闭它对应的工程图,在工程图中运行此宏时请关闭它对应的零件文件
4.可以在sldprt的状态下直接生成相关的pdf/dwg/step,具体参见图上的按钮
5.可以在slddrw的状态下直接生成相关的pdf/dwg/step
6.可以在装配中遍历生成相关的pdf/dwg/step,方便成套图纸打印
7.可以对装配体的零件随机进行上色处理
8.可以对装配体里的使用的零件的配置名称进行修改并同步修改相关工程图里的配置名称
9.直接在零件的自定义属性配置里增加“Material”和"Number"这两栏,并填写相关的信息,可在零件文件中或工程图中直接更新
10.在装配体里对点选零件进行重命名,并自动更新对应工程图的参考关系,并修改工程图的名字与零件名字一致

[attach]1271054[/attach]



补充内容 (2022-8-10 14:04):
升级更新后的宏已发到这个贴子,这里的宏是旧的了
请点击下面链接查看交流
www.icax.org/thread-1263298-1-1.html

作者: chenbobo    时间: 2020-5-8 19:47
2020-05-08更新在5楼
作者: chenbobo    时间: 2020-5-14 10:28
chenbobo 发表于 2020-5-8 19:47
2020-05-08更新在5楼

[attach]1271076[/attach]
[attach]1271077[/attach]
增加了一些对装配体进行批量重命名零件并修改关联工程图的零件
增加了在批量在工程图中增加图号的按钮
增加了在顶级装配体里自动生成带缩略图清单的功能
增加了可以在零件、工程图、装配体里随时修改零件的自定义属性(名称、材料、数量)功能
有需要的交流学习吧,本次更新没有上传了

作者: suwenfeng8888    时间: 2020-5-15 15:48
最新的程序能发我看看吗?
作者: chenbobo    时间: 2020-5-17 11:16
suwenfeng8888 发表于 2020-5-15 15:48
最新的程序能发我看看吗?

留个mail吧

作者: peng18067    时间: 2020-5-20 19:21
是分开转换的???
作者: vip0537    时间: 2020-6-7 08:20
chenbobo 发表于 2020-5-14 10:28
增加了一些对装配体进行批量重命名零件并修改关联工程图的零件
增加了在批量在工程图中增加图号的按 ...

是否能给发一份最新的宏程序,谢谢,58533133@qq.com

作者: 冷月梧桐    时间: 2020-6-10 23:18
能直接在SW装配下转上面三种格式不?最好能指定保存路径
作者: 口风琴    时间: 2020-6-12 15:50
chenbobo 发表于 2020-5-17 11:16
留个mail吧

katiboy@foxmail.com 没有大米,能不能发我研究下,谢谢

作者: wangyao201    时间: 2020-6-16 22:08
非常实用,感谢楼主,好好学习希望以后能一起交流.分享使国家更强大
作者: wangyao201    时间: 2020-6-16 22:12
看看呢,实在太多了,大米居然不够了
作者: zctao1966    时间: 2020-6-18 15:26
楼主研究的精神值得学习
作者: chenbobo    时间: 2020-6-22 17:55
本帖最后由 gt.adan 于 2022-8-10 21:18 编辑
zctao1966 发表于 2020-6-18 15:26
楼主研究的精神值得学习

[attach]1271456[/attach]
[attach]1271455[/attach]


修改了一些功能:
1.把原来指定在零件、装配体类型、工程图里打开的命令修改为通用命令,即该命令自动判定当前文件类型,然后再执行相关指令
2.在右下角增加了保存程序设定的命令按钮
3.增加了批量修改图号(即文件名)后,将原来使用的文件名保存到文件的自定义属性中
4.增加了批量修改配置名(会自动以未使用的阿拉伯数字来命名配置)
5.增加了导出清单时选择不导出哪种类型的清单,其他全部导出

其他不明确的请自行打开源码看一下功能吧,懒得说明了,汗~~~,自己用了一个月左右磨合。想在哪里偷懒就补充一点功能的。
不是很系统,仅供参考,
里面有一些自定义的信息,请自行修改或删除
请在尝试使用时复制原来零件作备份,使用中出现问题概不负责。

请将YDL.ZIP里面的记事本解压到d:\ydl\路径下






补充内容 (2022-8-10 14:04):
升级更新后的宏已发到这个贴子,这里的宏是旧的了
请点击下面链接查看交流
www.icax.org/thread-1263298-1-1.html
作者: chenbobo    时间: 2020-6-22 18:01
vip0537 发表于 2020-6-7 08:20
是否能给发一份最新的宏程序,谢谢,

已在17楼更新

作者: chenbobo    时间: 2020-6-22 18:02
suwenfeng8888 发表于 2020-5-15 15:48
最新的程序能发我看看吗?

已在17楼更新

作者: chenbobo    时间: 2020-6-22 18:03
冷月梧桐 发表于 2020-6-10 23:18
能直接在SW装配下转上面三种格式不?最好能指定保存路径

可以的,在装配体里点选零件后(该零件必须处于还原状态),可以直接保存该零件的step/pdf/dwg文件,并且是保存最上面的路径文件夹下面

作者: chenbobo    时间: 2020-6-22 18:06
wangyao201 发表于 2020-6-16 22:12
看看呢,实在太多了,大米居然不够了

放17楼了,不设限制了,可直接下载,相互交流学习,谢谢

作者: chenbobo    时间: 2020-6-27 11:52
本帖最后由 gt.adan 于 2022-8-10 21:15 编辑
  1. '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2. '使用前说明
  3. '本宏在SW2020的环境下开发,本宏为个人使用时按需增加功能,并非特意开发,在使用中不可避免会存在bug,因此本宏仅供交流学习,不对使用者负责,请在备份原有文件后慎重使用
  4. '请将YDL压缩包里的文件解压到d:\ydl\**.txt
  5. '本宏使用时,请修改文件系统,使文件带扩展名显示
  6. '请修改SW配置,打开在设计树中改名的功能选项
  7. '本宏不会处理处于或压缩状态的零部件
  8. '本宏在总装配中遍历时不会处理位于轻化状态中的子装配体中的零件,即使子装配体里的零件处理还原状态
  9. '载入本宏时会载入时在打开的零件中自动添加一些自定义信息,相关信息请自行修改源码
  10. '本宏建议修改工程图模板,在模板中添加文件名,配置名,材料,处理方式,数量等变量来配合本宏使用
  11. '同一零件的sldprt或sldasm文件必须与slddrw文件名必须相同,并且在相同的文件夹内
  12. '运行此宏时请关闭原来打开的窗口,比如你打开了零件A,并且同时也打开了零件A的工程图,宏会出错

  13. '============
  14. '本宏功能说明:
  15. '**------**
  16. '**在零件、装配体、工程图三种状态中打印相应的pdf/dwg/step,如果在装配体中选中了某个零部件,则是输出该零部件的文件,如果未选中任何零件,则输出总装配体的文件
  17. '**在三种状态中直接打印工程图到打印机
  18. '**在装配体中遍历全部零部件,输出相关的pdf/dwg/step文件,方便成套图纸打印
  19. '**在装配体中遍历全部零部件,复制零部件及其工程图到指定文件夹(相当于打包功能),会比SW自带的快
  20. '**------**
  21. '**在装配体中对全部零部件进行随机上色
  22. '**修改在装配体中点选零件的配置名称,并遍历装配体,修改所有使用原配置的零件为新的配置名称,并更新使用该配置的工程图,替换完成后如原配置名称当前没有被使用,会被删除掉
  23. '**可以批处理修改装配体中指定的配置名称,修改后的配置名称为系统自动生成的阿拉伯数字的名字,比如修改所有零件的“默认”配置名为0/1/2/3……,如有需要,请自行修改源码
  24. '**在装配体中批量删除指定名称的自定义信息
  25. '**在工程图状态时,可以批量修改工程图中所有的视图的配置为指定配置
  26. '**直接在零件的自定义属性配置里增加“Material”和"Number"这两栏,并填写相关的信息,可在零件文件中或工程图中直接更新
  27. '**------**
  28. '**在装配体状态时,可以批量导出EXCEL模式的全部清单,可选是否输出零部件的缩略图,在上方的chkbox中不选择的将不会输出,材料为“基本设计配件”的不会输出
  29. '**该清单会自动统计在本装配体中使用的零件数量
  30. '**------**
  31. '**命名后的文件自动保存在“保存路径”中的文件夹内,如果该文件夹不存在,会自动创建
  32. '**按指定格式进行选定零件命名或在装配中批量命名,并同时修改同名工程图并修复关联,是自动以同样的加工类别和机构号进行顺序编号,也就是以增加零件号的方式进行重命名
  33. '**如果已经是按图号规则命名过的零件,比如现在在命名K系列,而装配体中已经命名过B系列的零件将会跳过,例如对比该零件是否以“YDL0126-”开头,是则不再重命名,避免命名了钣金件后再批量重命名时又修改了钣金件名字
  34. '**装配体中批量命名时材料为“标准采购件”的不改名字
  35. '**点击“自动生成编号”将按规则自动生成选定零件或当前装配体所在文件夹里不存在的零件编号,是根据是否点选零件来判定相关路径的
  36. '**装配体中点选文件进行重命名时会自动判定所给名称编号是否存在,或请利用自动生成编号来自动命名
  37. '**------**
  38. '**可以复制点选零件及其工程图在所用文件夹,是根据是否点选零件来判定相关文件夹的,并以“生成编号”文件框中名字自动命名后,打开该零件,本方法可以方便设计类似形状的新零件,比如新建一条不一样长度的导轨
  39. '**在“生成编号”文本框中输入零件全名(不含后缀)可打开该文件,前提是该文件在当前打开文件或点选文件的所在文件夹中存在
  40. '**在零件类型中用本宏重命名零件并保存,如果是新建零件则直接保存,如果是已经存在的,会同步修改关联的工程图的名字并保持关联"

  41. '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
复制代码




补充内容 (2022-8-10 14:03):
升级更新后的宏已发到这个贴子,这里的宏是旧的了
请点击下面链接查看交流
www.icax.org/thread-1263298-1-1.html


补充内容 (2022-8-10 14:05):
升级更新后的宏已发到这个贴子,这里的宏是旧的了
请点击下面链接查看交流
www.icax.org/thread-1263298-1-1.html

作者: makejon    时间: 2020-8-14 13:38
As Excel.Application 找不到工程和库
作者: zhengmo    时间: 2020-8-14 14:31
真不错,功能强大,楼主用心了,下载学习了,谢谢!
作者: 285240263@qq.co    时间: 2020-11-21 16:28
这个真的厉害
作者: cj8510    时间: 2020-11-23 12:13
功能挺多的,用了宏就越来越想用,工具越整越多。
作者: suhuasheng1233    时间: 2020-11-24 09:17
2015不知道行不行,下载来研究一下。
作者: haitianyis    时间: 2020-11-24 13:40
大米不足怎么办
作者: quanshouzhu    时间: 2020-12-10 10:34
能加一个iges吗?
作者: ztao75    时间: 2021-1-9 13:38
不错不错
作者: linkral    时间: 2021-6-5 10:46
chenbobo 发表于 2020-6-27 11:52

谢谢楼主的分享,准备在保存的格式类别中,增加一个CGR格式,
sw对电脑硬件要求太高,只能保存CGR来查看方便点。



作者: ep2708605440    时间: 2021-10-16 10:26

楼主很专业,写得很好!
作者: dreamsboy    时间: 2021-10-19 17:56
谢谢楼主分享。
作者: dreamsboy    时间: 2021-10-19 17:57
这是好东西呀。现在论坛都没落了,感谢楼主还继续在钻研、帮助大家。
作者: chenbobo    时间: 2021-12-25 19:20
quanshouzhu 发表于 2020-12-10 10:34
能加一个iges吗?

'++++++++++++++++++存STEP/PDF/DWG++++++++++++++++++++++++++
                '判定工程图是否存在
                If Dir(strExist & ".SLDDRW") = "" Then GoTo 5
                If strHideSpecific <> 2 Then GoTo 5

                '存STEP
                If chkStep.Value = True Then
                     If chkBoxHanConfig.Value = True Then
                        Olongstatus = ChildModel.SaveAs3(txtPath.Value & strChilename & "-" & "P" & childconfstring & ".STEP", 0, 2)
                    Else
                        Olongstatus = ChildModel.SaveAs3(txtPath.Value & strChilename & ".STEP", 0, 2)
                    End If
                End If

你搜索一下这几个代码,把step,改成IGS就好了,本质上它就是另存为


作者: chenbobo    时间: 2021-12-25 19:21
makejon 发表于 2020-8-14 13:38
As Excel.Application 找不到工程和库

'请引用microsoft excel 15.0(或16.0)object library,
引用中找不到的话从对话框里选择
c:\program files\microsoft office\office15\excel.exe,
或者C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE




作者: chenbobo    时间: 2021-12-25 19:29
冷月梧桐 发表于 2020-6-10 23:18
能直接在SW装配下转上面三种格式不?最好能指定保存路径



它本身开发的第一个目的就是为了在装配体里批量保存这三种格式用的。

[attach]1273479[/attach]

作者: chenbobo    时间: 2021-12-25 19:30
linkral 发表于 2021-6-5 10:46
谢谢楼主的分享,准备在保存的格式类别中,增加一个CGR格式,
sw对电脑硬件要求太高,只能保存CGR来查看 ...

参见35楼回复,修改一下几个字母就好了

作者: qzf1    时间: 2021-12-28 10:23
好好学习
作者: yangbosnihc    时间: 2021-12-29 17:57
sw2020, 不支撑2020以下

作者: magicnie    时间: 2022-3-13 15:53
感谢分享,真的是宝库啊





欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3