Solidworks二次开发—06—在装配体中添加配合
折腾了三天终于完成了计划中的功能模块。在一个装配体中自动判断插入合适的零件,并添加配合。
在前面几篇文章中我已经基本上说明了如何得到零部件的数据信息、如何插入零部件、如何得到已经选择的特征等。
下面只介绍怎样进行配合
在做配合时,需要经常选择到零件的面、线等,这是一个问题,还有就是介绍一下addmate2函数的使用:
一般进行配合我们按照下面的次序来进行:
1-ModelDoc.ClearSelection2 ‘取消所有选择
2-选择需要配合的实体(entity)
3-使用AddMate2函数进行配合
4-再次使用 ModelDoc.ClearSelection2 ‘取消所有选择
主要的问题在于如何选择合适的面:
由于面的命名没有什么规律,很多时候是程序自动来命名的,这样,不方便使用selectbyID来选择,我也不想使用坐标值来选择一个面,那样做更加糟糕。
在得到一个组件(component)或者一个特征(feature)时,我们有getfaces、getfirstface、getnextface等方法,我们可以使用这些方法遍历一个组件或特征等的各个面,来达到选择面的目的,看下面程序:
Private Function selectface(dcom As SldWorks.Component2, tp As Integer) As Boolean
Set swdowelbody = dcom.GetBody()
If swdowelbody Is Nothing Then '错误处理
MsgBox "选择零件失败"
selectface = False
Exit Function
End If
Set swDCface = swdowelbody.GetFirstFace ‘得到第一个面