我使用VisualDoc在有限元软件(MSC MARC)中迭代材料属性。 我遇到的问题是VisualDoc一次执行FEM仿真的多个窗口,我需要FEM程序一次执行一次运行。
在visual doc中,调用MARC程序如下:调用cmd批处理文件,打开一个打开MARC模拟的python脚本。 (我尝试了多种从VisualDOC调用MARC的方法,这是唯一可行的方法)
首先我尝试将MARC软件设置为非批处理模式,但我找不到设置来执行此操作。
目前我正在尝试编写一个使用的python脚本 subprocess.Popen和它伴随着wait()函数,但我手动要求Python再次运行,而第一个MARC运行仍在执行,它仍然打开第二个MARC模拟。有没有办法强制Python等待程序在打开下一次运行之前完成执行?
p = subprocess.Popen(["procedure.proc"], shell = True)
p.wait()
我想尝试使用cmd来获得相同的效果,但是由于python打开了MARC程序,我认为最好将等待编码到python中。我在这个假设中是对的,还是通过cmd强制执行等待会更好?
当前的cmd代码如下:
CD C:\INTERFACEMARC\loop
openmarc.py
注意: 我无法使用for循环,因为python脚本只应打开一次MARC程序才能使用我的VisualDoc优化代码。
目前打开MARC的代码如下所示,但据我所知,这并不妨碍在MARC仍在运行时第二次执行python脚本(基于我的手动测试)。