SolidWorks机械工程师网——最大的SolidWorks学习平台

标题: 装配体零部件BOM导出宏(含缩略图、包络尺寸等) [打印本页]

作者: 机制082    时间: 2024-10-2 16:12
标题: 装配体零部件BOM导出宏(含缩略图、包络尺寸等)
SW自带有BOM导出功能,满足一般需求是可以的,但是需要对导出的BOM进行二次编辑,用着总觉得差强人意。今天给大家分享一个BOM导出宏,包含检查零部件是否有工程图的功能、计算零部件包络尺寸功能、导入零部件缩略图功能等。

注:次宏有相对详细的注释,方便大家根据自己需要调整代码。此宏部分代码和代码逻辑来自本论坛!

以下对此宏部分代码和导出的BOM效果进行介绍:
1、调整宏相关代码跟SW模板属性对应。


2、BOM清单调用缩略图、包络尺寸的子程序。


3、BOM清单表头设置的宏代码及检查零部件工程图的效果。


4、BOM导出的效果。


BOM导出.rar (33.58 KB, 下载次数: 165, 售价: 5 金币)




补充内容 (2024-10-9 10:19):
增加了A列序号排序逻辑。附件在41楼。

补充内容 (2024-10-10 10:04):
增加自动把零部件由轻化设置为还原状态。附件在47楼!41楼增加排序逻辑的宏忘记取消密码了,勿下载!

补充内容 (2024-10-22 14:03):
增加了统计零部件数量的功能。附件在60楼!
作者: 机制082    时间: 2024-10-2 22:58


作者: liwenxu    时间: 2024-10-3 01:47
很不错,顶一下!
作者: 3869    时间: 2024-10-3 08:06
感谢楼主分享,很不错!
作者: gfzms2590    时间: 2024-10-3 08:06
SW机械工程师网,找到组织了!
作者: Yemao丶    时间: 2024-10-3 11:32
感谢分享。。
作者: 葛特曼    时间: 2024-10-3 22:46
SW机械工程师网,找到组织了!
作者: hdgd501    时间: 2024-10-4 08:08
楼主辛苦了!感谢楼主分享,很不错!
作者: yni621    时间: 2024-10-4 08:26
感谢楼主分享,很不错!
作者: 沉默的人    时间: 2024-10-4 20:07
感谢楼主分享,很不错!
作者: sunsu168    时间: 2024-10-5 07:45
楼主很专业,写得很好!
作者: panmiao8012    时间: 2024-10-5 07:53
楼主能不能把excel文件做成模板文件,需要导入的内容直接选择这个excel模板文件导入到这个模板文件中吗。这个能实现不!
作者: 机制082    时间: 2024-10-5 15:38
panmiao8012 发表于 2024-10-5 07:53
楼主能不能把excel文件做成模板文件,需要导入的内容直接选择这个excel模板文件导入到这个模板文件中吗。这 ...

可以!一个简单的方案就是在原代码上增加一个子程序,调用模板属性,赋值到设置表头那个子程序对应的值中。当然最好的方案就是根据完整的需求重新写。
作者: VincentLi    时间: 2024-10-5 18:10
楼主,无法打开是怎么回事?
作者: VincentLi    时间: 2024-10-5 18:23
导入不了bom,打开没反应,楼主有解决的招吗

作者: 机制082    时间: 2024-10-6 19:33
VincentLi 发表于 2024-10-5 18:23
导入不了bom,打开没反应,楼主有解决的招吗

装配体要设置为还原,轻化状态下是不能用的。
作者: panmiao8012    时间: 2024-10-7 07:54
机制082 发表于 2024-10-5 15:38
可以!一个简单的方案就是在原代码上增加一个子程序,调用模板属性,赋值到设置表头那个子程序对应的值中 ...

楼主有空时可以搞一个出来不
作者: guo_li    时间: 2024-10-7 08:23
感谢楼主分享,很不错!
作者: jyzas001    时间: 2024-10-7 08:47
感谢楼主分享,很不错!
作者: VincentLi    时间: 2024-10-7 09:29
机制082 发表于 2024-10-6 19:33
装配体要设置为还原,轻化状态下是不能用的。

还原也是没反应,我用的2024,应该跟版本没有关系吧
作者: 机制082    时间: 2024-10-7 10:06
VincentLi 发表于 2024-10-7 09:29
还原也是没反应,我用的2024,应该跟版本没有关系吧

