Community程式設計與開發github.com

leewsimpson/claudesk

從儲存庫中的 Python 指令碼經由 Fusion MCP 在 Fusion 360 中建置或重建外殼。當變更外殼幾何形狀或參數、新增功能,或當 Fusion 模型遺失或過時時使用。

claudesk 是什麼?

這個技能讓 AI 代理能夠自動從基於 Python 的指令碼在 Fusion 360 中建置和重建 3D 外殼模型,視指令碼為唯一的真實來源。它支援 Fusion MCP 平台,適用於 ESP32-S3 觸控 AMOLED 外殼專案,能夠快速迭代幾何形狀和參數,並在幾秒內完成重建。工作流程包含四個主要步驟:準備 Fusion 設計檔案(必要時匯入 STEP 模型)、編輯位於 scripts/enclosure.py 的 Python 參數及幾何函式、透過 MCP runner 執行重建、以及使用 fusion-inspect 技能進行驗證。此技能還提供穩健的錯誤處理、用於快速實驗的建構覆蓋選項、以及處理 Fusion MCP 連線問題的解決方案。其約定強調使用暫存 B-Rep 建模以達到高速與無時間線操作、維護幽靈參考體以進行干涉檢查,並遵循特定的座標系約定以確保能正確對齊電路板。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/leewsimpson/claudesk/tree/HEAD/3d-model/.claude/skills/fusion-build

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

在 Fusion 中建置外殼

scripts/ 目錄中的指令碼是真實來源。Fusion 文件只是它們的一次性渲染。請修改指令碼並重建。在 Fusion GUI 中手動編輯的內容在下次建置時會遺失。

步驟

  1. 準備 Fusion。 使用空內容執行下方 runner。如果沒有啟用的設計,請建立一個,然後將 boardmodel/ESP32-S3-Touch-AMOLED-1_75.stp 匯入根節點(使用 importManager.createSTEPImportOptions + importToTarget)。當根節點出現 ESP32-S3-TOUCH-AMOLED-1_75_ASM:1 時即完成。
  2. 編輯。 參數位於 scripts/enclosure.py 頂部的 P 字典中。從這些參數推導出的值應放在 derived() 中。幾何形狀應放在 build_shell / build_cap / build_refs 中。輔助工具放在 scripts/wslib.py 中。
  3. 重建 使用 runner。build(overrides) 接受一個字典以進行快速實驗,例如 {'lattice': False}(不含格狀結構的重建約需 1 秒;使用 v2 精細格狀結構則約需 12 秒)。當它印出 built in … 且沒有回溯追蹤時即完成。
  4. 驗證 使用 fusion-inspect 技能。只有當檢查印出 PASS 並且您已查看螢幕截圖時,建置才算完成。

Runner(貼上為 MCP script)

import sys, importlib
REPO = r'C:\Github\claudesk\3d-model\scripts'  # 您的複本中 3d-model/scripts 的絕對路徑
if REPO not in sys.path: sys.path.insert(0, REPO)
import wslib, enclosure, checks
for m in (wslib, enclosure, checks): importlib.reload(m)

def run(_context: str):
    enclosure.build()          # 或 enclosure.build({'sphere_d': 90})

Fusion 的 Python 會在兩次執行之間快取模組。請務必保留 reload 這行,否則編輯將不會生效。

如果 mcp__fusion__* 工具遺失

當 MCP 伺服器在會話啟動時無法連線(例如 Fusion 尚未執行),請檢查 Fusion 是否正在執行(netstat -ano | grep 27182 應顯示 LISTENING)。接著請使用者使用 /mcp 重新連線,或直接呼叫端點:將 runner 儲存到檔案中,然後執行 python scripts/fmcp.py script runner.py。 若要截取螢幕截圖,請執行 python scripts/fmcp.py shot out.png [方向]。

慣例

  • 透過 wslib(P()、box()、cyl_y() 等)以公釐為單位工作。只有原始 API 呼叫才會透過 wslib.MM 看到 Fusion 的公分。
  • 使用暫存 B-Rep 建模(wslib.tbm() 以及 union/cut/intersect 輔助工具),然後使用 add_bodies 提交。這速度很快、不需要時間軸,並且在參數化設計和直接設計中都能運作。
  • 每次建置都會刪除並重新建立頂層元件 Enclosure(Shell、Cap)和 Refs。Refs 存放我們沒有 CAD 模型之零件的幽靈本體(PlugGhost、SpeakerGhost)。它們僅用於干涉檢查,絕不會被匯出。當新的採購零件影響配合時,請為它新增一個幽靈。
  • 座標架:電路板 STEP 依原樣匯入。+Y 為觀看方向,玻璃前方位於 y=2.78,USB-C 接口朝向 -X,桌面位於 -Z 以下,並向後傾斜 base_tilt(30°),使螢幕朝上面向使用者(derived()['down'])。
  • 電路板的事實來自量測 STEP。請使用指令碼量測並記錄在 CLAUDE.md 中,而不是從 PDF 中猜測。
  • 讓例外狀況傳播出去。回溯追蹤是 MCP 傳回的唯一失敗信號。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相關技能