Deactivating Model Setup Check when solving all solutions

Community Manager Community Manager
Community Manager


Deactivating the "Model Setup Check" is necessary when peforming a Nastran solve on a subset of the model. If multiple solutions exist and you choose to solve all solutions, it is not possible to automatically deactivate this option for all solves.


Note: The ability to solve a subset of a model can be quite useful with a large model with multiple meshes. To understand further please refer to this previous Knowledge base article. 



For a model with many solutions a user wanted to take advantage of solving all solutions using RMB option on the .sim node of the Simulation Navigator.




In addition the user is performing a structrual solve using NX Nastran and chooses to solve only a subset of the model. This is done via the "Edit Advanced Solver Options..." under RMB on the active solution:




By selecting the "Subset Export" under the "Export Options" tab to work on a selected group NX requires that the "Model Setup Check" be deactivated  prior to solve.





The problem is that if you are only running one solution, you have the abilitiy to deactive "Model Setup Check" since you manually start the solve. However the "solve all solutions" peformes a batch solve and the user is unable to do so. 


So the question remains: 


  • Could anybody tell me how to "globally" de-activate "Model Setup Check"?



Here was the solution Jim was able to provide the user using some simple automation:




 The model check toggle is a property on the Solve dialog - it is not a property of the solution, so it cannot be set in advance.


The only workaround would be to write a custom "Solve All Solutions" journal to loop through all of the solutions and solve them. The API call to launch the solve for an individual solution (NXOpen.CAE.SimSolution.Solve()) takes the SetupCheckOption as its second argument so you could set it to "DoNotCheck" in the journal.


Fortunately, this journal is very simple:



Option Strict Off
Imports System
Imports NXOpen
Imports NXOpen.UF

Module SolveAllSolutions

    Sub Main()

        Dim theSession As Session = Session.GetSession()

        Dim SimPart As CAE.SimPart = theSession.Parts.BaseWork

        Dim Simulation As CAE.SimSimulation = SimPart.Simulation

        For Each solution As CAE.SimSolution In Simulation.Solutions

            Simulation.ActiveSolution = solution
            solution.Solve(CAE.SimSolution.SolveOption.Solve, CAE.SimSolution.SetupCheckOption.DoNotCheck)

        Next solution

    End Sub

End Module



import sys
import NXOpen
from NXOpen import CAE

theSession = NXOpen.Session.GetSession()

def main(*args): 

    SimPart = theSession.Parts.BaseWork

    Simulation = SimPart.Simulation

    for solution in Simulation.Solutions:

        Simulation.ActiveSolution = solution
        solution.Solve(CAE.SimSolution.SolveOption.Solve, CAE.SimSolution.SetupCheckOption.DoNotCheck)

# Main program.

if __name__ == "__main__":




Simcenter 3D Community Manager
Simulation and Test Solutions