dfam-check について
DfAM Check は、スライスや印刷の前にメッシュファイルを評価するスキルで、積層造形の設計確認に適しています。形状をローカルで測定して工程別の設計限界と比較しますが、スライス、アップロード、印刷開始は行いません。
主な機能
- 01メッシュ形状の事実を測定
- 02対象工程の限界値を選択
- 03壁厚、オーバーハング、サポートを確認
- 04候補となる印刷方向を評価
- 05根拠付きの設計レポートを作成
活用シーン
- 01スライス前に STL の造形可否を確認
- 02印刷工程ごとの壁厚制限を比較
- 03サポート要件と印刷方向を評価
- 04不適合箇所の再設計指針を準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ earthtojake/ text-to-cad --skill dfam-checkインストール後、Claude Code で/dfam-checkを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSErequirements.txtagents/openai.yamlreferences/process-limits.mdscripts/dfam_tool.py詳細
DfAM Check
出典: earthtojake/text-to-cad で保守されています。 実行時の信頼できる情報源として、インストール済みのローカルスキルファイルを使用してください。 リポジトリへのリンクは、出典確認とリリースレビューのためのものにすぎません。
このスキルは、スライスまたはプリントの前に、メッシュファイルについて保守的で根拠に基づいた DfAM レポートを作成するために使用します。形状に関する事実をローカルで測定し、プロセスごとの設計限界と比較します。スライス、アップロード、プリントジョブの開始は行いません。
形状検査
すべての形状に関する事実の取得には、アクティブなプロジェクトの Python 環境で scripts/dfam_tool.py を使用してください(最初に requirements.txt をインストールしてください。実行のたびに必要です)。このツールは事実のみを扱い、測定値を報告しますが、合格/不合格や準備状況のステータスは出力しません。比較と判定はこのワークフローで行います。ツールで測定できる場合は、壁厚、オーバーハング角度、サポート体積を目視やレンダリングから推定しないでください。
python scripts/dfam_tool.py measure part.stl --angle-limit 45
python scripts/dfam_tool.py orientations part.stl --angle-limit 45
測定前に、references/process-limits.md を参照して --angle-limit を対象プロセスの自立可能角度に設定してください。集計されたサポート面積の値はこの角度を基準に分類されるため、対象プロセスが変わった場合は再実行してください。
STEP/STP 入力は境界表現 CAD であり、メッシュではありません。$cad スキルがインストールされている場合は、先にそれを使って STL のサイドカーファイルを書き出し、その STL をここで測定してください。生の STEP を解析しようとせず、代わりにその対処方法を報告してください。STEP に対する measure は {"error": "failed to load mesh: ..."} を返して終了コード 1 で終了します。これは入力形式の誤りを示すものであり、依存関係の不足ではありません。回避のために追加のメッシュローダーをインストールしないでください。
計算できないファミリーがある場合、その箇所に {"error": ...} を返し、ほかの測定値を含むレポート全体を損なうことはありません。依存関係一式が不完全な場合の wall_thickness や、凸包のない形状に対する support_volume が該当します。このレポートは PARTIAL です。"partial": true を含み、partial_sections に該当するファミリーを示し、コマンドは 2 で終了します(0 は完全なレポート、1 はメッシュをまったく読み込めなかった場合です)。そのようなオブジェクトはすべて、測定値がゼロなのではなく、未測定の事実(❓ need more info)として扱ってください。壁厚の限界を比較する前に、requirements.txt を再インストールしてください。
ワークフロー
- プリントの要件を確認します。対象プロセス、材料、レイヤー高さ、およびユーザーが提示できる機械または材料のデータシートを確認してください。プロセスが不明な場合は、デフォルトの 45° の限界で一度測定してから、単一の判定を推測するのではなく、候補となる各プロセス別に結果を提示してください。
references/process-limits.mdを読み、対象プロセスに該当する限界値の列を選びます。ユーザー提供の機械/材料データシートがある場合は、デフォルト値よりも優先します。比較ごとに、使用した出典を明記してください。- アップロードされた正確なファイルに対して
measureを実行してください。ジェネレータースクリプト、ソース CAD モデル、またはファイルのコンソール要約だけを確認することは避けてください。 - プロセスでサポートが必要で、測定されたサポート面積がゼロでない場合は、
orientationsを実行してください。サポート面積を大幅に減らす候補があれば、造形高さとのトレードオフと併せて報告してください。 - 測定した各事実を明記した限界値と比較し、控えめなステータスラベルで結果を報告してください。
✅ pass:測定した事実が明記した限界を満たしています。❌ fail:測定した事実が明記した限界に直接違反しています。❓ need more info:プロセスの情報が不足している、形状が未測定である、サンプリングが疎すぎて信頼できない、またはツールに制限がある場合です。
- 重大度の高い順に結果を並べます。最初に水密性(すべてのプロセスでスライスを妨げます)、次に壁厚、オーバーハング/サポート、最後に向きとコストの指標を示してください。
比較
信頼できる根拠の組み合わせのみを比較します。
- 各指摘について、制限値の根拠(プロセス制限テーブルの行、またはユーザーのデータシートのフィールド)と、測定値の根拠(JSON フィールドパス)を示してください。
p05_mmが壁厚の制限値を下回る場合は、min_mmだけならサンプリングの外れ値と見なせる場合でも、違反として扱ってください。両方の値を報告してください。- アセンブリでは、
wall_thicknessがbody_countとper_bodyの内訳を報告します。違反は該当するボディに帰属させてください。複数のボディを合わせた薄い箇所の数値は、部品全体に対する指摘ではありません。 - 粉末方式(SLS、MJF)にはサポート角度に関する指摘を適用しないでください。粉末方式で該当する確認項目は、閉じ込められた空間からの粉末除去です。このツールではまだ測定できないため、囲まれた空洞がありそうな場合は
❓ need more infoとして報告してください。 - ジオメトリを黙って再スケーリングしないでください。
scale.units_suspectはバウンディングボックスの対角線から測定されます。値がtrueの場合、元データの単位はおそらくメートルまたはインチであり、下向きの面はすべてプレート上にあると判定され、オーバーハングとサポートの数値が 0.0 でも意味をなしません。単位/スケールに関する指摘を報告し、材料の制限値と比較する前に、単位を確認するようユーザーに依頼してください。 - サポート体積比は概算の上限値です。ユーザーが明示的な予算を設定していない限り、確定的な不合格ではなく、コストの目安として報告してください。
再設計の引き継ぎ
❌ fail ごとに、目標数値を含む具体的で平易な再設計指示を記載してください(例:「[12.4, 3.0, 8.1] の位置の壁厚を 0.6 mm から ≥1.2 mm に厚くしてください」または「[23.3, 10.0, 52.0] のオーバーハングに ≥45° の面取りを加えてください」)。
$cad スキルがインストールされている場合は、それを使って再設計指示を適用し、再生成したジオメトリをここで再測定することを提案してください。❌ fail の指摘がなくなるまで、これを繰り返してください。