name: grasshopper-workflow description: “Grasshopper 参数化建模工作流程工具。当需要通过 MCP 协议与 Grasshopper 交互、创建和管理组件、建立连接、设置参数、执行完整建模工作流程时使用。适用于:(1) 从 MMD 文件创建 Grasshopper 定义, (2) 执行 placement_info.json 工作流程, (3) 批量管理组件和连接, (4) 参数化建模的自动化流程, (5) 解析 component_info.mmd 和 part_info.mmd 文件”
Grasshopper 工作流程技能
概述
此技能提供完整的 Grasshopper 参数化建模工作流程,包括组件管理、连接管理、参数设置、群组管理和工作流程执行。整合了从需求分析到最终执行的完整流程。
核心功能
1. 组件管理
- 创建、查询、删除组件
- 并行创建多个组件
- 组件 ID 映射管理
- 组件 GUID 查询
2. 连接管理
- 建立组件之间的连接
- 并行连接多个组件
- 连接错误检查和修正
- 文档错误诊断
3. 参数设置
- 设置 Number Slider 属性
- 设置 Vector XYZ 组件
- 批量参数设置
- 自动范围确定
4. 群组管理
- 创建组件群组
- 批量创建群组
- 自定义群组颜色和名称
5. 工作流程执行
- 解析 MMD 文件(component_info.mmd, part_info.mmd)
- 生成 placement_info.json
- 执行完整建模流程
- 自动化脚本执行
快速开始
基本使用
from scripts.client import GrasshopperClient
from scripts.component_manager import ComponentManager
from scripts.connection_manager import ConnectionManager
from scripts.parameter_setter import ParameterSetter
from scripts.group_manager import GroupManager
# 创建客户端
client = GrasshopperClient(host="localhost", port=8080)
# 创建组件管理器
comp_mgr = ComponentManager(client)
# 创建组件
component_id = comp_mgr.add_component(
guid="e2bb9b8d-0d80-44e7-aa2d-2e446f5c61da",
x=100,
y=200,
component_id="SLIDER_WIDTH"
)
完整工作流程
from scripts.parser_utils import MMDParser, JSONGenerator
from scripts.placement_executor import PlacementExecutor
# 1. 解析 MMD 文件
parser = MMDParser()
components, connections = parser.parse_component_info_mmd("component_info.mmd")
# 2. 生成 placement_info.json
generator = JSONGenerator()
placement_info = generator.generate_placement_info(components, connections)
generator.save_placement_info(placement_info, "placement_info.json")
# 3. 执行
executor = PlacementExecutor()
result = executor.execute_placement_info("placement_info.json")
工作流程步骤
Grasshopper 建模工作流程包含 6 个主要步骤:
- 厘清设计需求与规格 - 参见 references/workflow_steps.md
- 拆分几何物件创建 part_info.mmd - 参见 references/workflow_steps.md
- 规划电池实际连接图 component_info.mmd - 参见 references/workflow_steps.md
- 找出所需组件 GUID 并规划位置 - 参见 references/workflow_steps.md
- 生成执行序列档案 placement_info.json - 参见 references/workflow_steps.md
- 清理 GH_WIP 档案 - 参见 references/workflow_steps.md
详细文档
- 工作流程步骤: 参见 references/workflow_steps.md - 完整的 6 步骤工作流程指南
- API 参考: 参见 references/api_reference.md - 所有模块和方法的详细说明
- CLI 使用说明: 参见 references/cli_usage.md - 命令行工具使用指南
- 工具使用指南: 参见 references/tool_guide.md - 所有工具的输入输出说明
脚本工具
所有 Python 脚本位于 scripts/ 目录:
client.py- MCP 通信客户端component_manager.py- 组件管理connection_manager.py- 连接管理parameter_setter.py- 参数设置group_manager.py- 群组管理parser_utils.py- MMD/JSON 解析placement_executor.py- 执行器utils.py- 工具函数cli.py- 命令行接口
使用脚本
当需要执行特定操作时,可以调用相应的脚本:
# 执行 placement_info.json
from scripts.placement_executor import PlacementExecutor
executor = PlacementExecutor()
result = executor.execute_placement_info("placement_info.json", max_workers=10)
命令行工具
使用 CLI 工具执行常见任务:
# 执行 placement_info.json
python scripts/cli.py execute-placement placement_info.json
# 设置所有 slider
python scripts/cli.py set-sliders component_info.mmd
# 群组组件
python scripts/cli.py group-components component_info.mmd
详细的 CLI 使用说明参见 references/cli_usage.md。
注意事项
- MCP 服务器: 确保 Grasshopper MCP 服务器正在运行(localhost:8080)
- 组件 ID 映射: 组件创建后会自动保存 ID 映射到
component_id_map.json - 并行执行: 支持并行执行以提高效率,建议使用
max_workers=10到20 - 线程安全: 所有操作都是线程安全的,可以在多线程环境中使用
- 文件路径: 脚本中的相对路径需要根据实际情况调整
常见工作流程
从 MMD 到完整定义
- 解析
component_info.mmd获取组件和连接信息 - 生成
placement_info.json执行序列 - 执行
placement_info.json创建组件和连接 - 设置所有 slider 参数值
- 创建组件群组
详细步骤参见 references/workflow_steps.md。