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

标题: 【原创】多实体零件组合成装配体-宏 [打印本页]

作者: tg000057    时间: 2021-9-1 17:29
标题: 【原创】多实体零件组合成装配体-宏
如题:
'说明:
'1.零件状态运行,
'2.多实体零件自动拆分成一个个单实体零件,并组合成一个装配体,原点装配,
'3.装配中装配原始零件,自动成压缩状态。



补充内容 (2021-10-6 14:35):
2021-10-06更新版在39楼

补充内容 (2021-11-22 14:28):
45楼更新,避免新建零件,装配体的重名操作,(当文件夹内已有相同名称时,名称自动序号+1)

多实体零件组成装配体.rar

(15.27 KB, 下载次数: 254 售价: 15 金币


作者: 工程Jay_chen    时间: 2021-9-1 19:19
感谢楼主分享,很不错!
作者: 阿斯蒂芬0    时间: 2021-9-1 19:53
感谢楼主分享,很不错!
作者: peng188    时间: 2021-9-1 19:56
相同实体怎么处理?

作者: peng188    时间: 2021-9-1 20:12
建议原来多实体零件自动压缩状态改为封套,并隐藏。
作者: tg000057    时间: 2021-9-1 20:32
peng188 发表于 2021-9-1 20:12
建议原来多实体零件自动压缩状态改为封套,并隐藏。

个人习惯这样子用,代码是开源的,下载后可自行修改。
作者: tg000057    时间: 2021-9-1 20:34
peng188 发表于 2021-9-1 19:56
相同实体怎么处理?

怎么个相同?此宏是遍历实体个个保存,然后插入装配体,还有识别是否相同的功能。
作者: tg000057    时间: 2021-9-1 20:35
tg000057 发表于 2021-9-1 20:34
怎么个相同?此宏是遍历实体个个保存,然后插入装配体,还有识别是否相同的功能。

额,是没有识别功能,打上面打错字了。
作者: 小豆芽疯回路转    时间: 2021-9-2 05:56
挺好,不错,顶一个
作者: 1066236582    时间: 2021-9-2 09:14
楼主辛苦了!
作者: fan03488    时间: 2021-9-2 11:39
感谢楼主分享,很不错!
作者: voicer    时间: 2021-9-2 18:48
楼主辛苦了!
作者: 阿斯蒂芬0    时间: 2021-9-2 20:32
SW机械工程师网,找到组织了!
作者: voicer    时间: 2021-9-2 22:29

感谢楼主分享,很不错!
作者: UDF998    时间: 2021-9-3 13:52
楼主太有才了,膜拜中……
作者: Allate    时间: 2021-9-3 14:07
山寨,哈哈哈哈
作者: tg000057    时间: 2021-9-3 14:20
Allate 发表于 2021-9-3 14:07
山寨,哈哈哈哈

放羊的孩子啊!
作者: 刘茂机械    时间: 2021-9-4 17:10
感谢楼主分享,很不错!
作者: yanoyy    时间: 2021-9-4 18:38
感谢楼主分享
作者: yni621    时间: 2021-9-5 08:31
感谢楼主分享,很不错!
作者: 自由设计    时间: 2021-9-5 13:08
感谢楼主分享,很不错!
作者: 淡淡的雲    时间: 2021-9-6 11:01
楼主太有才了,膜拜中……
作者: 夕梦恋    时间: 2021-9-7 08:16
感谢楼主分享,很不错!
作者: jugege    时间: 2021-9-7 08:35
价格好贵
作者: fan03488    时间: 2021-9-11 08:32
感谢楼主分享,很不错!
作者: qqfly332211    时间: 2021-9-11 11:02
楼主太有才了,膜拜中……
作者: Tony001    时间: 2021-9-15 13:18
是不是与装配体功能一样。
作者: Tony001    时间: 2021-9-15 13:27
运行出错。
作者: tg000057    时间: 2021-9-15 14:34
是有bug忘记更新了,
1.如果多实体没有保存就就运行,运行后会强行关闭,倒致一些特征没有。
加一段保存的代码在判断文档类型后面。
    If swModel.GetType <> 1 Then MsgBox "请在零件状态下运行!": End
    swModel.Save2 False





2.当多实体零件只有实体没有曲面,或者只有曲面没有实体时,会下标报错,
在新建零件插入实体的循环前加一段判断代码代码。


If i = 0 Then Exit Sub
For i = 0 To UBound(sAname)



If j = 0 Then Exit Sub
For j = 0 To UBound(sBname)


作者: aba121    时间: 2021-9-15 15:06
感谢楼主分享,很不错!
作者: 337868333    时间: 2021-9-18 20:14
感谢楼主分享,很不错!
作者: 刘茂机械    时间: 2021-9-19 19:05
感谢楼主分享,很不错!
作者: wufang2004    时间: 2021-9-20 08:34
楼主最好发张图片!
作者: jugege    时间: 2021-9-21 20:24
如果多实体中包含钣金,转为装配体后,零件的钣金特征还在吗?
作者: Kerwin1314    时间: 2021-9-23 08:11
感谢楼主分享,很不错
作者: yechao12233    时间: 2021-9-28 09:47
有没有用啊,怎么样
作者: qqfly332211    时间: 2021-9-29 08:54
感谢楼主分享,很不错!
作者: 刘茂机械    时间: 2021-9-30 20:28
SW2016中运行报错

1234.png

作者: tg000057    时间: 2021-10-6 14:29
更新:1,当零件只有曲面或实体其中一种时,下标报错。
2,新建零件或装配体时,重命报错(非第一次运行)。

增加:
1,点选其中一个或多个实体,仅输出选中实体 ,再新建零件来组合装配体。
2,增加最后保存装配体。

多实体零件组成装配体2.zip

(23.21 KB, 下载次数: 151 售价: 15 金币


作者: tg000057    时间: 2021-10-6 14:32
刘茂机械 发表于 2021-9-30 20:28
SW2016中运行报错

这个应该是重名报错了,更新的在39楼,你也可以根据下面的代码修改,保存零件部件也要同样修改,只是要注意变量序号1的位置。
mm= 1
G_mm:
FileA = Left(File, Len(File) - 7) & "-装配" & mm & ".SLDASM"                      '装配体路径
If Dir(FileA) <> "" Then mm = mm + 1: GoTo G_mm                 '当文件名存在时,序号+1

作者: 刘茂机械    时间: 2021-10-6 14:51
tg000057 发表于 2021-10-6 14:32
这个应该是重名报错了,更新的在39楼,你也可以根据下面的代码修改,保存零件部件也要同样修改,只是要注 ...

重新下载后还是不行 插入了原零件 后就没有反应了  2016版本
作者: tg000057    时间: 2021-10-6 16:40
刘茂机械 发表于 2021-10-6 14:51
重新下载后还是不行 插入了原零件 后就没有反应了  2016版本

具体哪一段报错,报错内容是什么,还是完全没有反映?

嗯,还有另一种可能就是有些api不支持,我这边用的2019的,如果是这个原因的话就要看看有没有对应的接口可以替用了。
作者: 刘茂机械    时间: 2021-10-6 17:44
tg000057 发表于 2021-10-6 16:40
具体哪一段报错,报错内容是什么,还是完全没有反映?

嗯,还有另一种可能就是有些api不支持,我这边 ...

装配图插入原零件保存后 没有任何反应了 谢谢您的分享
作者: 52swbbsc    时间: 2021-10-7 21:33
留个脚印先
作者: tg000057    时间: 2021-10-16 09:26
增加输入名称选项
执行时会提示输入装配体名称,建立的装配体,装配体名称自动在后面加“00”,相关实体建立的名称则为输入的装配名称后面加“01”、“02”。。。。如果第二次执行时输入 相同的名称 则,装配体名称后则加“01”,相关实体建立的零件则为输入的装配名称后面加,已在存在的序号加1

多实体零件组成装配体3.zip

(24.11 KB, 下载次数: 313 售价: 15 金币


作者: igxoqve    时间: 2021-10-29 09:16
楼主,把这个宏改成能识别相同实体就完美了
作者: tg000057    时间: 2021-10-29 10:29
igxoqve 发表于 2021-10-29 09:16
楼主,把这个宏改成能识别相同实体就完美了

这个做不到的,零件中的所有实体都是唯一性的存在,没有办法让它来帮你找相同,
作者: hjinbo81    时间: 2021-10-29 14:19
下载学习,感谢楼主分享

作者: zzm5337    时间: 2021-10-29 15:51
感谢楼主分享,很不错!
作者: 283554188    时间: 2021-10-29 16:49
挺好,不错,顶一个
作者: igxoqve    时间: 2021-10-29 19:25
tg000057 发表于 2021-10-29 10:29
这个做不到的,零件中的所有实体都是唯一性的存在,没有办法让它来帮你找相同,

只是一下没有找到方法
作者: fz8889    时间: 2021-10-30 10:25
楼主辛苦了!
作者: fz8889    时间: 2021-10-30 10:45
SW2018运行会报错

360截图20211030104405131.jpg

作者: tg000057    时间: 2021-10-30 11:58
fz8889 发表于 2021-10-30 10:45
SW2018运行会报错

报错提示??
作者: fz8889    时间: 2021-10-30 14:21
现在报错提示:438  装配图模板路径和零件模板路径我也都修改正确了的

1.jpg

2.jpg

作者: tg000057    时间: 2021-10-30 14:41
fz8889 发表于 2021-10-30 14:21
现在报错提示:438  装配图模板路径和零件模板路径我也都修改正确了的

经查,InsertPart3是sw2019以上才有,sw2018没有,你可以试试换成InsertPart2。
把new_Part_A和new_Part_B段的修改成。
Set myFeature = swModel.InsertPart2(File, 259)
作者: hdgd501    时间: 2021-10-31 08:56
楼主很专业,写得很好!
作者: 刘茂机械    时间: 2021-11-2 18:44
tg000057 发表于 2021-10-30 14:41
经查,InsertPart3是sw2019以上才有,sw2018没有,你可以试试换成InsertPart2。
把new_Part_A和new_Part ...

我用2018修改代码后可用 现在我想.插入装配中装配原始零件,自动勾选不包括在材料明细表中(如图)。

123.png

789.png

作者: tg000057    时间: 2021-11-3 08:05
刘茂机械 发表于 2021-11-2 18:44
我用2018修改代码后可用 现在我想.插入装配中装配原始零件,自动勾选不包括在材料明细表中(如图)。

6楼已回复!
作者: 淡淡的雲    时间: 2021-11-22 08:28
其实方法很多,目前没有啥统一的
作者: ZJGERS    时间: 2021-11-22 09:15

感谢楼主分享,很不错!
作者: ZJGERS    时间: 2021-11-22 14:11
我不知道后面有更新了,请问我下载了第一版的报错,怎么样升级啊,没钱下更新的拉

作者: tg000057    时间: 2021-11-22 14:26
ZJGERS 发表于 2021-11-22 14:11
我不知道后面有更新了,请问我下载了第一版的报错,怎么样升级啊,没钱下更新的拉

如果是用了39楼的,是没问题,45楼的更新不是很重要,只是避免重名的操作而已,我发一个给你。
作者: ZJGERS    时间: 2021-11-23 08:48
tg000057 发表于 2021-11-22 14:26
如果是用了39楼的,是没问题,45楼的更新不是很重要,只是避免重名的操作而已,我发一个给你。

QQ:410520123,谢谢!
作者: ZJGERS    时间: 2021-11-23 08:49
QQ:410520123 谢谢
作者: ZJGERS    时间: 2021-11-23 10:42
QQ:410520123 谢谢
作者: ZJGERS    时间: 2021-11-23 10:44
好的,发一个我
作者: ZJGERS    时间: 2021-11-23 13:18
还是有问题
运行时错误'91':
对象变里或with块变里未设置
  点调试出现和38楼一样的问题
作者: 自由设计    时间: 2021-12-16 21:17
tg000057 发表于 2021-10-16 09:26
增加输入名称选项
执行时会提示输入装配体名称,建立的装配体,装配体名称自动在后面加“00”,相关实体建 ...

大侠,出现此情况可以解决吗?sw2021版。

55.png

作者: mdj186    时间: 2021-12-17 10:59
我在想这个能起到什么作用,我现在是多实体直接出工程图,切割实体才会用到单独出零件,但这个也不知适用不适用切割实体零件
作者: hrd087    时间: 2022-3-2 23:53
自由设计 发表于 2021-12-16 21:17
大侠,出现此情况可以解决吗?sw2021版。

我也是一样的错误提示,我是SW2020的,你解决没有
作者: ranshaohuowu    时间: 2022-3-3 21:06
活到老学到老!
作者: yun6yun7    时间: 2022-3-9 15:44
谢谢分享,,,,,,

作者: tiancaiashuai    时间: 2022-3-21 14:45
2018版本,运行没反应
作者: zhanfeng2020    时间: 2022-5-4 20:26
支持楼主
作者: zhanfeng2020    时间: 2022-5-5 14:03
正好需要,顶一下

作者: 书书010214    时间: 2022-5-5 21:10
楼主太有才了,膜拜中……
作者: hdmyie    时间: 2022-5-8 20:44
下了3个都不行,
作者: hdmyie    时间: 2022-5-8 20:48
运行错误“91”
作者: DFFDSGG114485    时间: 2022-5-23 22:42
tg000057 发表于 2021-9-1 20:32
个人习惯这样子用,代码是开源的,下载后可自行修改。

建议原来多实体零件自动压缩状态改为封套,并隐藏。
作者: hhh001    时间: 2022-5-25 13:37

感谢楼主分享,很不错!
作者: DFFDSGG114485    时间: 2022-5-25 19:55
tg000057 发表于 2021-11-22 14:26
如果是用了39楼的,是没问题,45楼的更新不是很重要,只是避免重名的操作而已,我发一个给你。

感谢楼主分享,很不错!
作者: DFFDSGG114485    时间: 2022-5-26 07:12
tg000057 发表于 2021-11-22 14:26
如果是用了39楼的,是没问题,45楼的更新不是很重要,只是避免重名的操作而已,我发一个给你。

感谢楼主分享,很不错!
作者: DFFDSGG114485    时间: 2022-5-26 07:14
tg000057 发表于 2021-9-1 20:34
怎么个相同?此宏是遍历实体个个保存,然后插入装配体,还有识别是否相同的功能。

感谢楼主分享,很不错!
作者: DFFDSGG114485    时间: 2022-5-26 07:15
tg000057 发表于 2021-9-15 14:34
是有bug忘记更新了,
1.如果多实体没有保存就就运行,运行后会强行关闭,倒致一些特征没有。
加一段保存 ...

感谢楼主分享,很不错!感谢楼主分享,很不错!
作者: hdgd501    时间: 2022-5-26 07:43
好东西,努力学习学习!
作者: DFFDSGG114485    时间: 2022-5-26 12:00
tg000057 发表于 2021-11-22 14:26
如果是用了39楼的,是没问题,45楼的更新不是很重要,只是避免重名的操作而已,我发一个给你。

感谢楼主分享,很不错
作者: hhh001    时间: 2022-5-26 14:11
感谢分享,学习,谢谢!
作者: DFFDSGG114485    时间: 2022-5-26 17:44
tg000057 发表于 2021-11-22 14:26
如果是用了39楼的,是没问题,45楼的更新不是很重要,只是避免重名的操作而已,我发一个给你。


建议原来多实体零件自动压缩状态改为封套,并隐藏。
作者: DFFDSGG114485    时间: 2022-5-26 17:51
tg000057 发表于 2021-9-15 14:34
是有bug忘记更新了,
1.如果多实体没有保存就就运行,运行后会强行关闭,倒致一些特征没有。
加一段保存 ...

楼主辛苦了,下下学习下
作者: hnymzb    时间: 2022-5-27 08:06
【原创】多实体零件组合成装配体-宏
作者: ppspps    时间: 2022-5-27 21:53


广告位钜惠招租

如题:
'说明:
'1.零件状态运行,
'2.多实体零件自动拆分成一个个单实体零件,并组合成一个装配体,原点装配,
'3.装配中装配原始零件,自动成压缩状态。
作者: 军杨786986    时间: 2022-5-28 15:11
感谢楼主分享,很不错!
作者: 军杨786986    时间: 2022-5-28 15:11
感谢楼主分享,很不错!
作者: wscgb123    时间: 2022-5-29 17:51
楼主辛苦了!
作者: 懒懒的高贵    时间: 2022-6-2 15:20
SolidWorks机械工程师网,顶一下。
作者: ppspps    时间: 2022-6-7 21:01
2.多实体零件自动拆分成一个个单实体零件,并组合成一个装配体,原点装配,
'3.装配中装配原始零件,自动成压缩状态
作者: ppspps    时间: 2022-6-7 21:04
零件状态运行,
'2.多实体零
作者: ppspps    时间: 2022-6-14 21:52
.装配中装配原始零件,自动成压缩状态。
作者: 懒懒的高贵    时间: 2022-8-12 09:23
很不错,顶一下!




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