工程师平台
Abaqus 实战2026-09-09

装错地方不会报错,只是菜单里什么都没有

装 Abaqus 插件不像装软件:没有安装向导、不写注册表、不弹成功提示。 它本质上只是把一个文件夹放到 Abaqus 启动时会扫的目录里,然后完全重启 CAE。 也正因为如此,装错了的表现不是报错,是菜单里什么都不出现。 这篇讲清楚插件到底装在哪、Abaqus 扫哪几个目录、菜单没出现时按什么顺序查。
默认只装一个地方
%USERPROFILE%\abaqus_plugins\materialImporter。 不要管理员权限、不动安装目录,换 Abaqus 版本不用重装。
装错目录是完全静默的
不报错、不提示,菜单就是不出现。Abaqus 只扫固定的四个目录。
装两份比没装更难查
四个目录每一个都会加载,旧副本会让菜单出现两次, 而且跑的可能正是旧的那份。

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 发现插件的规则也只有一句话:

发现规则
CAE 启动时扫描每个插件目录下的子文件夹,执行文件名以_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
3Abaqus 安装目录内的 abaqus_plugins(…\code\python3.x\lib\abaqus_plugins\)随安装走、要管理员权限,一般留给单位装机
4启动 CAE 时所在工作目录下的 abaqus_plugins换个目录启动就失效,不适合正式安装

想知道第 2 项在你机器上指向哪,在 CAE 命令行区执行print(session.pluginCentralDir),打印出来的就是。

「每一个都加载」的代价:两份插件 = 两个菜单
同一个插件在两个目录各留一份,Plug-ins 下会出现两个「材料库」, 而且可能是旧的那份在跑 —— 这是「升级完发现行为没变」的头号原因。 1.2.1 起 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菜单没出现:按这七步查

  1. 完全重启 CAE 了吗。不是关文件、不是新建模型,是连 CAE 进程一起退出再开。插件只在启动时扫描。
  2. 找对菜单了吗。是顶级菜单栏的 Plug-ins(装了中文 locale 后 Abaqus 自己的菜单可能译名不同, 但本插件的菜单项中文是固定的):
    Plug-ins  >  材料库  >  导入材料...
                            >  导出材料...
                            >  材料健康检查...
    英文界面下同一路径是 Plug-ins > Material Library > Import materials...等三项 —— 是同一个插件,不是没装上。 想让插件界面变中文要给 Abaqus 配 locale 别名,步骤在帮助文档第 07 节;不配也能用,只是英文。
  3. 目录层级对吗。按上一节的结构核:materialImporter_plugin.py 必须正好在materialImporter 文件夹下,不多不少一层。
  4. 是不是在压缩包里跑的 install.bat。看黑窗口里有没有 [ERROR] materialImporter\ not found next to this script.; 有就先「全部解压」再从解压出来的文件夹里双击。
  5. 复制是否被占用打断。安装时 CAE 还开着,xcopy 可能失败,脚本会打[ERROR] Copy failed. Is Abaqus/CAE still running? Close it and retry.关掉 CAE 重跑一次即可。成功时最后一行是 [OK] Installed to 加目标路径。
  6. 是不是装去了别的 Abaqus。一台机器装了多个大版本时,个人目录对所有版本生效(这是优点), 但如果你或管理员曾手工往某个版本的安装目录、plugin_central_dir 放过旧版, 那个版本看到的是旧副本。重跑一次 install.bat,让它把旧副本扫出来。
  7. 你在哪个模块里看。注册用的是 ALL,所有模块都该有;如果只在某个模块没有,说明 CAE 菜单被自定义过 (单位统一装机环境偶发),找管理员恢复菜单文件,不是插件的问题。

帮助文档报错对照表里「菜单里没有材料库」「界面全是问号」两行就是这份清单的浓缩。

04菜单出现两个,或升级后行为没变

这一节处理「装是装上了,但跑的不是新版」。两个原因,经常同时出现。

原因一:旧副本还在另一个扫描目录

按第 2 节,四个目录每个都加载。最典型的组合:新版装在用户目录(目录 1), 旧版当初手工放进了 plugin_central_dir(目录 2)。重跑 install.bat 走它的删除提示, 或手工删旧目录即可。卸载脚本只删用户目录那份,central dir 里的要手工删。

原因二:旧字节码缓存

Python 会把编译结果缓存进 __pycache__。 极端情况下,一个旧版留下的缓存文件能让已经不存在的旧 .py继续被加载 —— 你看到的菜单是新的,行为是旧的。install.bat 复制前会整目录清掉 __pycache__, 手工复制升级的话,记得自己删这一个文件夹。