高版本应该没有问题,中间有提示错误吗?
你进入编辑宏,调试看下哪里提示错误。
作者: VincentLi    时间: 2024-10-7 10:07
机制082 发表于 2024-10-7 10:06
高版本应该没有问题,中间有提示错误吗?
你进入编辑宏,调试看下哪里提示错误。

没有错误,也能进入编辑,就是运行没反应!!!谢谢楼主回复
作者: VincentLi    时间: 2024-10-7 10:09
机制082 发表于 2024-10-7 10:06
高版本应该没有问题,中间有提示错误吗?
你进入编辑宏,调试看下哪里提示错误。

谢谢楼主回复,编辑宏没有错误,运行没有反应
作者: 机制082    时间: 2024-10-7 10:19
VincentLi 发表于 2024-10-7 10:09
谢谢楼主回复,编辑宏没有错误,运行没有反应

从主程序开始,逐行调试,找到哪里结束的主程序。我推测是宏中关于模板自定义属性你们按自己的模板调整导致的。


作者: VincentLi    时间: 2024-10-7 10:36
机制082 发表于 2024-10-7 10:19
从主程序开始,逐行调试,找到哪里结束的主程序。我推测是宏中关于模板自定义属性你们按自己的模板调整导 ...

非常感谢,我对VBA是纯小白,楼主可以远程帮我诊断一下吗

作者: VincentLi    时间: 2024-10-7 10:37
机制082 发表于 2024-10-7 10:19
从主程序开始,逐行调试,找到哪里结束的主程序。我推测是宏中关于模板自定义属性你们按自己的模板调整导 ...

谢谢楼主,我是小白,楼主可以远程帮我看看吗
作者: VincentLi    时间: 2024-10-7 10:38
机制082 发表于 2024-10-7 10:19
从主程序开始,逐行调试,找到哪里结束的主程序。我推测是宏中关于模板自定义属性你们按自己的模板调整导 ...

谢谢楼主,楼主可以远程帮我看一下吗。
作者: 机制082    时间: 2024-10-7 10:56
VincentLi 发表于 2024-10-7 10:38
谢谢楼主,楼主可以远程帮我看一下吗。

向日葵授权码私信发我。
作者: dickych    时间: 2024-10-7 15:34
谢谢楼主分享
作者: wangyapeng    时间: 2024-10-8 07:50
子装配设置隐藏识别为零件,仅导出仅限零件可以吗?
作者: liyuyin007    时间: 2024-10-8 08:15
楼主太有才了,膜拜中……
作者: wangyapeng    时间: 2024-10-8 10:45
还是自带的BOM更靠谱
作者: 董东咚    时间: 2024-10-8 10:46
活到老学到老!
作者: xiaomao008    时间: 2024-10-8 15:27
楼主问一下导出只有缩略图和尺寸其他都是空白怎么回事

微信图片编辑_20241008152530.jpg

作者: 机制082    时间: 2024-10-8 15:55
xiaomao008 发表于 2024-10-8 15:27
楼主问一下导出只有缩略图和尺寸其他都是空白怎么回事

代码中这些属性需要更改为你自己模板自定义属性对应的属性。


作者: 机制082    时间: 2024-10-8 15:57
wangyapeng 发表于 2024-10-8 07:50
子装配设置隐藏识别为零件,仅导出仅限零件可以吗?

可以,代码中需要增加过滤,不导出隐藏零件。
作者: 机制082    时间: 2024-10-8 15:59
wangyapeng 发表于 2024-10-8 10:45
还是自带的BOM更靠谱

我们物料编码是纯数字,导出的BOM还要调整BOM格式,并且导出的缩略图尺寸也需要调整,就是不想手动调整了。
作者: 黄火山    时间: 2024-10-8 16:05
感谢楼主分享,很不错!
作者: 董东咚    时间: 2024-10-9 09:36
活到老学到老!
作者: xiaomao008    时间: 2024-10-9 09:58
楼主我怎么序号是乱了怎样可以整理好

微信图片_20241009095713.png

作者: 机制082    时间: 2024-10-9 10:17
xiaomao008 发表于 2024-10-9 09:58
楼主我怎么序号是乱了怎样可以整理好

更新了!增加了排序。
BOM导出.rar (31.61 KB, 下载次数: 104, 售价: 2 金币)







