mcpField
F
forgent3d

forgent3d

github.com/forgent3dクリエイティブ・メディア944 回インストール2 週間前に更新
リポジトリ

forgent3d について

forgent3dは、build123dまたはOpenSCADを使って部品を作成・編集するCADオーサリングスキルです。入力に応じて作成ルートを選び、cad-build CLIでビルド、検査、プレビュー、エクスポートを行います。

主な機能

  1. 01build123dとOpenSCADのルート
  2. 02モデル形状のビルドと計測
  3. 03スナップショットとプレビューリンクの作成
  4. 04STEP、STL、3MFなどへのエクスポート
  5. 05パラメーターの確認と問題報告

活用シーン

  1. 01説明から機械部品を作成
  2. 02既存の .scad や model.py を編集
  3. 03寸法、面、ビルド警告を確認
  4. 04モデルファイルを出力またはプレビュー共有

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/forgent3d/forgent3d-skills --skill forgent3d

インストール後、Claude Code で/forgent3dを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
bin/
cad-build
references/
assembly.md
build123d.md
openscad.md
outline.md
selectors.md

詳細

Forgent3D CAD の作成

パーツを作成する方法は2つ、CLIは1つです。単位はミリメートルで、ワールド座標系は右手系、Z軸が上向きです。

  • build123d ルート — Forgent3D の build123d + cadkit 方言による model.py です。 カーネルが正確な B-rep として構築し、計測します(穴、面、壁)。 STEP はこのマシンから出力され、製品のワークスペースで引き続き編集できます (スケッチ、ノブ、アセンブリ、メイト、モーション)。

  • OpenSCAD ルート — ユーザーが OpenSCAD で作成する .scad です。同梱の OpenSCAD がレンダリングします。バウンディングボックス、体積、echo() の値を読み取り、 STL/3MF をエクスポートします。コードを含むリンクを渡せば、そのページから STEP をエクスポートできます。

  • モデリングまたは変更の依頼 → ルートを選び、ソースを編集して、 ビルドを検証します。

  • 質問 → 回答します。ファイルは変更しません。

ソースの編集には、手元のファイルツールを使用します。それ以外のすべて(ビルド、計測、 レンダリング、エクスポート、公開、バグ報告)は、1つの CLI cad-build を通じて行います。

ルートの選択:まず決めて伝え、リファレンスを1つ読む

最初に当てはまるルールを選びます。

  1. .scad ファイルがある、または依頼で OpenSCAD、.scad、Customizer、BOSL2、MCAD、Thingiverse が指定されている → OpenSCAD ルート。references/openscad.md を読みます。
  2. 方言の model.py がある(build123d / cadkit からインポートしている)、またはアセンブリ、メイト、モーション、エッジ選択によるフィレットやシェル、製品のキャンバスで編集するパーツ、寸法計測、このマシンからの STEP が必要 → build123d ルート。references/build123d.md を読みます。
  3. どちらにも当てはまらない → build123d ルート(計測ができ、正確な STEP をエクスポートし、ワークスペースに配置されます)。

続いて、編集を始める前に該当するリファレンスを1つだけ読みます。タスク全体を通してルートを維持します。.scad を model.py に変換したり、その逆を行ったりすることはありません。冒頭の文でルートを明示します(「OpenSCAD で作成します:…」)。ルール1に当てはまる一方で、依頼にメイト、モーション、またはエッジ選択によるフィレットも含まれる場合、それらには build123d ルートが必要です。その旨を伝えてユーザーに選択してもらいます。ここが、質問する価値のある唯一の分岐点です。

依頼ルート
「M4 の穴が4つあるブラケット。機械加工用の STEP」build123d
「この gridfinity.scad を使って、ビンを2ユニット分高くしてください」OpenSCAD
「この OpenSCAD ファイルを STEP に変換してください」OpenSCAD(プレビューのページから STEP を出力できます)
「このボックスにヒンジで取り付けるふた」build123d(モーション)
「BOSL2 の丸み付けとラベルを使った OpenSCAD のノブ」OpenSCAD
「スマートフォンスタンドをモデリングしてください」(ファイルなし、言語の指定なし)build123d

コマンド

cad-build はこのスキルの bin/cad-build ラッパーです。PATH には含まれていません。パスで呼び出してください:<this skill's directory>/bin/cad-build。npx 経由で公開済みの @forgent3d/cad-build を実行します(カーネルと OpenSCAD はその中に含まれているため、インストール不要です)。または、FORGENT3D_CAD_BUILD_BIN がローカルビルドを指していれば、そのビルドを実行します。

