Use Hole Wizard Feature Data Object to Create Hole Wizard Feature Example
(VBA)
This topic shows how to use an existing hole wizard feature data object
to create another hole wizard feature.
'----------------------------------
'
' Preconditions: Model is open and contains the specified
' hole
wizard feature.
'
' Postconditions: New hole wizard feature based on existing
' hole
wizard feature is created on the selected
' entities.
'
'-----------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swSelMgr As SldWorks.SelectionMgr
Dim swWzdHole As SldWorks.WizardHoleFeatureData2
Dim swFeat As SldWorks.Feature
Dim swFeatMgr As SldWorks.FeatureManager
Dim boolstatus As Boolean
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swModelDocExt = swModel.Extension
Set swFeatMgr = swModel.FeatureManager
Set swSelMgr = swModel.SelectionManager
' Get an existing hole wizard feature data object
boolstatus = swModelDocExt.SelectByID2("CBORE
for M20 Hex Head Bolt1", "BODYFEATURE", 0, 0, 0, False,
0, Nothing, 0)
Set swFeat = swSelMgr.GetSelectedObject5(1)
Set swWzdHole = swFeat.GetDefinition
swModel.ClearSelection2
True
Set swFeat = Nothing
' Select the reference entities to use to create the hole
wizard feature
boolstatus = swModelDocExt.SelectByID2("",
"FACE", 0.09000000000003, -0.01278177510699, 0.04695929736232,
False, 0, Nothing, 0)
boolstatus = swModelDocExt.SelectByID2("",
"VERTEX", -0.1, -0.077, 0, True, 2, Nothing, 0)
' Create the new hole wizard feature
Set swFeat = swFeatMgr.CreateFeature(swWzdHole)
End Sub