PyCharm里写 `from abaqus import *` 下面全是红色波浪线,代码补全也没有,跟瞎写一样。ABAQUS自带的Python 2.7解释器跟系统装的3.x完全隔开,IDE默认不认它的库。搜了一圈才搞明白,得把解释器指到ABAQUS安装目录下的python.exe,再把PYTHONPATH环境变量配好。
先找到ABAQUS的Python解释器路径,常规安装位置是 C:\SIMULIA\CAE\2016\win_b64\code\bin\python.exe,或者 C:\SIMULIA\Abaqus\6.14-5\tools\SMApy\python2.7\python.exe,不同版本路径有差异,记不清了反正不在C盘。别用tools\SMApy\python2.7那个,某些版本指向它会导致SDK无效。把C:\SIMULIA\Commands加到系统PATH里,abaqus命令才能在终端直接跑。在ABAQUS CAE的Kernel命令行里输入 import os; print(os.environ['PYTHONPATH']),把输出结果复制下来设成系统环境变量PYTHONPATH,这是最省事的做法。
然后在PyCharm里 File → Settings → Project Interpreter,点齿轮选Add,System Interpreter,浏览到上面那个python.exe,确定。重启PyCharm让它读到新的PYTHONPATH。但光有解释器还不够,代码补全依然不行,因为ABAQUS的库是编译过的.pyc,PyCharm读不了函数签名。得装代理模型,就是一套.py文件,定义了ABAQUS API的函数名和参数列表,解压到解释器目录下的 lib/site-packages 里。装完之后 `mdb.models` 、 `part` 、 `mesh` 这些终于有补全了。

PyCharm里运行脚本不能直接点绿色三角,得建External Tool。File → Settings → Tools → External Tools,加一个,Program填 C:\SIMULIA\Commands\abq2023.bat(或者abaqus.bat),Arguments填 `cae noGUI=$FilePath$`,Working directory填 $ProjectFileDir$。这样写完直接Tools里点一下就能提交给ABAQUS算,不用切到命令行。调试还是别指望IDE里断点了,ABAQUS的kernel进程跟IDE是两个东西,跑起来就脱离控制了。
Sublime Text那边简单得多,装个Package Control,Command Palette里搜Install Package,再搜Abaqus装上,inp文件的关键字高亮就有了,还能自动删除多余注释。它最大的好处是自动更新,ABAQUS每操作一步就写一行到工作目录的 abaqus.rpy 文件里,Sublime开着一分屏,右边CAE点一下左边rpy就刷出来,学API最快的路子就是这个。Python脚本运行Sublime自带的build system就能跑,不用像PyCharm那样配External Tool。但如果是提交job到ABAQUS kernel,还是得写个自定义的Build System,cmd里调abq命令,`"cmd": ["abq2023.bat", "cae", "noGUI=$file"]`,按Ctrl+B就能提交。
有一次给同事装环境,PyCharm解释器配好了,代理模型也放了,`from abaqus import *` 还是报红。那天下午刚开完周会,会议室空调太冷,回来工位上暖风机还没热起来,手有点僵。查了半天发现他装的是Abaqus 2023,但代理模型用的是2021版的,有些新函数找不到,换了一套2023对应的代理模型才消掉。另一个坑是PYTHONPATH里的分号,Windows环境变量多个路径用分号隔开,从Kernel里复制出来的时候末尾多带了一个分号,PyCharm解析出错,删掉就好了。
D:\SIMULIA\EstProducts\2023\win_b64\SMA\site\custom_v6.env,PYTHONPATH里别忘了加上这个site目录,有些模块从这儿加载。
请访问地址:
https://abqpy.readthedocs.io/projects/pyabaqus/en/latest/
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删