|
经典图书 请问各位高手,有做关于自动装配的二次开发的吗?我用的是VB。试了很多方法不行。这是我写的代码:
Public swApp As SldWorks.SldWorks
Public Model As SldWorks.ModelDoc2
Public SelMrg As SldWorks.SelectionMgr
Public Assy As SldWorks.AssemblyDoc
Public SelFace As SldWorks.face2
Public Body As SldWorks.body2
Public errors As Long
-------------------------------------------------------------------------------------------------
Private Sub CommandButton1_Click()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
swApp.ActivateDoc2 "mate.SLDASM", True, errors
Model.SelectByID "zhu-1 @ mate", "COMPONENT", 0, 0, 0
Call SelectFace("face2")
Model.SelectByID "zuo-1@mate", "COMPONENT", 0, 0, 0
Call SelectFace("face1")
Assy.AddMate swMateCOINCIDENT, 0, False, 0, 0
End Sub
-------------------------------------------------------------------------------------------------------------------
Public Function SelectFace(FaceName As String)
Dim i As Integer
Dim Comp As Component2
Dim Face As face2
Dim Body As body2
Dim CurFaceName As String
Set SelMrg = swModel.SelectionManager
Set Comp = SelMrg.IGetSelectedObjectsComponent2(SelMrg.GetSelectedObjectCount)
Set Body = Comp.IGetBody
Set Face = Body.IGetFirstFace
If Body.GetFaceCount = 1 Then
Dim Face As SldWorks.entity
Face.Select2 True, 0
Else
For i = 1 To Body.GetFaceCount - 1
Set CurFaceName = swModel.GetEntityName(Face)
If (CurFaceNme = FaceName) Then
Dim Face As SldWorks.entity
Face.Select2 True, 0
Set Face = Face.IGetNextFace
End If
End If
End Function
-------------------------------------------------------------------------------------------------------------------
下图是我要装配的零件
我要装配的两个零件
|
|