Communitygithub.com

shadowtor/fusion-studio

與使用者在 Autodesk Fusion 中協作設計 3D 模型,透過本機 MCP 伺服器 (http://127.0.0.1:27182/mcp) 執行。

fusion-studio 是什麼?

這個技能讓 AI 代理能直接與 Autodesk Fusion 整合,透過 MCP 伺服器傳送 Python 腳本進行參數化建模。它支援三種模式:3D 列印(預設)、展示用物件(如壓克力鑰匙圈、爆炸圖)以及服裝品牌 mockup。代理會先詢問專案類型與材質,然後根據使用者提供的尺寸與參考照片建立模型,並自動進行健康檢查、螢幕截圖與匯出。主要平台為 Claude Code、Cursor、Codex 等支援 MCP 的 AI 工具。技能內建了材質資料庫(PLA、PETG、ASA 等)、列印規則檢查與切片驗證(透過 OrcaSlicer headless),整個流程包含連線、參數化建模、視覺檢查與匯出,確保模型在輸出前經過完整的測試。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/shadowtor/fusion-studio/tree/HEAD/skills/fusion-studio

在你喜歡的 AI 中提問

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

說明文件

fusion-studio 是做什麼的?

你透過傳送 Python 腳本到 Fusion 的 MCP 伺服器來建模。使用者提供照片、尺寸與品味。你建立模型、檢視它並修正它。

0. 連線(永遠第一步)

python <skill>/scripts/fusion_mcp.py ping

列印 Fusion 版本與開啟的文件。如果已載入 fusion_mcp_* MCP 工具,則使用它們(fusion_mcp_execute 搭配 featureType: "script"、fusion_mcp_read 用於螢幕截圖與 API 文件、fusion_mcp_update 用於復原)。否則客戶端從 shell 執行相同動作。如果 ping 無法連線,請告訴使用者啟動 Fusion 並啟用其 MCP 伺服器。不要猜測。

保護使用者工作的規則:

  • 絕不編輯已開啟的文件。 fx_lib.py 中的 new_design() 會開啟一個全新的文件。僅使用 --ro 讀取已開啟的文件。
  • 除非被要求,絕不儲存、關閉或覆寫。 匯出檔案放入專案資料夾。
  • 不要將 run() 包在 try/except 中。拋出的錯誤是了解失敗原因的方式。
  • 當對話方塊開啟時,腳本無法修改。請使用者關閉對話方塊,或使用 --ro 進行檢查。

1. 選擇模式(選擇器)

用一個問題詢問,除非簡報另有說明,否則建議 列印。在回答此問題之前不要開始建模。

模式用途建構方式完成產出
列印在使用者印表機上列印的零件:支架、固定座、外殼、鑰匙圈配合公差、壁厚規則、方向、每個列印零件一個元件每個零件一個 3MF + STEP
展示展示而非列印的物品:用於群眾募資頁面的壓克力鑰匙圈、用於影片的爆炸圖先看外觀:分層零件、真實材料厚度、爆炸佈局透明背景 PNG、OBJ、STEP
服飾服裝品牌 mockup:吊牌、標籤、飾邊、鈕扣、拉鍊頭、包裝、展示件3D 飾邊上的平面藝術設計、真實材料厚度PNG 視圖、STEP、藝術放置註記

詳細資訊:references/modes.md。對於列印模式,也詢問 線材(PLA、PETG、ABS、ASA、TPU、尼龍、PC 或含碳纖維版本)並使用 Bambu Lab H2C,除非另有指示。線材設定配合與壁厚、懸垂角度與橋接長度的限制:references/materials.md、references/print-rules.md。

然後執行 python <skill>/scripts/new_project.py <名稱> --mode print|showcase|apparel [--material PETG] 來建立專案資料夾(project.json、build/、shots/、exports/)。

2. 簡報與尺寸

詢問你無法憑空創造的資訊:模型必須配合的任何物體的實際尺寸(罐子、手機、鑰匙)、材質、壁面風格以及參考照片。說明哪些數字是假設的,並將它們放入 project.json 的 assumptions 下。缺失的尺寸變成一個具有明顯預設值的命名參數,絕不是一個隱藏的數字。

3. 參數優先

所有可測量的東西都變成帶有註解的使用者參數,分為三組:測量值(罐子直徑)、配合值(間隙、壁厚)與衍生值(從其他參數建立的表達式)。在列印模式中,先呼叫 print_profile("PETG"):它會建立該材料的 fit_press、fit_close、fit_free、min_wall、min_feature 與 hole_comp 參數,並且配合是直徑方向(兩側總和)。使用它們,而不是自行發明間隙。名稱是 3 個以上的字元並包含底線(can_dia):單個字母如 w、h、t 會與單位名稱衝突,Fusion 會拒絕它們。草圖尺寸與擠出距離採用參數表達式,因此更改一個數字就會更改整個模型。在撰寫第一個腳本之前,請先閱讀 references/fusion-api.md。

4. 用小型腳本建構

使用 --lib 前置輔助函式庫:

python <skill>/scripts/fusion_mcp.py run build/01_body.py --lib
python <skill>/scripts/fusion_mcp.py shot shots/01.png --dir iso-top-right

fx_lib.py 提供 new_design, param, component, sketch, rect, circle, extrude, box, fillet, chamfer, edges_where, appearance, view, health, report, export,以及用於列印模式(fx_print.py)的 print_profile, print_check, fit_coupon。每個實際零件一個元件,命名為 <零件> - PRINT 或 - SHOWCASE。圓角放在最後。在繼續之前,請查看每一張螢幕截圖。如果圖片與數字不一致,請相信圖片並找出錯誤。

不熟悉的 API?執行 fusion_mcp.py api "ExtrudeFeatures" --filter adsk.fusion 會回傳即時文件。優先使用此方法而不是依賴記憶。

5. 在說完成之前進行驗證

  1. health() 報告 0 個問題。
  2. 參數化測試: 更改主要的測量參數,再次檢查 health() 與 report(),然後將其設回原值。在此處會損壞的模型尚未完成。
  3. 至少從等角視圖、前視圖以及一個剖面或底部視圖拍攝螢幕截圖,由你閱讀。
  4. 列印模式:執行 print_check("PETG")(薄壁與懸垂、長橋接、小或水平孔洞、床面貼合),然後說明方向、支撐與第一層邊緣。修正每個 WARN 或說明為什麼可以接受。對於任何重要的配合,先執行 fit_coupon() 並列印出來:這只需要幾分鐘,並為該線材與印表機設定真實間隙。
  5. 列印模式:匯出 3MF 並執行 python <skill>/scripts/slicer_check.py exports/part.3mf --material PETG。它會驅動 OrcaSlicer headless 使用 H2C 設定檔,並報告是否水密、列印時間、線材、是否需要支撐,以及你的方向是否是切片軟體的最佳方向。將結果回饋到模型中。GUI 與選用的 orcaslicer-mcp 伺服器是替代方案:references/slicer.md。
  6. 說明哪些未經證明。外觀正確的模型尚未經測試列印。指出第一個測試列印以及列印後應調整的參數。

6. 匯出與移交

列印:為每個零件執行 export(body, path, "3mf"),加上 step。展示:每個角度的透明 PNG(shot 在被要求時使用透明背景),以及用於影片工具的 OBJ。服飾:PNG 視圖與 STEP。然後提供給使用者:檔案、參數清單、假設、第一個要執行的測試。

此技能不做的事

  • 它不會將工作發送到印表機或選擇溫度與速度。它只會進行切片以檢查模型(支撐需求、時間、方向),並將支撐選擇作為起點說明。
  • 它不能取代測試列印。間隙是針對 0.4 mm 噴嘴的起始值,並非保證。
  • 除非使用者分享,否則它看不到使用者的照片。請詢問尺寸,而不是從圖片估算。
  • 它不會對布料建模。服飾模式涵蓋飾邊、標籤、配件與包裝。

相關技能