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. 在說完成之前進行驗證
health()報告 0 個問題。- 參數化測試: 更改主要的測量參數,再次檢查
health()與report(),然後將其設回原值。在此處會損壞的模型尚未完成。 - 至少從等角視圖、前視圖以及一個剖面或底部視圖拍攝螢幕截圖,由你閱讀。
- 列印模式:執行
print_check("PETG")(薄壁與懸垂、長橋接、小或水平孔洞、床面貼合),然後說明方向、支撐與第一層邊緣。修正每個 WARN 或說明為什麼可以接受。對於任何重要的配合,先執行fit_coupon()並列印出來:這只需要幾分鐘,並為該線材與印表機設定真實間隙。 - 列印模式:匯出 3MF 並執行
python <skill>/scripts/slicer_check.py exports/part.3mf --material PETG。它會驅動 OrcaSlicer headless 使用 H2C 設定檔,並報告是否水密、列印時間、線材、是否需要支撐,以及你的方向是否是切片軟體的最佳方向。將結果回饋到模型中。GUI 與選用的 orcaslicer-mcp 伺服器是替代方案:references/slicer.md。 - 說明哪些未經證明。外觀正確的模型尚未經測試列印。指出第一個測試列印以及列印後應調整的參數。
6. 匯出與移交
列印:為每個零件執行 export(body, path, "3mf"),加上 step。展示:每個角度的透明 PNG(shot 在被要求時使用透明背景),以及用於影片工具的 OBJ。服飾:PNG 視圖與 STEP。然後提供給使用者:檔案、參數清單、假設、第一個要執行的測試。
此技能不做的事
- 它不會將工作發送到印表機或選擇溫度與速度。它只會進行切片以檢查模型(支撐需求、時間、方向),並將支撐選擇作為起點說明。
- 它不能取代測試列印。間隙是針對 0.4 mm 噴嘴的起始值,並非保證。
- 除非使用者分享,否則它看不到使用者的照片。請詢問尺寸,而不是從圖片估算。
- 它不會對布料建模。服飾模式涵蓋飾邊、標籤、配件與包裝。