Rhino

Rhino

🚀 RhinoMCP - Rhino 模型上下文协议集成

RhinoMCP 借助 Model Context Protocol (MCP) 实现了 Rhino 与 AI 代理的连接,让 AI 代理能够直接对 Rhino 进行控制和交互。这种集成方式使得在 Rhino 3D 中实现提示辅助的 3D 模型设计成为可能。

✨ 主要特性

  • 双向通信:借助基于套接字的服务器,实现 AI 代理与 Rhino 的连接。
  • 对象操作:可在 Rhino 中创建、修改和删除 3D 对象。
  • 文档检查:能够获取当前 Rhino 文档的详细信息。
  • 脚本执行:可在 Rhino 中执行 Python 脚本(此功能为实验性,可能并非每次都能正常运行)。
  • 获取脚本文档:获取特定 RhinoScript Python 函数的文档。
  • 对象选择:基于过滤器(如名称、颜色、类别等)选择对象,支持“与”或“或”逻辑。
  • 设置/创建/删除图层:获取或设置当前图层,创建新图层或删除图层。

⚠️ 重要提示

目前该工具仅支持创建示例中的简单几何体。未来将添加更多几何类型。支持的对象包括:点、线、多段线、曲线、盒子、圆柱体。

📦 安装指南

1. 下载和安装 RhinoMCP 插件

# 在 Rhino 控制台中输入以下命令
InstallPlugin("RhinoMCP.rhpkg")

2. 启动 MCP 服务器

cd rhino_mcp_server
uv build
uv publish

💻 使用示例

基础用法

连接 AI 代理

  1. 在 Rhino 中启动 MCP 插件。
  2. 配置插件以监听指定端口。
  3. 让 AI 代理连接到该端口。

发送命令

{
"type": "create_box",
"params": {
"position": [0, 0, 0],
"size": [1, 1, 1]
}
}

接收响应

{
"status": "success",
"result": "Box created successfully"
}

🔧 技术细节

通信协议

  • 命令:作为包含 type 和可选 params 的 JSON 对象发送。
  • 响应:带有 statusresultmessage 的 JSON 对象。

📚 详细文档

局限性和安全注意事项

  • get_document_info 只获取最多 30 个对象,以避免大量数据使 Claude 处于过载状态。
  • 复杂操作可能需要分解为更小步骤。

工具构建和发布

发布服务器

cd rhino_mcp_server
uv build
uv publish

发布插件

  1. 以发行模式构建工具。
  2. 将 "manifest.yml" 文件复制到 "bin/Release" 文件夹中。
  3. 在 Release 文件夹中运行 yak build
  4. 运行 yak push rhino_mcp_plugin_xxxx.yak 发布插件。

🤝 贡献

欢迎贡献!请随时提交 Pull Request。

📄 许可证

这是一个第三方集成,并非由 Mcneel 开发。由 Jingcheng Chen 制作。

⭐ 星程历史

Star History Chart

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

相似服务问题