![]()
1 'SolidWorks API Help
2 'Move Bodies Example (VB.NET)
3 'This example shows how to move all of the bodies in a part document.
4
5 '-------------------------------------------------------------
6 ' Preconditions:
7 ' 1. Specified part document to open exists.
8 ' 2. Run the macro.
9 '
10 ' Postconditions: All of the bodies in the part document
11 ' are moved to the specified location.
12 '
13 ' NOTE: Because this part is used elsewhere, do not save
14 ' any changes when closing it.
15 '--------------------------------------------------------------
16 Imports SolidWorks.Interop.sldworks
17 Imports SolidWorks.Interop.swconst
18 Imports System.Runtime.InteropServices
19 Imports System
20
21 Partial Class SolidWorksMacro
22
23 Sub SelectBodies(ByVal swApp As SldWorks, ByVal swModel As ModelDoc2, ByVal bodyArr As Object)
24 ' Select and mark the bodies to move
25 Dim swSelMgr As SelectionMgr
26 Dim swSelData As SelectData
27 Dim body As Object
28 Dim swBody As Body2
29 Dim status As Boolean
30
31 swSelMgr = swModel.SelectionManager
32 swSelData = swSelMgr.CreateSelectData
33
34 If (bodyArr Is Nothing) Then Exit Sub
35 For Each body In bodyArr
36 swBody = body
37 swSelData.Mark = 1
38 status = swBody.Select2(True, swSelData)
39 Next body
40
41 End Sub
42
43 Sub Main()
44
45 Dim swModel As ModelDoc2
46 Dim swPart As PartDoc
47 Dim bodyArr As Object
48 Dim swFeatMgr As FeatureManager
49 Dim swFeat As Feature
50 Dim fileName As String
51 Dim errors As Integer
52 Dim warnings As Integer
53 swModel = CType(swApp.ActiveDoc, ModelDoc2)
54 fileName = "D:\test.SLDPRT"
55 swModel = swApp.OpenDoc6(fileName, swDocumentTypes_e.swDocPART, swOpenDocOptions_e.swOpenDocOptions_Silent, "", errors, warnings)
56 swPart = swModel
57 swFeatMgr = swModel.FeatureManager
58
59 swModel.ClearSelection2(True)
60
61 ' Get the bodies to move
62 bodyArr = swPart.GetBodies2(swBodyType_e.swAllBodies, False)
63 SelectBodies(swApp, swModel, bodyArr)
64 ' Move the bodies
65 swFeat = swFeatMgr.InsertMoveCopyBody2(0, 0, -0.0255, 0, 0, 0, 0, 0, 0, 0, True, 1)
66 End Sub
67
68 ''' <summary>
69 ''' The SldWorks swApp variable is pre-assigned for you.
70 ''' </summary>
71 Public swApp As SldWorks
72
73 End Class