Move and Copy Body using Vertex Example (VBA)
This example shows how to move and copy a body using a vertex.
'---------------------------------------------
'
' Preconditions:
' (1)
Part document is open.
' (2)
Body-Move/Copy1 feature exists.
'
' Postconditions: Body is copied and copies are moved
' based
on the selected vertices.
'
'----------------------------------------------
Option Explicit
Sub main()
Dim
swApp As SldWorks.SldWorks
Dim
swPart As SldWorks.PartDoc
Dim
swModel As SldWorks.ModelDoc2
Dim
swModelDocExt As SldWorks.ModelDocExtension
Dim
swSelMgr As SldWorks.SelectionMgr
Dim
Component As SldWorks.Component2
Dim
moveCopyFeat As SldWorks.feature
Dim
moveCopy_featData As SldWorks.MoveCopyBodyFeatureData
Dim
from_vertex As SldWorks.Vertex
Dim
to_vertex As SldWorks.Vertex
Dim
boolstatus As Boolean
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swPart = swModel
Set
swModelDocExt = swModel.Extension
Set
swSelMgr = swModel.SelectionManager
Set
moveCopyFeat = swPart.FeatureByName("Body-Move/Copy1")
Set
moveCopy_featData = moveCopyFeat.GetDefinition
boolstatus
= moveCopy_featData.AccessSelections(swPart,
Component)
moveCopy_featData.TransformType = swTransformType_Translation
boolstatus
= swModelDocExt.SelectByID2("",
"VERTEX", -0.0508, 0.0254, 0.02, False, 0, Nothing, swSelectOptionDefault)
Set
from_vertex = swSelMgr.GetSelectedObject5(1)
moveCopy_featData.TransformReferenceEntity = from_vertex
boolstatus
= swModelDocExt.SelectByID2("",
"VERTEX", 0.0508, 0.0254, 0.02, False, 0, Nothing, swSelectOptionDefault)
Set
to_vertex = swSelMgr.GetSelectedObject5(1)
moveCopy_featData.TranslateToVertex = to_vertex
moveCopy_featData.TransformX = 0.02
boolstatus
= moveCopyFeat.ModifyDefinition(moveCopy_featData,
swPart, Nothing)
moveCopy_featData.ReleaseSelectionAccess
swModel.ViewZoomtofit2
End Sub