我们可以使用.bat文件直接提示运行脚本而无需进入abaqus>文件>运行脚本吗?

时间:2017-06-28 09:28:48

标签: python batch-file cmd macros abaqus

我正在尝试创建一个.bat文件,该文件可以检查abaqus会话是否已打开以及是否已打开,然后打开其运行脚本提示。为此,我使用以下代码:

@echo off
if exist c:\SIMULIA\Abaqus\6.14-3\code\bin\abq6143.exe goto openscript
else exit
:openscript
echo "file exist"   
abaqus cae noGUi=D:\Saurabh\example\macro1.py
pause

命令窗口附带msg“文件存在”,然后出现以下错误

Abaqus License Manager签出以下许可证: “cae”从Flexnet服务器myshec184706d发布6.14 < 130个许可证中有13个仍可用>

,命令窗口突然消失。 “macro1”实际上是使用宏管理器记录的,当我从文件> runscript运行它时,它工作正常 我真正想要的是在已经打开的abaqus应用程序中从这个.bat文件中提示“runscript”。此跟踪目的需要此.bat文件,即脚本的使用次数。 任何人都可以帮我解决这个问题吗?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

据我所知,无法更新已经打开读/写的模型数据库。但是,如果您只想从打开的会话中读取或复制数据,则可以尝试使用辅助Mdb访问数据。例如:

try:
    openMdb(filename)
except AbaqusException, Msg:
    sys.__stdout__.write("File may be in use by another CAE session.\n")
    sys.__stdout__.write("Error Msg: {0}\n".format(Msg))
    sys.__stdout__.write("Now opening file in a temporary auxiliary mdb.\n")
    mdb = Mdb()
    mdb.openAuxMdb(filename)
# The auxMdb object has a few methods documented in the scripting user's manual
# Otherwise, copy a model from the auxMdb and then you'll have full access.
# Don't forget to save your work, if you made changes to the Mdb. Note that saving
# will result in a new on-disk cae file in the current work directory.

一旦cae文件打开并且您可以访问Mdb或其副本(如上所示),那么您可以1)直接在Python脚本中使用宏函数,或者2)调用您的宏脚本使用:

import allAbaqusMacros
allAbaqusMacros.Macro1()