Create and Modify Move Face Feature Example (VBA)
This example shows how to create a Move Face feature by translating
a face on a part and then how to modify that Move Face feature.
'************************************************
' Preconditions:
' (1)
The specified SolidWorks document exists
' on
your system.
' (2)
Step through (press F8) the macro.
'
' Postconditions: A Move Face feature is created and then
' modified.
'
' NOTE: Because the specified SolidWorks document is used
by
' a
SolidWorks online tutorial, do not save any changes
' when
closing the document.
'***********************************************
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swFeatMgr As SldWorks.FeatureManager
Dim swFeat As SldWorks.Feature
Dim swMoveFaceFeat As SldWorks.MoveFaceFeatureData
Dim transParams As Variant
Dim boolstatus As Boolean
Dim triadParams(0 To 2) As Double
Dim fileerror As Long
Dim filewarning As Long
Sub main()
Set
swApp = Application.SldWorks
'
Open the SolidWorks document
swApp.OpenDoc6 "C:\Program Files\SolidWorks
Corp\SolidWorks\samples\tutorial\assemblymates\knee.sldprt", swDocPART,
swOpenDocOptions_Silent, "", fileerror, filewarning
Set
swModel = swApp.ActiveDoc
Set
swModelDocExt = swModel.Extension
Set
swFeatMgr = swModel.FeatureManager
'
Translation parameters
triadParams(0)
= 0
triadParams(1)
= 0.05
triadParams(2)
= 0
transParams
= triadParams
'
Select face to move
boolstatus
= swModel.Extension.SelectByID2("",
"FACE", 0.04239074672171, 0.01587499999999, 0.3283508339712,
False, 1, Nothing, 0)
'
Create the Move Face feature by
'
translating the selected face
Set
swFeat = swFeatMgr.InsertMoveFace2(1,
False, 0, 0, (transParams), Nothing)
'
Modify the MoveFace feature
Set
swMoveFaceFeat = swFeat.GetDefinition
'
Roll back the Move Face feature
swMoveFaceFeat.AccessSelections swModel, Nothing
triadParams(0)
= 0
triadParams(1)
= 0.1
triadParams(2)
= 0
transParams
= triadParams
swMoveFaceFeat.TriadTranslationParameters = (transParams)
'
Roll back the part with the modified Move Face feature
swFeat.ModifyDefinition swMoveFaceFeat, swModel,
Nothing
End Sub