01安装的本质:复制文件夹,发现靠文件名
解压 MaterialImporter-1.5.0.zip 后双击 install.bat,它做的事用一句话讲完: 把包里的 materialImporter 文件夹整个复制到
%USERPROFILE%\abaqus_plugins\materialImporter在资源管理器里展开就是:
C:\Users\你的用户名\abaqus_plugins\materialImporter- 不需要管理员权限,不动 Abaqus 安装目录,不写注册表。
- 插件文件都是普通的
.py和.json,复制即可用,已在 Abaqus 2025 上实测;装 2023、2024 也是这一个目录。 - 以后升级 Abaqus 大版本不用重装插件 —— 用户插件目录在你的用户目录下,跟 Abaqus 版本无关。
- 复制前安装脚本会清掉旧版残留的
__pycache__(原因见第 4 节)。
Abaqus 发现插件的规则也只有一句话:
_plugin.py 结尾的文件。本插件的注册文件就叫materialImporter_plugin.py。所以:- 插件只在 CAE 启动时加载一次,装完必须完全关掉 CAE 再打开,没有热加载,在会话中途复制文件不会出现菜单。
- 不要改这些
.py文件的后缀或编码,改了名字插件就「消失」。 - 注册时用的是
applicableModules=ALL—— 不管你在 Part、Property、Mesh 还是 Job 模块,顶级 Plug-ins 菜单里都有它。
02Abaqus 到底扫哪四个目录
放在别的目录里,Abaqus 根本不会去看。它启动时扫的是下面四个, 而且不是找到一个就停 —— 每一个都会加载:
| # | 目录 | 什么时候会用到 |
|---|---|---|
| 1 | %USERPROFILE%\abaqus_plugins\ | install.bat 用的就是这个,个人电脑什么都不用配 |
| 2 | 环境文件里 plugin_central_dir 指定的目录 | 单位统一部署常见,形如 D:\SIMULIA\CAE\plugins\2025 |
| 3 | Abaqus 安装目录内的 abaqus_plugins(…\code\python3.x\lib\abaqus_plugins\) | 随安装走、要管理员权限,一般留给单位装机 |
| 4 | 启动 CAE 时所在工作目录下的 abaqus_plugins | 换个目录启动就失效,不适合正式安装 |
想知道第 2 项在你机器上指向哪,在 CAE 命令行区执行print(session.pluginCentralDir),打印出来的就是。
install.bat 会自动扫上面第 2、3 项 (沿 abaqus 命令找安装根、搜 *v6.env 里的 plugin_central_dir,再扫安装目录内的 abaqus_plugins), 发现旧副本就打印完整路径、问你要不要删:An older copy of this plug-in is also installed here:
D:\SIMULIA\CAE\plugins\2024\materialImporter
Delete it now? [Y/N]第 4 项安装脚本刻意不查:CAE 从哪个目录启动它无从得知, 猜错等于建议你删自己的文件夹。曾经手工往工作目录放过插件的,自己回忆一下。
层级必须正好一层
手工复制安装时,90% 的「菜单没有」死在层级上。正确结构:
<插件目录>\materialImporter\materialImporter_plugin.py
\materialImporterKernel.py
\materialLibrary.py
\... 其余 .py 与两个 .json 数据文件- 不能多套一层:解压出来的
materialImporter\\materialImporter\\…直接拷过去,Abaqus 找不到内层的注册文件。 - 不能平铺:把十几个
.py直接散放在 abaqus_plugins 根目录里也不认,必须有materialImporter这一层文件夹。 - 整个包要先解压再装;在压缩包预览里双击 .bat,脚本在临时目录里找不到 materialImporter 文件夹,会立刻停在
[ERROR] materialImporter\ not found next to this script.
03菜单没出现:按这七步查
- 完全重启 CAE 了吗。不是关文件、不是新建模型,是连 CAE 进程一起退出再开。插件只在启动时扫描。
- 找对菜单了吗。是顶级菜单栏的
Plug-ins(装了中文 locale 后 Abaqus 自己的菜单可能译名不同, 但本插件的菜单项中文是固定的):
英文界面下同一路径是Plug-ins > 材料库 > 导入材料... > 导出材料... > 材料健康检查...Plug-ins > Material Library > Import materials...等三项 —— 是同一个插件,不是没装上。 想让插件界面变中文要给 Abaqus 配 locale 别名,步骤在帮助文档第 07 节;不配也能用,只是英文。 - 目录层级对吗。按上一节的结构核:
materialImporter_plugin.py必须正好在materialImporter文件夹下,不多不少一层。 - 是不是在压缩包里跑的 install.bat。看黑窗口里有没有
[ERROR] materialImporter\ not found next to this script.; 有就先「全部解压」再从解压出来的文件夹里双击。 - 复制是否被占用打断。安装时 CAE 还开着,xcopy 可能失败,脚本会打
[ERROR] Copy failed. Is Abaqus/CAE still running? Close it and retry.关掉 CAE 重跑一次即可。成功时最后一行是[OK] Installed to加目标路径。 - 是不是装去了别的 Abaqus。一台机器装了多个大版本时,个人目录对所有版本生效(这是优点), 但如果你或管理员曾手工往某个版本的安装目录、plugin_central_dir 放过旧版, 那个版本看到的是旧副本。重跑一次
install.bat,让它把旧副本扫出来。 - 你在哪个模块里看。注册用的是 ALL,所有模块都该有;如果只在某个模块没有,说明 CAE 菜单被自定义过 (单位统一装机环境偶发),找管理员恢复菜单文件,不是插件的问题。
帮助文档报错对照表里「菜单里没有材料库」「界面全是问号」两行就是这份清单的浓缩。
04菜单出现两个,或升级后行为没变
这一节处理「装是装上了,但跑的不是新版」。两个原因,经常同时出现。
原因一:旧副本还在另一个扫描目录
按第 2 节,四个目录每个都加载。最典型的组合:新版装在用户目录(目录 1), 旧版当初手工放进了 plugin_central_dir(目录 2)。重跑 install.bat 走它的删除提示, 或手工删旧目录即可。卸载脚本只删用户目录那份,central dir 里的要手工删。
原因二:旧字节码缓存
Python 会把编译结果缓存进 __pycache__。 极端情况下,一个旧版留下的缓存文件能让已经不存在的旧 .py继续被加载 —— 你看到的菜单是新的,行为是旧的。install.bat 复制前会整目录清掉 __pycache__, 手工复制升级的话,记得自己删这一个文件夹。
materialVersion.py 一处。这个故事对用户的意义是: 怀疑版本不对时,以菜单实际行为为准,不要只看安装包文件名, 并按上面两步把旧副本和字节码缓存都清掉。05版本边界、多版本共存与卸载
| 情况 | 行为 |
|---|---|
| Abaqus 2023 及以上 | 全部功能:在线材料库 + 本地 JSON(联网用的 urllib.request 是 Python 3 才有,2023 起 CAE 内置 Python 才换成 3,绕不过去) |
| Abaqus 2022 及更早 | 菜单正常出现,本地 JSON 导入直接可用且不设激活门槛;在线材料库页签不出现 |
| 一台机器多个 Abaqus 大版本 | 共用用户目录这一份插件,不用各装一遍 |
| 卸载 | 双击 uninstall.bat,只删 %USERPROFILE%\abaqus_plugins\materialImporter |
卸载有两个细节值得知道:
- 激活记录不在插件目录里(在本机的 LocalAppData 下)。 覆盖安装、卸载重装都碰不到它,重装不占新席位。 这也是为什么升级插件只需要重跑 install.bat,不用重新发短信激活。
- 如果当初是手工装进 plugin_central_dir 的,卸载脚本会提示那里没有东西可删 —— 它只负责自己装的位置,central dir 里的副本要手工删除。
06装好后的第一分钟:不用激活先验安装
菜单出来了,怎么确认装得是对的?先不要急着激活: 点 Plug-ins > 材料库 > 材料健康检查...。 它扫描当前模型的全部材料,把弹性模量范围、塑性硬化曲线、 互斥组合(比如弹性和超弹同时存在)、单位制一致性打印到 CAE 消息区,不要求激活、不要求登录。能跑出一份报告,就证明插件发现、 菜单注册、内核初始化整条链都是通的。
然后再打开 导入材料...,第一次会停在激活页签, 激活流程和 30 天有效期的说明在帮助文档第 01、02 节。想先不激活看流程,也可以用包里附带的 materials_sample.json(2022 及更早版本直接可用); 自己写 JSON 时的格式、材料名规则分别见Excel 材料表怎么进 Abaqus和材料名规则。
装插件的下载入口和版本说明在插件产品页,本系列全部文章在Abaqus 实战目录。