Use IIf Function When Adding an Equation Example (VBA)
This example shows how to use the Visual Basic IIf function when adding
an equation.
'----------------------------------------
'
' Preconditions: Open <SolidWorks_install_dir>\samples\tutorial\api\cover_with_dimensions.sldprt.
'
' Postconditions: An equation that uses the Visual Basic
IIf function is added.
'
'-----------------------------------------
Option Explicit
Sub main()
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
SldWorks.ModelDoc2
Dim
swEqnMgr As
SldWorks.EquationMgr
Dim
i As
Long
Dim
nCount As
Long
Dim
bRet As
Boolean
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swEqnMgr = swModel.GetEquationMgr
Debug.Print
"File = " & swModel.GetPathName
Debug.Print
" Status
= " & swEqnMgr.Status
nCount
= swEqnMgr.GetCount
'
List the existing equations and their calculated values
For
i = 0 To nCount - 1
Debug.Print
" Eqn("
& i & ") =
" & swEqnMgr.Equation(i)
Debug.Print
" Value
= "
& swEqnMgr.Value(i)
Next
i
'
Add and solve an equation that uses the Visual Basic IIf function.
'
Delay evaluating the equation by passing false into the third argument
of Add2
swEqnMgr.Add2 i, ("""TXD2@Scheme15""
= (IIf(""TXD1@Scheme15"">20, 25, 20))+3"),
false
Debug.Print
" Eqn("
& i & ") =
" & swEqnMgr.Equation(i)
'
Evaluate all equations
Dim
ret as Integer
ret
= swEqnMgr.EvaluateAll
Debug.Print
" Value
= "
& swEqnMgr.Value(i)
End Sub