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:
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__": main()