【技术文档摘要】: English | 中文
一个设计用于与已运行的Abaqus/CAE图形用户界面(GUI)交互的MCP(Model Context Protocol)服务器。它允许在Abaqus环境中执行Python脚本,并通过MCP工具从Abaqus消息日志/区域中检索信息。
该服务器使用GUI自动化技术(pywinauto)来控制Abaqus/CAE应用程序。
pywinauto和Abaqus GUI交互)。使用pip安装所需的Python包:
pip install -r requirements.txt
(参见requirements.txt中的依赖项列表,主要是mcp[cli],pywinauto,pygetwindow,psutil,pywin32。)
导航到服务器目录并运行:
python mcp_server.py
服务器将启动并准备好接受MCP请求。
execute_script_in_abaqus_gui
python_code (str):要执行的Python脚本内容(Abaqus脚本接口命令)。str - 表明脚本提交尝试结果的消息(例如,“脚本已提交以进行执行...”)。get_abaqus_gui_message_log工具。get_abaqus_gui_message_log
str - 从消息区域提取的文本,或者如果检索失败,则返回错误/状态消息。abaqus_scripting_strategy
execute_script_in_abaqus_gui和get__abaqus_gui_message_log)的综合指导。它解释了脚本执行和结果验证的工作流程,工具假设以及故障排除技巧。强烈建议LLM代理在尝试使用这些工具之前咨询此提示。pywinauto提供了一定程度的抽象,但仍可能出现问题。get_abaqus_gui_message_log工具无法准确检索消息,或者execute_script_in_abaqus_gui在“运行脚本”对话框上遇到困难,您可能需要使用UI检查工具(例如,pywinauto.inspect模块的InspectDialog或py_inspect.py脚本,FlaUInspect用于UIA后端)来识别您Abaqus版本中目标UI元素的正确属性(AutomationId,Name,ClassName,ControlType)。这些属性可以用来细化mcp_server.py中的搜索逻辑。time.sleep()调用,并使用pywinauto的Timings.slow()来更好地处理Abaqus潜在缓慢的UI响应时间。在某些环境中可能需要调整这些设置。abaqus-mcp-gui-server/
├── mcp_server.py # 主MCP服务器脚本
├── requirements.txt # Python依赖项
└── README.md # 此文档文件
该项目旨在学习、研究和特定自动化任务。使用Abaqus软件时,请始终遵守Dassault Systèmes提供的许可条款。