Rhino 3D

Rhino 3D

🚀 Rhino MCP 服务器

本项目旨在借助 MCP 协议为 Rhino 3D 赋予 AI 辅助建模能力,让用户能通过 AI 助手(如 Claude)轻松创建与操作 3D 对象。不过目前项目尚在开发中,存在一些问题待解决。

⚠️ 重要提示

该项目目前处于积极开发阶段,尚未正常运行。Rhino 插件在创建对象时存在问题。我们正在积极寻求社区的帮助,尤其是熟悉 Rhino API、C# 插件或 MCP 集成的开发者。

🚀 快速开始

目前项目仍在开发阶段,暂无法正常运行。我们正在积极解决存在的问题,若你熟悉 Rhino API、C# 插件或 MCP 集成,欢迎加入我们共同开发。

✨ 主要特性

  • 通过 MCP 协议实现 Rhino 3D 的 AI 辅助建模功能,用户可借助 AI 助手(如 Claude)创建和操作 3D 对象。
  • 拥有统一的日志框架,能记录服务器、插件、AI 工作站及诊断日志,并可通过 log_manager.py 实现日志查看、分析和报告生成。

🔧 技术细节

系统架构

项目结构如下:

  1. Python 脚本
    • combined_mcp_server.py:主 MCP 服务器实现。
    • diagnose_rhino_connection.py:用于测试 Rhino 连接状态的诊断工具。
    • log_manager.py:管理日志文件并提供分析功能。
  2. Shell 脚本
    • server_launcher.sh:统一启动脚本,支持多种服务器模式。
  3. 目录结构
    • logs/:存储所有组件的日志文件。

功能模块

1. MCP 服务器实现

  • combined_mcp_server.py:核心服务器实现,支持以下工具:
    • geometry_tools.create_sphere:创建指定中心和半径的球体。
    • geometry_tools.create_box:创建指定尺寸的长方体。
    • geometry_tools.create_cylinder:创建指定参数的圆柱体。
    • scene_tools.get_scene_info:获取当前场景信息。
    • scene_tools.clear_scene:清除场景中的所有对象。
    • scene_tools.create_layer:在文档中创建新图层。

2. 插件开发

  • Rhino 插件:负责与 Rhino 的交互,目前存在对象创建失败的问题,需进一步调试和修复。

日志系统

项目采用统一的日志框架,记录服务器日志、插件日志、AI 工作站日志和诊断日志。所有日志按组件分类存储于 logs/ 目录,并遵循一致的格式。通过 log_manager.py 可实现日志查看、分析和报告生成。

📚 详细文档

开发指南

项目结构

.
├── combined_mcp_server.py       # 主 MCP 服务器实现。
├── diagnose_rhino_connection.py # 测试 Rhino 连接状态的诊断工具。
├── log_manager.py               # 日志管理工具。
└── server_launcher.sh           # 统一启动脚本。

添加新功能

  1. 新增工具
    • 将新功能方法添加至 combined_mcp_server.py
    • 确保遵循现有日志记录规范。
  2. 诊断与修复
    • 使用 diagnose_rhino_connection.py 测试插件与 Rhino 的连接状态。
    • 修复当前存在的对象创建问题,确保插件稳定运行。
  3. 日志管理
    • 更新日志框架以支持新功能模块。
    • 确保所有日志输出遵循统一格式。

故障排除

常见问题

  1. 连接失败
    • 检查是否有旧进程占用端口或资源。
    • 使用 server_launcher.sh help 重启相关服务。
  2. 日志分析
    • 查看 logs/ 目录中的详细日志以定位问题。
    • 使用 log_manager.py report 生成错误报告。
  3. 插件调试
    • 在 Rhino 中启用开发者模式,检查插件加载状态。
    • 确保所有 API 调用正确无误。

📄 许可证

本项目遵循 MIT License 协议,具体内容见 LICENSE 文件。

  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-09-30 17:42

相似服务问题