cad-build rebuild    <file.py | file.scad>                           # build or render, then report
cad-build check      <file.py> --code '…'                            # probe the built model — build123d route only
cad-build snapshot   <file> [--view front] [--line N] [--line-art] [--xray]  # orthographic PNG; --line N zooms onto one statement's faces
cad-build knobs      <file>                                          # every published control built at its extremes
cad-build export     <file> --format step|stl|3mf|glb|obj            # step: build123d route only
cad-build preview    <file>                                          # → shareable link
cad-build recipe     <motion|pocket|outline>                         # build123d route references
cad-build feedback --message '…' <file>                              # report an engine/tool bug
コマンドbuild123d ルート(model.py)OpenSCAD ルート(.scad)
rebuildbbox、体積、円柱の一覧(各半径と軸の方向)、平面の一覧(各平面が位置する座標)、分離したソリッド、解決済みの接続(各メイトの種類、結果、解決済みフレーム、導出されたジョイント)、診断情報bbox、体積(面の体積)、三角形の数、ファイルの echo() 行、OpenSCAD の警告
check --codeビルド済みモデルに対してスニペットが出力する内容、def test_* によるチェック拒否されます。ファイル内の echo() がプローブです
snapshot2×2 シート(上面/斜視/正面/右側面)または単一の --view。--line-art --xray は隠れたエッジを破線で表示します。--line N は model.py の N 行目で作成された面(オレンジ色。隠れたエッジは面を通して破線で表示され、フィーチャーに沿った方向と横切る方向の両方を表示)を拡大し、テキストで名前を示します同じ表示を OpenSCAD の三角形から描画します。color() が反映されます。--line は使用できません
knobs定数行にあるすべての #@ ノブを、極端な値で検証します:OK/INERT/WARNS/BROKENすべての Customizer パラメーターを極端な値に変更して再レンダリングします。同じ判定結果です
exportSTEP(正確)、STL/3MF/GLB/OBJをローカルに書き出しますOpenSCAD 自身の三角形から STL/3MF/GLB/OBJ を書き出します。STEP はプレビューページのものです
previewmodel.py、ここでビルドしたジオメトリ、その色、imports/ ファイルをアップロードします。3D ビューとブラウザーエディターのリンクが作成されますコード自体を含むリンクが作成されます。そこで実際の OpenSCAD がレンダリングされ、パラメーターを操作でき、STEP と STL を書き出せます

どちらの場合も、レポートは判定結果ではなく指紋です。ビルドが成功しても意味するのはコンパイルできたということです。数値を依頼内容と照らし合わせ、信頼する前に必ず確認してください(snapshot)。最初に対応すべきエラーには、ソース行が示されます。

ソースファイルの名前は何でもかまいません。パスを渡すか、省略した場合は、ディレクトリに model.py があればそれを、なければ .py ファイルがちょうど1つあればそれを、さらにそれもなければ .scad ファイルがちょうど1つあればそれを使います。cad-build は生成物をソースの隣の .cache/ に、プレビューのハンドルを .forgent3d-preview.json(秘密情報)に保持します。自由に削除できますが、編集はしないでください。どちらも gitignore に追加してください。

依頼内容で判断が委ねられている場合

依頼内容で決まっていないことは、自分で決めてかまいません。導き出すか、測定するか、妥当な既定値を採用してビルドしてください。すでに決めた方針の確認を求めて作業を止めないでください。ユーザーが見られる部品を作るほうが、質問するより有益です。

その代わり、返信では決めた内容をユーザー自身の言葉で、各項目を1行ずつ伝えてください。既定値にした数値(「壁の厚さは3 mm」「角はR2」など)はそれぞれ、ファイルの先頭で名前付き定数(build123d)または Customizer パラメーター(OpenSCAD)にしてください。また、決定した各分岐については、ユーザーが切り替えられるよう、選ばなかった側も併記してください。2つの分岐は、決して省略してはいけません。選択を誤ると、微調整ではなく再ビルドが必要になるからです。依頼に寸法の指定がなく、一般的な規格でも決まらない場合は、部品をはめ込む対象のサイズが該当します。また、分岐によって別の部品になる場合も該当します(スケッチのどのビューを示すか、どの面を何に取り付けるか、写真に写った物の縮尺など)。

ワークフロー

  1. ルートとアプローチを明示した具体的な一文で始めます。
  2. ルートのリファレンスを読み、ソースを編集します。複雑なオブジェクトの場合は、まず基本形状をきれいにビルドし、その後、ビルドが確認済みのベースに機能を追加します。短いドラフトで失敗すれば、原因を特定しやすくなります。
  3. **cad-build rebuild を実行します。**最初に対応可能なエラーを修正し、問題がなくなるまで再ビルドします。レポートを依頼内容と照らし合わせ、サイズ、位置、すべての警告を確認します。
  4. **cad-build snapshot を実行して PNG を開きます。**数値で寸法は確認できますが、形状が間違った面にある、または反転しているといった問題は見つけられません。
  5. レポートでは確認できないものを測定します — build123d ルートでは check --code、OpenSCAD ルートでは echo() を使います。値によって次の編集内容が決まる場合に限ります。
  6. 引き渡す前に、ファイルがコントロールを公開している場合は cad-build knobs を実行し、BROKEN または WARNS があれば修正します。その後、cad-build preview を実行してユーザーにリンクを渡します。ファイル自体が必要な場合は cad-build export を実行します。採用したデフォルト値と分岐で締めくくります。

エンジン/ツールのバグを報告する

ツールまたはエンジン自体の不具合に遭遇した場合は、cad-build feedback --message '…' <the source file> で一度だけ報告します。たとえば、cad-build がクラッシュする、または内部エラーを起こす場合、リファレンスに動作すると記載されている有効な方言/cadkit の構文が動作しない場合、実際の build123d が受け入れるシグネチャを方言が拒否する場合、デスクトップ版 OpenSCAD では正常にレンダリングされる .scad がここでは拒否される、または異なる形でレンダリングされる場合、レポートの形状情報が正しいソースと矛盾する場合、rebuild と preview の結果が一致しない場合などです。ファイルを添付すると、チームが問題を再現できます。メッセージは具体的に記述してください。これは送信後に処理されるため、報告したら作業を続けるか、回避策を使ってください。 修正がすでにリリースされている可能性があるため、まず更新してください。

npx skills update forgent3d               # this skill
npx -y @forgent3d/cad-build@latest help   # refresh the CLI npx cache

**報告対象外:**不正なフィレット、不適切なセレクター、誤った位置にあるカッター、未定義の OpenSCAD 変数、インクルードの不足など、自分のソースが原因のエラーは自分で修正してください。ソースを変更して解決できるなら、それはツールのバグではありません。

コメント