

git clone https://github.com/Cai-aa/abaqus-mcp.git "$env:USERPROFILE\.abaqus-mcp"
pip install mcp
Copy-Item -Force "$env:USERPROFILE\.abaqus-mcp\abaqus_v6.env.example" "$env:USERPROFILE\abaqus_v6.env"
Copy-Item -Recurse -Force "$env:USERPROFILE\.abaqus-mcp\abaqus_plugins\mcp_control" "$env:USERPROFILE\abaqus_plugins\mcp_control"



# -*- coding: utf-8 -*-"""Abaqus MCP GUI menu loader.Copy this directory to the Abaqus user plugin folder. The loader executes themain socket bridge plugin from ABAQUS_MCP_HOME so there is only one maintainedimplementation."""from __future__ import print_functionimport osimport sysimport tracebackdef _resolve_mcp_home():"""获取Abaqus‑MCP主目录:优先读取环境变量ABAQUS_MCP_HOME,没有则默认 ~/.abaqus‑mcp"""env_home = os.environ.get("ABAQUS_MCP_HOME", "").strip()if env_home:return env_homereturn os.path.join(os.path.expanduser("~"), ".abaqus-mcp")def _load_main_plugin():"""加载真正的插件主文件 abaqus_mcp_plugin.py"""plugin_path = os.path.join(_resolve_mcp_home(), "abaqus_mcp_plugin.py")# 判断主插件文件是否存在if not os.path.exists(plugin_path):print("Abaqus MCP loader could not find: " + plugin_path)print("Set ABAQUS_MCP_HOME to the folder containing abaqus_mcp_plugin.py.")returntry:import __main__# 防止Abaqus重复加载菜单(Abaqus启动插件会多次执行插件脚本)if getattr(__main__, "_ABAQUS_MCP_MENU_REGISTERED", False):return# 读取源码,在Abaqus主命名空间(__main__)执行代码with open(plugin_path, "r") as handle:code = handle.read()exec(compile(code, plugin_path, "exec"), __main__.__dict__)except Exception:print("Abaqus MCP loader failed:")traceback.print_exc()# Abaqus启动插件目录时自动执行加载_load_main_plugin()
分离 loader 与真实插件代码
Abaqus_plugins),但实际abaqus_mcp_plugin.py放在另外一个目录。只维护一份主代码,不用每个 Abaqus 版本插件目录复 制一份源码。 路径查找逻辑
ABAQUS_MCP_HOME~/.abaqus‑mcp防重复注册__main__._ABAQUS_MCP_MENU_REGISTERED
exec 动态执行源码
关键点:
exec(..., __main__.__dict__)Abaqus 的 GUI 菜单注册、自定义对话框必须运行在 Abaqus CAE 主进程__main__命名空间;如果普通import导入,菜单会注册失败。 ⚠️这是 Abaqus 插件开发常见技巧,不能简单import abaqus_mcp_plugin。
错误输出到 Abaqus 命令窗口
%HOME%\abaqus_plugins~/abaqus_pluginsabaqus_mcp_plugin.py放到:~/.abaqus‑mcp/ABAQUS_MCP_HOME指向该文件所在文件夹could not find
ABAQUS_MCP_HOME _ABAQUS_MCP_MENU_REGISTERED由abaqus_mcp_plugin.py在注册完菜单后设置;如果主脚本忘记设置该变量,就会每次刷新插件就新增菜单。__main__,普通 import 会运行在模块命名空间,菜单无法挂载到 CAE 主窗口,这就是脚本使用 exec 的原因。https://github.com/Cai-aa/abaqus-mcp
直接在codex中安装即可:
安装成功后在codex中可以看到这个插件:
有以上两个文件就可以在codex中进行abaqus交到建模和仿真了,当然这其中要利用API Key,更多可以进去星球交流,最近分享了很多这方面知识。