作者: shinvis    时间: 2024-10-9 15:07
楼主太有才了,膜拜中……
作者: 2863027793    时间: 2024-10-9 15:16
sw23没反应
作者: wangyapeng    时间: 2024-10-9 17:46
子装配体设置隐藏,请知悉

IMG_6150.png

作者: sunshine0099    时间: 2024-10-9 21:48

感谢楼主分享,很不错!
作者: lytxt12    时间: 2024-10-9 22:17
感谢大佬的分享,学到了真正有用的内容
作者: 机制082    时间: 2024-10-10 10:02
机制082 发表于 2024-10-9 10:17
更新了!增加了排序。

增加自动了把轻化零部件设置为还原。
BOM导出.rar (27.78 KB, 下载次数: 148)





作者: lockeyye    时间: 2024-10-11 11:42
感谢楼主分享,很不错!
作者: sunsu168    时间: 2024-10-11 14:16
感谢楼主分享,很不错!
作者: 夕梦恋    时间: 2024-10-11 14:21
SW机械工程师网,找到组织了!
作者: caption_cn    时间: 2024-10-11 14:27
这个没数量是硬伤啊
作者: 机制082    时间: 2024-10-11 14:59
caption_cn 发表于 2024-10-11 14:27
这个没数量是硬伤啊

有空加上数量统计的逻辑。
作者: zhangwu    时间: 2024-10-12 08:15
楼主太有才了,膜拜中……
作者: 风雨阳光    时间: 2024-10-12 09:55
SolidWorks机械工程师网,顶一下。
作者: 懒懒的高贵    时间: 2024-10-15 13:54
很不错,顶一下!
作者: wangyapeng    时间: 2024-10-16 00:04
排除明细表、封套是默认不导出BOM的,子装配设置隐藏或提升,导出BOM仅限零件,隐藏是将自身降为零件级,提升是将里面的零部件提升为和父级同级,所以导出BOM仅限零件时会将设置隐藏的装配体视为零件导出而忽略里面的零件,而不是简单的忽略里面的零件
作者: whdong76    时间: 2024-10-16 08:21
楼主太有才了,膜拜中……
作者: richiwei    时间: 2024-10-16 08:57
感谢楼主分享,很不错!
作者: tianxinzhi01    时间: 2024-10-16 18:11
终于找到了这个宏
作者: 机制082    时间: 2024-10-22 14:02
caption_cn 发表于 2024-10-11 14:27
这个没数量是硬伤啊

增加了统计零部件数量的功能。

BOM导出.rar (35.68 KB, 下载次数: 138, 售价: 2 金币)





作者: 机械师218    时间: 2024-10-24 09:45
谢谢分享1111
作者: 机械师218    时间: 2024-10-24 10:54
您好楼主,逐句调试,只能到      If Not SingleComponent.IsSuppressed Then
            Set swDoc = SingleComponent.GetModelDoc()
            ReDim Preserve Rng(Num)
            Rng(Num) = swDoc.GetPathName
            Num = Num + 1
        End If
    Next
从这开始就不能往下进行了,望抽空看一下

调试.png

作者: 豆腐煮鱼    时间: 2024-10-24 14:36
感谢分享 不错
作者: caption_cn    时间: 2024-10-25 10:18
机制082 发表于 2024-10-22 14:02
增加了统计零部件数量的功能。

有个问题 啊,
同一个零件不同配置的给合并到一起了,比如不同长度的同一型号螺钉。
另外,看过程,读的时候似乎就没有区分,外形大小也是一样的。
作者: 机制082    时间: 2024-10-25 10:20
caption_cn 发表于 2024-10-25 10:18
有个问题 啊,
同一个零件不同配置的给合并到一起了,比如不同长度的同一型号螺钉。
另外,看过程,读 ...

是的,只统计默认配置。
作者: liyuyin007    时间: 2024-10-25 10:24
楼主太有才了,膜拜中……
作者: richiwei    时间: 2024-10-25 10:24
感谢楼主分享,很不错!
作者: why2024    时间: 2024-10-26 11:10
楼主辛苦了!
作者: why2024    时间: 2024-10-26 11:40
why2024 发表于 2024-10-26 11:10
楼主辛苦了!

sw20版本,运行无反应。测试文件就两个,配置默认。
作者: 机制082    时间: 2024-10-26 12:32
why2024 发表于 2024-10-26 11:40
sw20版本,运行无反应。测试文件就两个,配置默认。

