作者:鑫辰信息科技发布日期:2022-05-10浏览人数:927
之前的文章介绍了如何通过SOLIDWORKS正版软件的VBA来开发一个简单的标准件生成器;后面我们会对这个标准件生成器进行进一步功能扩充,今天我们来研究另一个问题:SOLIDWORKS装配体零件遍历。
SOLIDWORKS装配体零件遍历在二次开发中会经常使用,比如:
1.创建装配体结构BOM,搜索结构的所有层级,并提取每个结构、零件的属性信息;
2.在装配体中查找出所有的标准件、特定的零部件;
3.当装配体提示零件中存在被压缩的特征时,通过遍历找出被压缩特征的零部件;
4.遍历整个结构,为每个零件进行随机上色;
5.批量检查零件属性的完整性;
那么在SOLIDWORKS VBA开发中,如何对装配体结构进行完整的遍历呢?以下是对装配体遍历的基本流程:

首先用户需要先获取当前装配体结构的子组件,然后通过for循环遍历该结构的所有子组件,并且判断每个子组件是属于零件还是装配体,如果是装配体,则需要对该装配体进行子组件获取,然后检查该装配体的下属层级…如此往复;
但因为我们无法预先知道任何一个装配体结构存在多少个层级,所以也无法判断需要执行多少次for循环,所以我们在这里使用了递归的方式来处理该问题。
以下是装配体遍历的基本代码:

在main主函数中,我们通过 Set swmodel = swApp.ActiveDoc
获取到当前正在被SOLDWORKS打开且处于当前显示界面的装配体,通过 swmodelComps = swAsm.GetComponents(True)
或者这个装配体的所有子组件,放到swmodelComps 这个数组中;
接下来调用GetAsmChild这个函数,并且将swmodelComps数组作为变量传递到函数中;
在GetAsmChild函数中,通过:
For i = 0 To UBound(swmodelComps)
…
Next
语句对获取到的子组件数组进行遍历,该遍历只会搜索结构的一个层级,为了让遍历可以搜索结构的所有层级,所以有如下的条件判断代码:
If swmodel.GetType = 1 Then
MsgBox (swmodel.GetTitle)
ElseIf swmodel.GetType = 2 Then
swAsm = swmodel
GetAsmChild (swAsm.GetComponents(True))
End If
其中swmodel.GetType = 1 表示该获取到的一个层级中的其中一条子组件属于零件;
其中MsgBox (swmodel.GetTitle) 表示将该零件的名称进行显示;
重点在对子组件属于装配体的处理,在swmodel.GetType = 2 的条件(子组件属于装配体)中,我们做了如下操作:
GetAsmChild (swAsm.GetComponents(True))
可以看到这是一个函数调用,调用了什么函数呢?调用了GetAsmChild,这实际上是调用了它自身,这种调用函数自身的情况就叫做递归;可以看到,虽然函数相同,但是前后两个GetAsmChild的变量却不同,第一次的GetAsmChild作为入口,传递的是我们打开的装配体文件的信息,第二次到第N次,传递的则是每一个子组件(子装配体)的信息,这样层层嵌套,最终实现装配体结构的整体的遍历。
以上是本次SOLIDWORKS VBA装配体结构遍历的一些分享,希望能够帮助大家,更多信息请访问鑫辰信息科技有限公司
如果你每天在 PDM 里反复登录、等任务、找文件、查状态,这波更新就是冲着你来的。SOLIDWORKS 2027 PDM 新增多项实用功能,从登录安全到任务分发,从归档复制到流程状态查看,目标只有一个:让工程师少折腾,把精力留给设计。一:支持单点登录以往PDM 一套账号,Windows 一套账号,密码记不住,频繁输入打断思路;安全策略
电气工程师的日常,常常在原理图、布线方框图、端子排、3D装配、BOM和交叉参考之间来回切换。SOLIDWORKS 2027 Electrical 这次更新,重点很明确:减少切换、减少重复点击、减少数据错误,并加强 2D 与 3D 的协同。一:布线方框图:原生电线创建以往在布线方框图里画完,还得切换到原理图视图补连接,页数多,数据输入容易
从非线性螺栓预载、通用弹簧,到注塑多点查询、内部流动自动密封,SOLIDWORKS 2027 让仿真更真实、后处理更高效、结果管理更有序。现在,把新功能带到现场,把 AI 的设计想象力讲透。
各位工程师朋友,SOLIDWORKS 2027版本正式发布。我们梳理了这次更新中与日常设计工作最相关的 10 项新功能,从装配体性能、大型设计审阅,到钣金、管道、纹理和工程图,每一项都瞄准了实际工作流中的效率瓶颈。一:关联设计和性能助手过去,紧固件螺纹要手动检测、手动装配、手动压缩;装配体性能好不好,全凭经验猜,图形
SOLIDWORKS AI虚拟助手直接融入工程设计工作流程,帮助工程师更快完成任务、减少手动操作,并应对复杂的设计挑战。
在机械行业设计工作中,经常需要将SOLIDWORKS工程图导出为DWG格式对外交付。不少工程师直接使用另存为的方式输出DWG文件,导出后容易出现各类问题:中心线变为实线、图层混乱、颜色错乱等,图纸拿到AutoCAD中还需要耗费大量时间二次整理。DWG映射文件相当于SOLIDWORKS与AutoCAD之间的转换桥梁,我们可以提前预设各类图元所对应的CAD图层、颜色以及线型规则。规则配置完成后,后续导出的DWG图纸可直接匹配企业CAD制图标准,大幅减少图纸的二次修改工作量。下面针对映射文件的配置、使用要点进行详细讲解。
微信扫一扫
13713805312(手机号码) 0755-89233676(深圳专线)
深圳市龙岗区龙城街道天安数码城2栋B座1302
深圳市龙岗区龙城街道天安数码城2栋B座1302(黄阁坑C出口)
victor@sz-stars.com
victor@sz-stars.com
联系我们