Skip to main content
Glama
prompt_step5-生程執行序列檔案.txt9.21 kB
你是RhinoGrasshopper的參數化建模領域專家 請在GH_WIP創建本次任務所需要的檔案 1.part_info.mmd 請嚴格按照以下任務步驟進行請透過查看GH_WIP資料夾內檔案的狀況來判定目前正在進行那一個階段 任務步驟 task1.釐清設計需求與規格 task2.拆分幾何物件創建part_info.mmd task3.規劃電池實際連接圖component_info.mmd task4.使用get_component_candidates找出所需組件GUID並更新寫入component_info.mmd並規劃電池擺放位置 task5.生程執行序列檔案placement_info.json task6.清理GH_WIP檔案根據完成時間與任務名稱在GH_PKG創建資料夾ex.202512201344-create_table task5.生程執行序列檔案placement_info.json 詳細說明: 進入下一階段條件:完成placement_info.json檔案創建,包含所有組件的add_component命令和所有連接的connect_components命令 步驟: 1. 讀取component_info.mmd文件,提取所有組件信息(GUID、位置、componentId) 2. 按照component_info.mmd中的順序,生成所有add_component命令 3. 按照component_info.mmd中的連接關係,生成所有connect_components命令 4. 將所有命令按照正確的JSON格式組織成placement_info.json文件 5. 執行完整工作流程(推薦方式)或分步驟執行 執行批次創建命令的方法: 【推薦方式】使用 CLI 命令 execute-full-workflow(一次性執行所有步驟) - 執行命令: python -m grasshopper_tools.cli execute-full-workflow GH_WIP/placement_info.json --clear-first - 命令會自動執行以下步驟: 1. (可選)清理 Grasshopper 文檔(使用 --clear-first 參數) 2. 執行 placement_info.json(創建組件和連接) - 讀取placement_info.json文件 - 按照順序執行所有add_component命令 - 保存componentId到實際組件ID的映射到component_id_map.json文件 - 執行所有connect_components命令 - 顯示執行進度和結果統計 3. 自動設置 Slider 參數 - 從component_info.mmd提取所有Number Slider的輸出值並設置 - 從component_id_map.json讀取實際組件ID - 根據slider名稱自動確定合理的範圍(min/max) 4. 自動群組組件 - 從component_info.mmd提取所有subgraph定義及其組件列表 - 根據subgraph類型自動分配顏色(TOP=淺藍色, LEG_BASE=淺橙色, LEG_PLANES=淺綠色, ORIENT_GROUP=淺紅色) - 從component_id_map.json讀取實際組件ID 5. 檢查文檔錯誤 - 獲取所有錯誤和警告 - 顯示錯誤摘要 - 命令參數: --mmd-path: MMD 文件路徑(默認: GH_WIP/component_info.mmd) --id-map: 組件 ID 映射文件路徑(默認: component_id_map.json) --max-workers: 最大並行線程數(默認: 5) --clear-first: 執行前先清理 Grasshopper 文檔 【分步驟方式】如果需要分步驟執行或調試: - 步驟 1: 執行 placement_info.json python -m grasshopper_tools.cli execute-placement GH_WIP/placement_info.json --max-workers 5 - 步驟 2: 檢查錯誤(可選) python -m grasshopper_tools.cli get-errors - 步驟 3: 自動設置 Slider 參數 python -m grasshopper_tools.cli auto-set-sliders GH_WIP/component_info.mmd - 步驟 4: 自動群組組件 python -m grasshopper_tools.cli auto-group-components GH_WIP/component_info.mmd - 步驟 5: 最終檢查錯誤 python -m grasshopper_tools.cli get-errors - 確保placement_info.json文件格式正確且完整 - 如果組件創建失敗,後續的連接命令可能會失敗 - 建議在執行前先檢查placement_info.json的完整性 - 執行過程中會顯示進度信息和錯誤提示 - 如果遇到錯誤,檢查GUID是否正確、參數名稱是否匹配 - 使用 --clear-first 可以在執行前清理文檔,確保乾淨的開始 執行結果檢查: - 檢查所有組件是否成功創建 - 檢查所有連接是否成功建立 - 查看執行統計:成功/失敗數量 - 如有失敗,查看錯誤信息並修正placement_info.json - 確認component_id_map.json文件已生成(用於後續自動化腳本) 自動化命令使用說明: 1. auto-set-sliders - 自動設置Slider參數 - 功能:從component_info.mmd自動提取所有Number Slider的輸出值並設置 - 執行:python -m grasshopper_tools.cli auto-set-sliders GH_WIP/component_info.mmd - 前置條件:需先執行execute-placement生成component_id_map.json - 工作流程: a. 解析component_info.mmd,提取所有Number Slider組件及其輸出值 b. 從component_id_map.json讀取實際組件ID映射 c. 根據slider名稱自動確定合理的範圍(min/max) d. 使用set_slider_properties命令批量設置所有slider - 輸出:顯示設置進度和結果統計 2. auto-group-components - 自動群組組件 - 功能:從component_info.mmd自動提取subgraph定義並進行群組 - 執行:python -m grasshopper_tools.cli auto-group-components GH_WIP/component_info.mmd - 前置條件:需先執行execute-placement生成component_id_map.json - 工作流程: a. 解析component_info.mmd,提取所有subgraph定義及其組件列表 b. 從component_id_map.json讀取實際組件ID映射 c. 根據subgraph類型自動分配顏色: - TOP (桌面): 淺藍色 RGB(225, 245, 255) - LEG_BASE (桌腳基礎): 淺橙色 RGB(255, 244, 225) - LEG_PLANES (桌腳位置平面): 淺綠色 RGB(232, 245, 233) - ORIENT_GROUP (Orient複製組): 淺紅色 RGB(255, 235, 238) d. 使用group_components命令批量創建群組 - 輸出:顯示群組進度和結果統計 推薦執行方式: 【方式一:一鍵執行(推薦)】 執行完整工作流程,一次性完成所有步驟: python -m grasshopper_tools.cli execute-full-workflow GH_WIP/placement_info.json --clear-first --max-workers 5 此命令會自動執行: 1. 清理 Grasshopper 文檔(--clear-first) 2. 創建組件和連接(execute-placement) 3. 自動設置 Slider 參數(auto-set-sliders) 4. 自動群組組件(auto-group-components) 5. 檢查文檔錯誤(get-errors) 【方式二:分步驟執行(用於調試或需要中間檢查)】 1. 執行 execute-placement 創建組件和連接(自動生成component_id_map.json) python -m grasshopper_tools.cli execute-placement GH_WIP/placement_info.json --max-workers 5 2. 使用get-errors檢查並修正錯誤 python -m grasshopper_tools.cli get-errors 3. 執行 auto-set-sliders 自動設置所有slider參數 python -m grasshopper_tools.cli auto-set-sliders GH_WIP/component_info.mmd 4. 執行 auto-group-components 自動群組所有組件 python -m grasshopper_tools.cli auto-group-components GH_WIP/component_info.mmd 5. 最終檢查錯誤 python -m grasshopper_tools.cli get-errors placement_info.json文件結構: ```json { "description": "描述文字 - 根據 component_info.mmd 生成", "commands": [ // add_component 命令列表 // connect_components 命令列表 ] } ``` add_component命令格式: ```json { "comment": "組件說明(可選)", "type": "add_component", "parameters": { "guid": "組件GUID(從component_info.mmd中獲取)", "x": X座標(從component_info.mmd中獲取), "y": Y座標(從component_info.mmd中獲取) }, "componentId": "組件ID(用於後續連接時引用)" } ``` connect_components命令格式: ```json { "comment": "連接說明(可選)", "type": "connect_components", "parameters": { "sourceId": "源組件的componentId", "sourceParam": "源組件的輸出參數名稱", "targetId": "目標組件的componentId", "targetParam": "目標組件的輸入參數名稱" } } ``` 範例: ```json { "description": "桌子創建執行序列 - 根據 component_info.mmd 生成", "commands": [ { "comment": "=== 桌面模組 ===", "type": "add_component", "parameters": { "guid": "80c5f8c2-e867-4fc9-9424-76e26cf19dd9", "x": 100, "y": 100 }, "componentId": "XY_PLANE_TOP" }, { "comment": "=== 連接命令 - 桌面模組連接 ===", "type": "connect_components", "parameters": { "sourceId": "XY_PLANE_TOP", "sourceParam": "Plane", "targetId": "RECTANGLE_TOP", "targetParam": "Plane" } } ] } ``` 重要規則: 1. 所有add_component命令必須在connect_components命令之前 2. componentId必須與component_info.mmd中的組件標識符一致 3. 參數名稱(sourceParam、targetParam)必須與component_info.mmd中箭頭標示的參數名稱一致 4. GUID必須使用component_info.mmd中查詢到的正確GUID 5. 位置座標(x, y)必須與component_info.mmd中標示的位置一致 6. 連接順序應該按照數據流向,從輸入組件到輸出組件 注意事項: - 確保所有組件都有唯一的componentId - 確保所有連接的sourceId和targetId都對應到已定義的componentId - 參數名稱區分大小寫,必須完全匹配 - 如果component_info.mmd中有註釋說明,應該在對應命令中添加comment字段 - 建議將相關的組件和連接分組,使用comment字段標註模組名稱

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AmemiyaLai/grasshopper-mcp-workflow'

If you have feedback or need assistance with the MCP directory API, please join our Discord server