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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

好品数字
好品数字
查看: 2333|回复: 11
打印 上一主题 下一主题

求助:怎么在装配体中判断里面只有零件没有子装配体

  [复制链接]

25

主题

555

帖子

309

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2242

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

跳转到指定楼层
楼主
 楼主| 发表于 2023-7-27 22:20:04 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
装配体中,判断里面只有零件,没有子装配体,求哪位大神指教
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享教程|习题|模型|技巧 点赞点赞 拍砖拍砖
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

6

主题

33

帖子

438

金币

堂主

Rank: 4

积分
717
QQ
沙发
发表于 2023-7-29 18:04:17 | 只看该作者
这个,没有头绪
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

25

主题

555

帖子

309

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2242

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

板凳
 楼主| 发表于 2023-7-29 22:08:58 来自手机 | 只看该作者
就是判断裝配体中没有子装配体,只有一个层级,所有都是零件
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

25

主题

555

帖子

309

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2242

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

地板
 楼主| 发表于 2023-7-30 16:55:38 来自手机 | 只看该作者
类似这样,用if判断装配体中只有零件

Screenshot_20230730_165035.jpg
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

9

主题

260

帖子

376

金币

VIP特别用户组

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
2264

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

5#
发表于 2023-7-30 18:23:57 | 只看该作者

   经典案例图书
你可以参考一下 导bom
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

25

主题

555

帖子

309

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2242

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

6#
 楼主| 发表于 2023-7-30 19:54:02 来自手机 | 只看该作者
这个宏我看了,里面没有这个判断
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

50

帖子

68

金币

堂主

Rank: 4

积分
564

最佳新人活跃会员宣传达人

7#
发表于 2023-10-23 19:14:49 | 只看该作者

   经典案例图书
方法太多了,随便写一个 if(ListModel.where(p=>p.filename.ToUpper().Contain(".SLDASM")).Count()>1){MessageBox("有子装配体");}
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

25

主题

555

帖子

309

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2242

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

8#
 楼主| 发表于 2023-11-22 12:15:01 来自手机 | 只看该作者
feelling2021 发表于 2023-10-23 19:14
方法太多了,随便写一个 if(ListModel.where(p=>p.filename.ToUpper().Contain(".SLDASM")).Count()>1){Mes ...

报错,哪里出问题了?有没有办法解决?

Screenshot_20231122_091037.jpg
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

50

帖子

68

金币

堂主

Rank: 4

积分
564

最佳新人活跃会员宣传达人

9#
发表于 2023-11-22 12:46:05 | 只看该作者
不能乱贴啊,一个是VB,一个是C#,都不一样的语言啊
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

25

主题

555

帖子

309

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2242

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

10#
 楼主| 发表于 2023-11-22 22:19:55 来自手机 | 只看该作者
,我小白一枚,VB怎么表达?
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

25

主题

555

帖子

309

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2242

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

11#
 楼主| 发表于 2023-11-22 22:20:51 来自手机 | 只看该作者
不好意思,VB怎么表达呀?
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

4

主题

113

帖子

652

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2145

最佳新人活跃会员热心会员宣传达人

12#
发表于 昨天 12:27 | 只看该作者
Dim swApp As Object
Dim swModel As Object
Dim swAsm As SldWorks.AssemblyDoc
Dim swCompTop() As Object
Dim swCompPart As Object
Dim mark As Boolean
Sub main()
mark = False
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
If Not swModel Is Nothing Then
If swModel.GetType = 2 Then
Set swAsm = swModel
swCompTop = swAsm.GetComponents(True)
For Each swComp In swCompTop
Set swCompPart = swComp.GetModelDoc()
If swCompPart.GetType = 2 Then
mark = True
Exit For
End If
Next
If mark = False Then
MsgBox "当前装配体不存在子装配体!", vbOKOnly + vbSystemModal, "检查是否存在子装配体"
Else
MsgBox "当前装配体存在子装配体!", vbOKOnly + vbSystemModal, "检查是否存在子装配体"
End If
Else
MsgBox "当前打开的文件不是装配体,请确认打开的是装配体再运行此宏!", vbOKOnly + vbSystemModal, "检查是否存在子装配体"
Exit Sub
End If
End If

End Sub
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭 卷起
关闭 卷起

手机版|小黑屋| GMT+8, 2024-5-16 22:05 , Processed in 0.230251 second(s), 37 queries .

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

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