LLM × Grasshopper(2/2) - 自動化設計實驗室
LLM × Grasshopper(2/2)
2025.12.13 Keynote
1020 字 · 10.5 分鐘

Rhino/Grasshopper 社群技術分享

LLM × Grasshopper(2/2)

深入了解 Rhino/Grasshopper MCP 的安裝流程、橋接服務運作邏輯,以及實作結果展示。

安裝與實作流程

在了解了協作策略與系統架構後,本節將詳細說明如何將 LLM 與 Grasshopper 進行環境建置與實作。

安裝流程

要啟動 GH MCP Workflow,需要完成以下四個關鍵步驟:

  1. 下載代碼:從 GitHub 獲取 grasshopper-mcp-workflow 專案。 GitHub Repository
  2. 環境建置:建立 Python 3.11 運作環境。
  3. 配置客戶端:設定 Cursor IDE 作為 MCP 的主要客戶端。
  4. 伺服器配置:在 mcp.json 檔案中正確配置伺服器路徑。

grasshopper mcp 功能

grasshopper mcp 2次開發要點

實作核心:Bridge 與 Command 註冊

程式碼截圖展示了二次開發最關鍵的兩個部分:Python 橋接端與 C# 插件端。

一、系統層級與流程架構

根據左上角的層級圖,開發分為四個主要階段:

層級名稱說明
1LLM Chat (對話層)使用者與 LLM(如 Claude 或其他支援 MCP 的客戶端)進行對話
2Grasshopper_mcp bridge.py (橋接層)工具的使用手冊與邏輯轉譯點,負責定義 LLM 可看見的工具描述(Schema),並將請求轉發給 Grasshopper
3GH_MCP/Commands (邏輯層)位於 Grasshopper 插件端(GH Plug-in),負責處理具體的工具邏輯
4GH Panel (執行層)最終在 Grasshopper 畫布上生成電池(Components)、連線或修改參數

1. Python 端:定義工具 Schema (bridge.py)

在右上方截圖中,可以看到開發者使用 @server.tool() 裝飾器來定義 Python 函數:

  • Docstring 的重要性:LLM 是透過 Python 的 Docstring(如範例中的 Connect two components...)來理解這個工具的功能、參數(source_id, target_id)及其類型
  • 參數傳遞:定義好的參數會直接對應到 MCP 客戶端介面中,讓 LLM 知道如何構建 JSON 請求

2. C# 端:註冊指令邏輯 (GrasshopperCommandRegistry.cs)

右下角展示了在 Grasshopper 插件端如何映射這些指令:

  • 指令註冊:使用 RegisterCommand 方法,將字串標籤(如 "connect_components")與後端的 Handler 函數(如 ConnectComponentsHandler.ConnectComponents)進行綁定
  • 模組化開發:截圖中列出了多個常用功能,這也是開發時需要擴充的重點
指令名稱功能說明
set_component_value修改參數
get_component_info查詢資訊
delete_component刪除電池
move_component移動位置

3-2 LM-Studio install


Grasshopper MCP install

在 Grasshopper 中啟動自動化流程非常直覺:

  1. 開啟測試用的 Grasshopper 檔案。
  2. 在畫布中放置 Grasshopper MCP 組件。
  3. Enabled 設為 True,系統預設會監聽 8080 端口。

3-3 Grasshopper MCP Workflow

User → Client/UI → MCP Server ↔ LLM → Tool (GH) → MCP Server → LLM → User

流程說明:

  1. User → Client/UI:使用者發送指令(例如:「幫我連兩個電池」)
  2. Client → MCP Server:客戶端將請求發送到 MCP Server
  3. MCP Server ↔ LLM:Server 提供 Context 給 LLM,LLM 判斷需要調用哪個 Tool,並回傳 Call Tool API 的請求
  4. MCP Server → Tool (GH):Server 呼叫實作在 Grasshopper 端的 API
  5. Tool → MCP Server → LLM → User:執行結果回傳並更新畫布,最後將狀態反饋給使用者

實作結果

這是最終的實作成果展示:LLM 根據自然語言指令,自動在 Grasshopper 中生成了一張參數化桌子。這包含了完整的電池連接邏輯,並產出了精確的幾何產出。


重新定位:人類角色的轉變

隨著 AI 的導入,我們在職場中的角色將發生根本性的轉變:

  • 從「執行者」轉向「管理者」:核心競爭力不再僅限於軟體的操作熟練度。
  • 核心價值:在於如何定義規則、編排工作流(Workflow)以及決策的品質。
  • 未來職能:設計師應致力於提升自身的學習力、洞察力、表達力與溝通力

Thanks for reading!

LLM × Grasshopper(2/2)

2025.12.13 Keynote
1020 字 · 10.5 分鐘

© AmemiyaLai | CC BY-NC-SA 4.0