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

标题: 求助:怎么在装配体中判断里面只有零件没有子装配体 [打印本页]

作者: DFFDSGG114485    时间: 2023-7-27 22:20
标题: 求助:怎么在装配体中判断里面只有零件没有子装配体
装配体中,判断里面只有零件,没有子装配体,求哪位大神指教
作者: tjonline    时间: 2023-7-29 18:04
这个,没有头绪
作者: DFFDSGG114485    时间: 2023-7-29 22:08
就是判断裝配体中没有子装配体,只有一个层级,所有都是零件
作者: DFFDSGG114485    时间: 2023-7-30 16:55
类似这样,用if判断装配体中只有零件

Screenshot_20230730_165035.jpg

作者: wjbg2019    时间: 2023-7-30 18:23
你可以参考一下 导bom
作者: DFFDSGG114485    时间: 2023-7-30 19:54
这个宏我看了,里面没有这个判断
作者: feelling2021    时间: 2023-10-23 19:14
方法太多了,随便写一个 if(ListModel.where(p=>p.filename.ToUpper().Contain(".SLDASM")).Count()>1){MessageBox("有子装配体");}
作者: DFFDSGG114485    时间: 2023-11-22 12:15
feelling2021 发表于 2023-10-23 19:14
方法太多了,随便写一个 if(ListModel.where(p=>p.filename.ToUpper().Contain(".SLDASM")).Count()>1){Mes ...

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

Screenshot_20231122_091037.jpg

作者: feelling2021    时间: 2023-11-22 12:46
不能乱贴啊,一个是VB,一个是C#,都不一样的语言啊

作者: DFFDSGG114485    时间: 2023-11-22 22:19
,我小白一枚,VB怎么表达?
作者: DFFDSGG114485    时间: 2023-11-22 22:20
不好意思,VB怎么表达呀?
作者: samult    时间: 2024-5-15 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机械工程师网——最大的SolidWorks学习平台 (https://www.swbbsc.com/) Powered by Discuz! X3.2