一次真实事故:版本号写在四个地方
1.4.1 的发行说明记了一起事故:当时插件的版本号散落在四个文件里, 结果打包发出时注册给 Abaqus 的还是 1.4。后来版本号收敛到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 实战目录。

常见问题

Abaqus 插件应该安装到哪个目录?

默认装到用户目录下的 %USERPROFILE%\abaqus_plugins\,本插件具体是 %USERPROFILE%\abaqus_plugins\materialImporter,资源管理器里形如 C:\Users\你的用户名\abaqus_plugins\materialImporter。双击 install.bat 会自动复制到这里,不需要管理员权限、不修改 Abaqus 安装目录,以后升级 Abaqus 大版本也不用重装。Abaqus 另外还扫三个目录:环境文件 plugin_central_dir 指定的目录、安装目录内的 abaqus_plugins、启动 CAE 时工作目录下的 abaqus_plugins。

abaqus_plugins 装好了但 Plug-ins 菜单里没有显示怎么办?

按顺序查:一、必须完全退出 CAE 进程再重开,插件只在启动时扫描;二、菜单位置是 Plug-ins > 材料库 > 导入材料,英文界面是 Plug-ins > Material Library > Import materials,是同一个插件;三、materialImporter_plugin.py 必须正好在 materialImporter 文件夹下,不能多套一层文件夹也不能把 py 文件平铺在插件根目录;四、不能在压缩包预览里直接双击 install.bat,要先全部解压;五、安装时 CAE 开着会导致复制失败,黑窗口出现 Copy failed 就关掉 CAE 重跑;六、检查另一个扫描目录里是否有旧副本抢菜单;七、该插件注册为所有模块可用,只在单个模块缺失通常是单位装机时菜单文件被自定义。装错目录的特征是完全没有任何报错,因为 Abaqus 根本没去看那个目录。

为什么 Plug-ins 菜单里出现了两个「材料库」?

因为 Abaqus 会加载它知道的每一个插件目录,同一个插件装两份就会出现两个菜单,而且跑的可能是旧的那份。最常见的组合是新版在用户目录、旧版当初手工放进了 plugin_central_dir。重跑 install.bat,它会自动扫描中央目录和安装目录里的旧副本、列出完整路径并询问是否删除;手工删也可以。另外升级前要清掉旧目录下的 __pycache__ 字节码缓存,否则旧 .py 可能继续被加载,install.bat 会自动做这一步。

Abaqus 2022 或更早版本能用这个插件吗?

菜单和本地 JSON 导入都能用。版本分界线是 2023:Abaqus 从 2023 起才把 CAE 内置 Python 换成 Python 3,在线材料库依赖的 urllib.request 是 Python 3 才有的模块,无法绕过,所以 2022 及更早版本不显示在线库页签,也没有激活入口,本地 JSON 导入不设激活门槛,功能本身不缺。插件文件放在同一个用户插件目录,多个 Abaqus 大版本共用这一份,不用各装一遍。

卸载插件或换电脑以后还要重新激活吗?

卸载双击 uninstall.bat 即可,它只删除用户插件目录下的 materialImporter 文件夹。激活记录(license.json)不在插件目录里,而在本机的 LocalAppData 下,所以覆盖安装、卸载重装都不会丢激活,不占新席位,升级插件只需要重跑 install.bat 后重启 CAE。换电脑属于新设备,要重新走一次手机号验证码激活,设备席位满了可以在插件里释放旧设备,超过 30 天未使用的设备会自动释放。

能不能把插件装到 D 盘或单位的插件中央目录?

可以走 plugin_central_dir:它在 Abaqus 环境文件(v6.env)里指定,单位统一部署常用,Abaqus 启动时同样会加载这个目录。install.bat 默认装用户目录,但会沿 abaqus 命令找到环境文件、扫描中央目录里是否已有旧副本。要新装到中央目录,把 materialImporter 文件夹按「正好一层」的结构手工复制进去再重启 CAE 即可;不建议使用「启动工作目录下的 abaqus_plugins」,换个目录启动 CAE 就失效。

这一步可以不自己做

装好后先别管激活 —— 点「材料健康检查」,它不要求登录也不要求授权, 能在消息区跑出一份报告,就证明目录发现、菜单注册、内核初始化整条链全通。

在线材料库需要 Abaqus 2023 或更高版本;2022 及更早只能用本地 JSON 材料库。