Copy and Paste Feature Example (VBA)
This example shows how to copy and paste a feature in a part document.
'******************************************************************************
' Preconditions:
' 1. The specified part document to open exists.
' 2. Run the macro.
'
' Postconditions:
' 1. After IModelDoc2::Paste is called, the Copy Confirmation
' message box is displayed.
' 2. Click Delete.
' 3. The copied feature is pasted on the selected face.
'
' NOTE: Because this part document is used elsewhere, do
' not save any changes when closing it.
' ******************************************************************************
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim fileName As String
Dim status As Boolean
Dim errors As Long, warnings As Long
Sub main()
Set swApp = Application.SldWorks
fileName = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\tutorial\api\testpart1.sldprt"
Set swModel = swApp.OpenDoc6(fileName, swDocPART, swOpenDocOptions_Silent, "", errors, warnings)
' Select the feature to copy
Set swModelDocExt = swModel.Extension
status = swModelDocExt.SelectByID2("Boss-Extrude1", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
swModel.EditCopy
swModel.ClearSelection2 True
' Select the face where to paste the copied feature
status = swModelDocExt.SelectByID2("", "FACE", 2.97472797980731E-02, 5.64587562103043E-02, 6.76585125080464E-03, False, 0, Nothing, 0)
' Paste the copied feature on the selected face
swModel.Paste
' The Copy Confirmation message box is displayed
' Click Delete
' The copied feature is pasted on the selected face
' Zoom to selection, then zoom to fit
swModel.ViewZoomToSelection
swModel.ViewZoomtofit2
End Sub