Communitygithub.com

shadowtor/fusion-studio

ユーザーと一緒にAutodesk Fusion内で3Dモデルを設計するスキル。ローカルのMCPサーバー(http://127.0.0.1:27182/mcp)を介して動作し、プロジェクトの種類(3D印刷パーツ、ショーケース、アパレルモックアップ)を選択した後、計測値からパラメトリックモデルを構築し、確認、スクリーンショット、エクスポートを行います。

fusion-studio とは?

このスキルは、Autodesk FusionのMCPサーバーを介してPythonスクリプトを送信することで、ユーザーと協調的に3Dモデリングを行います。まず、プロジェクトが「印刷(3Dプリント)」「ショーケース(展示用、非印刷)」「アパレル(ブランドモックアップ)」のいずれかに該当するかを選択し、それに応じてモデリング戦略、許容差、仕上げを定義します。印刷モードでは、ユーザーが指定したフィラメント(PLA、PETGなど)に基づいて、壁厚、オーバーハング角度、ブリッジ長などの制限を適用し、Bambu Lab H2Cプリンターをデフォルトとします。モデルはすべてパラメトリックに構築され、主要な寸法を変更するだけで全体が自動更新されます。スクリプトは小さな単位で実行され、各ステップでスクリーンショットを確認しながら進行します。最後に、ヘルスチェック、パラメトリックテスト、スライサー(OrcaSlicer)による検証を経て、3MF、STEP、PNG、OBJなどの形式でエクスポートします。このスキルは、モデリングの自動化と精度向上を目的としつつ、実際のテスト印刷を代替するものではないことに注意が必要です。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/shadowtor/fusion-studio/tree/HEAD/skills/fusion-studio

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

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. 完了と言う前に検証

  1. health() が0の問題を報告する。
  2. パラメトリックテスト: 主要な計測パラメーターを変更し、health() と report() を再度確認し、元に戻します。ここで壊れるモデルは完成していません。
  3. 少なくともアイソメトリック、正面、および1つの断面または底面ビューからのスクリーンショットを、あなたが確認します。
  4. 印刷モード:print_check("PETG")(薄い壁とオーバーハング、長いブリッジ、小さなまたは水平な穴、ベッドへの適合)、次に方向、サポート、最初の層の端を述べます。すべてのWARNを修正するか、なぜ許容できるかを説明します。重要なはめあいについては、最初に fit_coupon() を実行して印刷します。数分かかりますが、このフィラメントとプリンターの実際のクリアランスを設定します。
  5. 印刷モード:3MFをエクスポートし、python <skill>/scripts/slicer_check.py exports/part.3mf --material PETG を実行します。これはOrcaSlicerをH2Cプロファイルでヘッドレス実行し、ウォータータイトかどうか、印刷時間、フィラメント、サポートが必要かどうか、方向がスライサーの最適解かどうかを報告します。結果をモデルにフィードバックします。GUIとオプションのorcaslicer-mcpサーバーは代替手段です:references/slicer.md。
  6. 証明されていない ことを言います。見た目が正しいモデルはテスト印刷されていません。最初のテスト印刷と、その後に調整するパラメーターを指定します。

6. エクスポートと引き渡し

印刷:各パーツの export(body, path, "3mf") に加えて step。ショーケース:角度ごとの透明PNG(shot は要求時に透明背景を使用)、ビデオツール用のOBJ。アパレル:PNGビューとSTEP。次に、ユーザーにファイル、パラメーターリスト、仮定、最初に実行するテストを提供します。

このスキルが行わないこと

  • プリンターにジョブを送信したり、温度や速度を選択したりしません。スライスはモデルを確認するためだけ(サポート必要性、時間、方向)であり、サポートの選択を出発点として示します。
  • テスト印刷に代わるものではありません。クリアランスは0.4 mmノズルの開始値であり、保証ではありません。
  • ユーザーが共有しない限り、ユーザーの写真を見ることはできません。写真から推定するのではなく、寸法を尋ねてください。
  • 布地をモデリングしません。アパレルモードはトリム、ラベル、タグ、ハードウェア、パッケージをカバーします。

関連スキル