Set Bodies for Move/Copy Example (VBA)
This example shows how to set the bodies for a move/copy.
'---------------------------------------------
'
' Preconditions:
' (1)
Part document is open.
' (2)
Part document contains Body-Move/Copy1 and Extrude1 features.
'
' Postconditions: None
'
'----------------------------------------------
Option Explicit
Sub main()
Dim
swApp As SldWorks.SldWorks
Dim
part As SldWorks.PartDoc
Dim
swModel As SldWorks.ModelDoc2
Dim
swSelMgr As SldWorks.SelectionMgr
Dim
swModelDocExt As SldWorks.ModelDocExtension
Dim
moveCopyFeat As SldWorks.feature
Dim
moveCopy_featData As SldWorks.MoveCopyBodyFeatureData
Dim
component As SldWorks.Component2
Dim
bodyArr(0) As Object
Dim
vBodyArr As Variant
Dim
boolstatus As Boolean
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
part = swModel
Set
swModelDocExt = swModel.Extension
Set
swSelMgr = swModel.SelectionManager
Set
moveCopyFeat = part.FeatureByName("Body-Move/Copy1")
Set
moveCopy_featData = moveCopyFeat.GetDefinition
boolstatus
= moveCopy_featData.AccessSelections(part,
component)
boolstatus
= swModelDocExt.SelectByID2("Extrude1",
"SOLIDBODY", 0, 0, 0, False, 0, Nothing, swSelectOptionDefault)
Set
bodyArr(0) = swSelMgr.GetSelectedObject5(1)
swModel.ClearSelection2 True
vBodyArr
= bodyArr
moveCopy_featData.Bodies = (vBodyArr)
boolstatus
= moveCopyFeat.ModifyDefinition(moveCopy_featData,
part, Nothing)
moveCopy_featData.ReleaseSelectionAccess
End Sub