Translate Move Face Feature Example (VBA)
This example shows how to translate a Move Face feature.
'-----------------------------
'
' Preconditions: Part document containing a Move
Face1
' feature
is open.
'
' Postconditions: Move
Face1 feature is translated.
'
'----------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swSelMgr As SldWorks.SelectionMgr
Dim swFeat As SldWorks.Feature
Dim swMoveFaceFeatData As SldWorks.MoveFaceFeatureData
Dim varPara As Variant
Dim newPara(2) As Double
Dim newVarPara As Variant
Dim i As Long
Dim boolstatus As Boolean
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager
Set swModelDocExt = swModel.Extension
' Select, get, and access Move Face feature
boolstatus = swModelDocExt.SelectByID2("Move
Face1", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
Set swFeat = swSelMgr.GetSelectedObject6(1,
-1)
Set swMoveFaceFeatData = swFeat.GetDefinition
swMoveFaceFeatData.AccessSelections
swModel, Nothing
' Get current translation values
Debug.Print "Translation values before translating
Move Face feature..."
varPara = swMoveFaceFeatData.TriadTranslationParameters
For i = LBound(varPara) To UBound(varPara)
Debug.Print
" "
& (varPara(i) * 1000 & " mm")
Next i
' Set new translation values
newPara(0) = 0#
newPara(1) = 0#
newPara(2) = 0.01
newVarPara = newPara
' Move Face feature is translated using the new
' translation values
swMoveFaceFeatData.TriadTranslationParameters
= newVarPara
Debug.Print " "
newVarPara = swMoveFaceFeatData.TriadTranslationParameters
Debug.Print "Translation values after translating
Move Face feature..."
For i = LBound(varPara) To UBound(newVarPara)
Debug.Print
" "
& (newVarPara(i) * 1000# & " mm")
Next i
' Move Face feature is modified
swFeat.ModifyDefinition
swMoveFaceFeatData, swModel, Nothing
End Sub