I'm trying to disable and enable multiple equations using a Macro and I'm running into 3 problems.

I'm using a modified version of the following example program to clarify the problems:

http://help.solidworks.com/2017/english/api/sldworksapi/Disable_Equation_Example_VB.htm

Disabled Property (IEquationMgr)

* Function: Gets or sets whether to disable the specified equation in the model. Property Value: True to disable the specified equation, false to not*

**Problem 1 - incorrect swEqnMgr.Disabled(i) get values:**

swEqnMgr.Disabled(i) should get the disabled state of an equation, but it gets incorrect values of equations greater than i=0.

---------------------------------------------

When running the macro with a part (see attachment) with all equations enabled:

Macro:

Sub status()

Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim swEqnMgr As SldWorks.EquationMgr

Dim i As Long

Dim count As Long

Dim disabledCount As Long

Dim totalCount As Long

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

Set swEqnMgr = swModel.GetEquationMgr

count = swEqnMgr.GetCount

disabledCount = swEqnMgr.GetDisabledEquationCount

totalCount = count + disabledCount

Debug.Print "Number of equations in part = " & count

For i = 0 To totalCount - 1

Debug.Print " Eqn(" & i & ") " & swEqnMgr.Disabled(i) & " = " & swEqnMgr.Equation(i)

Next i

End Sub

Returns:

Number of equations in part = 5

Eqn(0) False = "1"= 100

Eqn(1) True = "2"= 200 < incorrect value True must be False

Eqn(2) True = "3"= 20 < incorrect value True must be False

Eqn(3) True = "4"= 10 < incorrect value True must be False

Eqn(4) True = "5"= 4 < incorrect value True must be False

---------------------------------------------

**Problem 2 - enabling correct equation:**

After disabling equations (by API or manual) swEqnMgr.Equation(i) returns nothing for disabled equations.

So when there're multiple equations disabled, there's no way to determine the correct equation number for re-enabling a specific equation.

---------------------------------------------

Running the above Macro again when equations Eqn(3) and Eqn(4) disabled:

Returns:

Number of equations in part = 3

Eqn(0) False = "1"= 100

Eqn(1) True = "2"= 200< incorrect value True must be FalseEqn(2) True = "5"= 40

< incorrect value True must be FalseEqn(3) True =

< unknown equation

Eqn(4) True =< unknown equation

---------------------------------------------

**Problem 3 - enabling equation:**

Enabling equations is only possible using equation numbers 0 to *swEqnMgr.GetDisabledEquationCount*

Hereby equation numbers are mixed up with equation numbers of enabled equations.

Does anyone have a clue?

Or can somebody test it at their system.

Thanks in advance!