fusion-studio は何をしますか?
Fusion内でモデリングを行うには、MCPサーバーにPythonスクリプトを送信します。ユーザーが写真、寸法、好みを提供します。モデルを構築し、確認し、修正します。
0. 接続(常に最初に)
python <skill>/scripts/fusion_mcp.py ping
Fusionのバージョンと開いているドキュメントを出力します。fusion_mcp_* MCPツールが読み込まれている場合はそれらを使用します(fusion_mcp_execute を featureType: "script" で、fusion_mcp_read をスクリーンショットとAPIドキュメント用に、fusion_mcp_update を元に戻す用に)。そうでない場合、クライアントはシェルから同様の操作を行います。ping が接続できない場合は、ユーザーにFusionを起動してMCPサーバーを有効にするよう伝えてください。推測はしないでください。
ユーザーの作業を保護するルール:
- すでに開かれているドキュメントを編集しないでください。
fx_lib.pyのnew_design()は新しいドキュメントを開きます。開いているドキュメントは--roでのみ読み取ってください。 - 保存、閉じる、上書きはしないでください。 依頼された場合を除きます。エクスポートはプロジェクトフォルダーに格納されます。
run()を try/except でラップしないでください。エラーが発生した場合、それが何が失敗したかを知る方法です。- コマンドダイアログが開いている間はスクリプトは変更できません。ユーザーに閉じるよう依頼するか、
--roを使用して検査してください。
1. モードの選択(セレクター)
1つの質問で尋ね、説明がない限り 印刷 を推奨します。これに回答するまでモデリングを開始しないでください。
| モード | 対象 | 構築方法 | 仕上げ |
|---|---|---|---|
| 印刷 | ユーザーのプリンターで印刷するパーツ:ホルダー、ブラケット、エンクロージャー、キーチェーン | はめあい公差、壁のルール、方向、印刷パーツごとに1つのコンポーネント | パーツごとに3MF + STEP |
| ショーケース | 表示されるが印刷されないアイテム:クラウドファンディングページ用のアクリルキーチェーン、ビデオ用の分解図 | 見た目を優先:レイヤー化されたパーツ、実際の素材の厚み、分解レイアウト | 透明背景のPNG、OBJ、STEP |
| アパレル | 衣料品ブランドのモックアップ:ハングタグ、ラベル、トリム、ボタン、ジッププル、パッケージ、ディスプレイピース | 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 <name> --mode print|showcase|apparel [--material PETG] を実行してプロジェクトフォルダー(project.json、build/、shots/、exports/)を作成します。
2. ブリーフィングと寸法測定
あなたが発明できないものを尋ねます:モデルが収まる必要がある実際のサイズ(缶、電話、キー)、素材、壁のスタイル、参考写真。どの数値が想定されているかを言い、project.json の assumptions に格納します。不足している寸法は、明白なデフォルト値を持つ名前付きパラメーターになり、埋もれた数値にはなりません。
3. 最初にパラメーター
測定可能なものはすべてコメント付きのユーザーパラメーターになり、計測値(缶の直径)、はめあい(クリアランス、壁)、派生値(他のパラメーターから構築された式)の3つのグループに分けられます。印刷モードでは、最初に print_profile("PETG") を呼び出します。これにより、素材の fit_press、fit_close、fit_free、min_wall、min_feature、hole_comp パラメーターが作成され、はめあいは 直径方向(両側の合計)です。クリアランスを発明する代わりにこれらを使用してください。名前は3文字以上でアンダースコアを含めます(can_dia):w、h、t などの1文字は単位名と衝突し、Fusionが拒否します。スケッチ寸法と押し出し距離はパラメーター式を取るため、1つの数値を変更するとモデル全体が変わります。最初のスクリプトを記述する前に 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 を提供します。物理的なパーツごとに1つのコンポーネントを作成し、<Part> - PRINT または - SHOWCASE と名前を付けます。フィレットは最後に適用します。先に進む前に すべてのスクリーンショットを確認 してください。画像と数値が矛盾する場合は、画像を信頼してバグを見つけてください。
不明なAPIがありますか? fusion_mcp.py api "ExtrudeFeatures" --filter adsk.fusion でライブドキュメントを返します。記憶よりもこれを優先してください。
5. 完了と言う前に検証
health()が0の問題を報告する。- パラメトリックテスト: 主要な計測パラメーターを変更し、
health()とreport()を再度確認し、元に戻します。ここで壊れるモデルは完成していません。 - 少なくともアイソメトリック、正面、および1つの断面または底面ビューからのスクリーンショットを、あなたが確認します。
- 印刷モード:
print_check("PETG")(薄い壁とオーバーハング、長いブリッジ、小さなまたは水平な穴、ベッドへの適合)、次に方向、サポート、最初の層の端を述べます。すべてのWARNを修正するか、なぜ許容できるかを説明します。重要なはめあいについては、最初にfit_coupon()を実行して印刷します。数分かかりますが、このフィラメントとプリンターの実際のクリアランスを設定します。 - 印刷モード:3MFをエクスポートし、
python <skill>/scripts/slicer_check.py exports/part.3mf --material PETGを実行します。これはOrcaSlicerをH2Cプロファイルでヘッドレス実行し、ウォータータイトかどうか、印刷時間、フィラメント、サポートが必要かどうか、方向がスライサーの最適解かどうかを報告します。結果をモデルにフィードバックします。GUIとオプションのorcaslicer-mcpサーバーは代替手段です:references/slicer.md。 - 証明されていない ことを言います。見た目が正しいモデルはテスト印刷されていません。最初のテスト印刷と、その後に調整するパラメーターを指定します。
6. エクスポートと引き渡し
印刷:各パーツの export(body, path, "3mf") に加えて step。ショーケース:角度ごとの透明PNG(shot は要求時に透明背景を使用)、ビデオツール用のOBJ。アパレル:PNGビューとSTEP。次に、ユーザーにファイル、パラメーターリスト、仮定、最初に実行するテストを提供します。
このスキルが行わないこと
- プリンターにジョブを送信したり、温度や速度を選択したりしません。スライスはモデルを確認するためだけ(サポート必要性、時間、方向)であり、サポートの選択を出発点として示します。
- テスト印刷に代わるものではありません。クリアランスは0.4 mmノズルの開始値であり、保証ではありません。
- ユーザーが共有しない限り、ユーザーの写真を見ることはできません。写真から推定するのではなく、寸法を尋ねてください。
- 布地をモデリングしません。アパレルモードはトリム、ラベル、タグ、ハードウェア、パッケージをカバーします。