エクスポート
fusion-inspect に合格したビルドのみをエクスポートします。Refs 内のゴーストボディは決してエクスポートされません。
fusion-build ランナーで実行します:
import os
enc = wslib.find_occurrence('Enclosure').component
out = os.path.join(wslib.REPO, 'exports'
down = {'Shell': (0, -1, 0), 'Cap': (0, -1, 0)} # プリントベッドに面するモデルの方向
for b in enc.bRepBodies:
wslib.export_for_print(b, os.path.join(out, b.name.lower() + '.stl'), down[b.name])
wslib.export_component(enc, os.path.join(wslib.REPO, 'cad', 'enclosure.step'))
export_for_printは すでに印刷向きになっている STL を書き出します: パーツは z=0 に置かれ、XY 平面で中央に配置されるため、ユーザーはスライサーで何も回転させる必要がありません。新しいボディを追加するときは、そのベッドに面する方向をdownに追加してください。- Shell: 後面開口部を下向き (v2)。後半部分は最大約41°傾き、フロントショルダーはリファレンスのトップショルダーのように内側に傾くため、ラティスにサポートは不要です。傾いたベースのフラットフロアプレートは垂直から30°傾いています。ガラスリップは最後のレイヤーで、1.55mm の内側オーバーハングとなるため、スライサープレビューで確認してください。
- Cap: 外面を下向き。支柱は垂直に立ちます。
- 新しいジオメトリは、これらの向きでサポートなしで印刷可能でなければなりません。下向きの面は 45°以上に保ってください。
- Shell ラティスリブは 0.65 mm(Siri スタイルのニット)であるため、スライサーは印刷の大部分をリブのギャップフィルの敷設に費やします。Orca(相対E)でスライスした後、ストリップします:
python scripts/strip_gapfill.py --keep-bottom 16 --keep-top 6 shell.gcode。keep ゾーンは、リアカラーバンドと面取りコーン(最初の約16mm、リアダウン)およびフロントリムとガラスポケットチューブ(最後の約6mm)のギャップフィルをそのまま残します。傾いたフロアプレートは全高にわたって延びているため、まだしっかりと充填されていることを確認してください。カラーまたはマージンパラメータが変更された場合は、derived()から再計算してください。最初にスライサープレビューで結果を検査してください。 - 注意点:
exportManagerは、コンポーネント(ネイティブまたはプロキシ)に追加されたばかりのボディに対して 何も 書き出さずに静かに失敗します。代わりに、export_for_printが行うようにコンポーネントをエクスポートし、その後ファイルが存在することをアサートしてください。 exports/には印刷用ファイルが保存され、gitignore されています。cad/enclosure.stepはリビジョンの CAD スナップショットとしてコミットされます。- ファイルがディスク上に存在し、健全性チェック(非多様体エッジが 0、最小 z = 0、ボリュームがボディと一致すること)に合格したら完了です。ユーザーにファイル名とサイズを一覧表示してください。
- v2 ラティスを含む
cad/enclosure.stepは約 29 MB です。長時間のチェック実行直後のエクスポートが、エラーなしでわずか 256 KB になったことがあったため、コミットする前にそのサイズをgit cat-file -s HEAD:cad/enclosure.stepと比較してください。原因は 2026-10-04 に判明: STEP エクスポートは 非表示 のボディをスキップし、Shell が GUI で非表示になっていました。wslib.export_componentは現在、エクスポートのために非表示ボディを表示し、その後再び非表示にします。
- v2 ラティスを含む