宏就是2020写的,你把三维文件发出来看看你。
作者: why2024    时间: 2024-10-26 15:36
感谢楼主帮忙看看什么情况?收费版MYTOOL,没有问题。

补充内容 (2024-10-26 16:16):
可能是EXCEL版本问题我的2013

1729927922737.jpg

1729927990347(1).jpg

1729928052041.jpg

测试文件.zip

(1.34 MB, 下载次数: 33


作者: 机制082    时间: 2024-10-26 16:16
why2024 发表于 2024-10-26 15:36
感谢楼主帮忙看看什么情况?收费版MYTOOL,没有问题。

你文件我测试没有问题啊!


作者: why2024    时间: 2024-10-26 16:18
why2024 发表于 2024-10-26 15:36
感谢楼主帮忙看看什么情况?收费版MYTOOL,没有问题。

补充内容 (2024-10-26 16:16):

是excel2013版本问题吗?

1729930648263.jpg

作者: why2024    时间: 2024-10-26 18:15
感谢楼主,已经调试好了就是excel2013 ,引用版本的问题。再次感谢。

102.jpg

作者: why2024    时间: 2024-10-26 18:47
机制082 发表于 2024-10-26 16:16
你文件我测试没有问题啊!

请教楼主,为何材料和单重连接不上?那个属性名称没有对应上?

作者: 机制082    时间: 2024-10-26 21:04
代码引用的是自定义属性,至于怎么修改看原帖。
作者: 442593696    时间: 2024-10-27 11:01
很不错,顶一下!
作者: why2024    时间: 2024-10-28 11:40
机制082 发表于 2024-10-26 21:04
代码引用的是自定义属性,至于怎么修改看原帖。

再次感谢楼主,已经修改模板配置,逐步完善中,
作者: why2024    时间: 2024-10-28 11:42
技术贴,推荐热门置顶
作者: why2024    时间: 2024-10-28 12:15
机制082 发表于 2024-10-25 10:20
是的,只统计默认配置。

楼主再辛苦辛苦,把不同配置也能区分读取,就完美了
作者: 葛特曼    时间: 2024-10-28 21:37
2018无法打开,软件版本不够
作者: 灰太狼1998    时间: 2024-10-30 21:42
楼主太有才了,膜拜中……
作者: cacheram    时间: 2024-11-8 08:47
感谢楼主分享,很不错!
作者: hejunxin888    时间: 2024-11-22 12:32

很不错,顶一下!
作者: hejunxin888    时间: 2024-11-22 12:34
我下载了好几个
作者: 风雨阳光    时间: 2024-11-28 17:24
SolidWorks机械工程师网,顶一下。
作者: 清风博爱    时间: 2024-12-3 09:22
楼主太有才了,膜拜中
作者: 一米八    时间: 2024-12-3 16:19

感谢楼主分享,很不错!
作者: 一米八    时间: 2024-12-3 16:30
楼主太有才了,膜拜中……
作者: 葛特曼    时间: 2024-12-3 16:54
感谢楼主分享,很不错!
作者: 豆腐煮鱼    时间: 2024-12-14 16:49
可以合并相同名称零件么  
作者: rui0227    时间: 2024-12-17 16:20
机制082 发表于 2024-10-2 22:58

感谢分享,太好了
作者: flp109    时间: 2024-12-17 20:03
感谢楼主分享,很不错!
作者: slx2515    时间: 2024-12-18 13:55


感谢楼主分享,很不错!
作者: slx2515    时间: 2024-12-18 14:31


   经典案例图书

SW机械工程师网,找到组织了!
作者: slx2515    时间: 2024-12-18 15:32
好东西,努力学习学习!
作者: slx2515    时间: 2024-12-18 15:53
葛特曼 发表于 2024-10-28 21:37
2018无法打开,软件版本不够

我也2018,可以使用,就是从菜单栏的工具——引用,把失败的项改成2018的就可以了
作者: panreigangs    时间: 2024-12-21 14:53
如果读取配置属性怎么修改

作者: 柔软熊    时间: 2024-12-22 01:33
活到老学到老!
作者: 柔软熊    时间: 2024-12-23 14:15
楼主太有才了,膜拜中……




欢迎光临 SolidWorks机械工程师网——最大的SolidWorks学习平台 (https://www.swbbsc.com/) Powered by Discuz! X3.2