🚀 Rhino Grasshopper MCP-人工智能计算设计助手
MCP(模型上下文协议)服务器,将AI功能直接引入Rhino/Grashopper工作流,具有 基于机器学习的自动布局优化 -这是在任何其他公开可用的工具中都找不到的功能。
 
🎯 是什么让这与众不同?
与只生成代码的基本Grasshopper到LLM连接器不同,此工具包括:
🧠 基于机器学习的汽车布局(行业首创)
- DBSCAN聚类 用于自动组件分组
- 聚类 用于固定组计数
- 用户模式学习 具有持久的偏好
- K-NN位置预测 用于优化新组件的放置
- 尽量减少电线交叉 算法
🎓 人工智能辅导系统
- 性能预测:估计优化影响(例如,“预期改善15-30%”)
- 模式检测:识别低效模式并提出更好的替代方案
- 自动分组:分析接线以建议逻辑元件组
- 布局异常检测:查找孤立、重叠或未对齐的组件
🔌 实时Rhino集成
- 实时连接到正在运行的Rhino/Grashopper实例
- 在Rhino中远程执行Python代码
- 获取画布状态并触发解决方案
- 不需要基于文件的工作流
📋 功能概述
| 类别 | 功能 |
|---|---|
| 犀牛桥 | 实时连接、远程Python执行、画布状态 |
| GH文件操作 | 解析.gh/.ghx文件,分析结构,提取组件 |
| 构件库 | 500+GH成分的可搜索数据库 |
| 代码生成 | GHPython和C#脚本模板 |
| AI辅导 | 性能预测、备选方案、自动分组 |
| ML布局 | 聚类、位置预测、交叉最小化 |
🛠️ 安装
git clone https://github.com/dongwoosuk/rhino-grasshopper-mcp.git
cd rhino-grasshopper-mcp
python -m venv .venv
.venv\Scripts\activate # Windows
pip install -e .⚙️ 配置
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"grasshopper": {
"command": "path/to/rhino_grasshopper_mcp/.venv/Scripts/python.exe",
"args": ["-m", "rhino_grasshopper_mcp"]
}
}
}🔌 实时Rhino连接(可选)
要启用实时Rhino/Grasshopper控制:
- 打开Rhino 7或8
- 跑
EditPythonScript命令 - 打开并运行
rhino_listener/rhino_bridge_listener.py - 您将看到:
Rhino Bridge Listener started on localhost:8080
📚 可用工具
犀牛桥(需要听众)
| 工具 | 说明 |
|---|---|
rhino_status | 检查连接状态 |
rhino_execute_python | 在Rhino中执行Python |
gh_canvas_state | 获取当前画布状态 |
gh_load_definition | 加载.gh文件 |
gh_solve | 触发器重新计算 |
AI辅导工具
| 工具 | 说明 |
|---|---|
predict_performance | 预测优化影响 |
suggest_alternatives | 检测模式,建议更好的方法 |
auto_group | 分析连接性,建议分组 |
ml_layout_analysis | ML聚类分析 |
predict_component_position | 基于K-NN的位置预测 |
模式检测示例
这 suggest_alternatives 工具检测到这些低效模式:
| 模式 | 更好的选择 |
|---|---|
| 多个移动组件 | 单个变换矩阵 |
| 平铺+嫁接序列 | 路径映射器 |
| Python几何循环 | 原生GH组件 |
| 串行布尔运算 | 批处理布尔运算 |
| 简单数学表达式 | 原生数学组件 |
🏗️ 建筑
rhino_grasshopper_mcp/
├── rhino_grasshopper_mcp/
│ ├── bridge.py # Main MCP server
│ ├── rhino_bridge.py # TCP client to Rhino
│ ├── gh_file_ops.py # .gh/.ghx parsing
│ ├── component_library.py # Component database
│ ├── code_generator.py # Code templates
│ └── mentoring/
│ ├── ml_layout_learner.py # DBSCAN/K-means
│ ├── advanced_layout_learner.py # Advanced learning
│ ├── persistent_layout_learner.py # User patterns
│ ├── performance_predictor.py # Optimization prediction
│ ├── alternative_suggester.py # Pattern detection
│ ├── auto_grouper.py # Wire-based grouping
│ ├── wire_crossing_detector.py # Crossing detection
│ └── crossing_minimizer.py # Layout optimization
├── rhino_listener/
│ └── rhino_bridge_listener.py # Run IN Rhino
└── pyproject.toml🤖 ML布局系统详细信息
运作原理
- 特征提取:分析元件位置、类型和连接
- 聚类:使用DBSCAN或K-means对组件进行分组
- 模式学习:将用户首选项存储在
layout_preferences.json - 位置预测:使用K-NN为新组件建议最佳位置
- 异常检测:识别布局问题(孤立节点、重叠、流向错误)
支持的分析
# Example: ML clustering analysis
result = ml_layout_analysis(gh_file_path, method="dbscan")
# Returns: clusters, anomalies, optimization suggestions
# Example: Position prediction
result = predict_component_position(gh_file_path, "Panel", near_component="Slider")
# Returns: predicted X, Y coordinates based on learned patterns🎯 用例
- 设计自动化:让AI处理重复的Grasshopper任务
- 代码审查:获取优化定义的建议
- 学习:Grasshopper最佳实践的人工智能指导
- 布局清理:混乱定义的自动组织
- 团队标准:项目间一致的组件安排
📄 许可证
MIT许可证-请参阅 许可证 文件。
🙏 致谢
- 建立在 模型上下文协议 通过Anthropic
- 《蚱蜢》作者:大卫·鲁滕/麦克尼尔
- 用于ML算法的scikit-learn
📬 联系
Dongwoo Suk-计算设计专家
