Grasshopper参数化建模自动化工具Skill grasshopper-workflow

Grasshopper参数化建模自动化工作流程工具,提供从MMD文件解析到完整建模执行的端到端解决方案。该技能支持组件管理、连接建立、参数设置、群组管理等核心功能,实现Grasshopper建模流程的自动化执行。适用于建筑设计、工业设计、三维建模等领域的参数化设计自动化。关键词:Grasshopper自动化、参数化建模、MMD文件解析、组件管理、连接管理、建模工作流程、建筑设计工具、三维建模自动化、Rhino插件开发、设计流程优化

Blender建模 1 次安装 26 次浏览 更新于 3/1/2026

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 个主要步骤:

  1. 厘清设计需求与规格 - 参见 references/workflow_steps.md
  2. 拆分几何物件创建 part_info.mmd - 参见 references/workflow_steps.md
  3. 规划电池实际连接图 component_info.mmd - 参见 references/workflow_steps.md
  4. 找出所需组件 GUID 并规划位置 - 参见 references/workflow_steps.md
  5. 生成执行序列档案 placement_info.json - 参见 references/workflow_steps.md
  6. 清理 GH_WIP 档案 - 参见 references/workflow_steps.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

注意事项

  1. MCP 服务器: 确保 Grasshopper MCP 服务器正在运行(localhost:8080)
  2. 组件 ID 映射: 组件创建后会自动保存 ID 映射到 component_id_map.json
  3. 并行执行: 支持并行执行以提高效率,建议使用 max_workers=1020
  4. 线程安全: 所有操作都是线程安全的,可以在多线程环境中使用
  5. 文件路径: 脚本中的相对路径需要根据实际情况调整

常见工作流程

从 MMD 到完整定义

  1. 解析 component_info.mmd 获取组件和连接信息
  2. 生成 placement_info.json 执行序列
  3. 执行 placement_info.json 创建组件和连接
  4. 设置所有 slider 参数值
  5. 创建组件群组

详细步骤参见 references/workflow_steps.md