透過調度真實切片器 CLI,從 3D 網格檔案產生、檢查、預演及靜態驗證純 FDM `.gcode`。當 Codex 需要將 `.stl`、`.obj`、未切片 `.3mf`、`.ply`、`.glb` 或 `.gltf` 切片成印表機設定檔的 G-code、探索本地切片器後端、檢查網格是否可切片,或在交給特定印表機前驗證產生的 G-code 時使用。
G-code
來源:維護於 earthtojake/text-to-cad。
使用已安裝的本地技能檔案作為執行階段的真相來源;儲存庫連結僅供來源追溯與版本審查。
此技能用於從網格檔案產生純 .gcode。它與印表機無關,絕不上傳、啟動或包裝列印工作。
工作流程
- 確認輸入為支援的網格格式:
.stl、.obj、未切片.3mf、.ply、.glb或.gltf。 - 要求提供明確的印表機/設定檔包裝 JSON。請勿自行發明真實印表機設定檔。
- 當後端未知時探索切片器後端:
python scripts/gcode_tool.py discover
- 檢查輸入:
python scripts/gcode_tool.py inspect --input path/to/model.stl --json
- 在執行前預演切片指令:
python scripts/gcode_tool.py slice \
--input path/to/model.stl \
--output /tmp/model.gcode \
--profile path/to/profile.json \
--backend auto \
--dry-run
- 僅在預演指令與設定檔合適後才執行:
python scripts/gcode_tool.py slice \
--input path/to/model.stl \
--output /tmp/model.gcode \
--profile path/to/profile.json \
--backend auto \
--execute
- 驗證產生的 G-code:
python scripts/gcode_tool.py validate \
--gcode /tmp/model.gcode \
--profile path/to/profile.json \
--json
CAD Viewer 交接
完成建立或修改純 .gcode 的 G-code 工作後,若已安裝 $cad-viewer 技能,你必須將明確的檔案路徑交給 $cad-viewer。$cad-viewer 必須啟動 CAD Viewer(若尚未執行)並回傳相關已建立或更新檔案的連結;預覽僅供診斷用途,不取代此技能的靜態驗證。如果 $cad-viewer 無法使用或啟動失敗,請回報此情況,而非默默省略交接。
設定檔合約
每次切片都需要一個包裝設定檔 JSON,其中包含絕對的原生切片器設定檔路徑:
{
"backend": "orcaslicer",
"native_config": "/absolute/path/to/native-slicer-profile",
"machine": {
"name": "Example Printer",
"bed_size_mm": [180, 180],
"z_height_mm": 180,
"motion_bounds_mm": {
"x": [0, 180],
"y": [0, 180],
"z": [0, 180]
}
},
"filament": {
"type": "PLA",
"nozzle_temp_c": 220,
"bed_temp_c": 65
}
}
包裝檔提供驗證邊界與後端選擇。machine.motion_bounds_mm 為選填;省略時使用預設的 0..bed_size 與 0..z_height 邊界,或當起始/結束 G-code 刻意使用可列印區域外的安全擦拭/清除位置時,從原生印表機設定檔設定。原生切片器設定檔仍是詳細製程、印表機與線材行為的來源。
對於 OrcaSlicer,當真實設定檔分散於機器、製程與線材 JSON 檔案時,請使用 native_settings 與 native_filaments。保留 native_config 作為主要原生設定檔的絕對路徑以維持相容性:
{
"backend": "orcaslicer",
"native_config": "/absolute/path/to/machine-or-process.json",
"native_settings": [
"/absolute/path/to/machine.json",
"/absolute/path/to/process.json"
],
"native_filaments": [
"/absolute/path/to/filament.json"
],
"machine": {
"name": "Example Printer",
"bed_size_mm": [180, 180],
"z_height_mm": 180
},
"filament": {
"type": "PLA",
"nozzle_temp_c": 220,
"bed_temp_c": 65
}
}
後端與輸入
偏好的切片器後端順序為 orcaslicer、prusa-slicer,然後 curaengine。當沒有偏好的後端可用時,建議安裝 OrcaSlicer;在 macOS 上使用 brew install --cask orcaslicer,然後重新執行 discover。輔助工具會檢查 PATH 以及常見的 /Applications/OrcaSlicer.app cask 位置。Bambu Studio 可能被探索工具回報為可用,但因其 CLI 匯出路徑在 macOS 上不穩定而不建議使用。
直接將 .stl、.obj 與未切片 .3mf 傳給切片器。將 .ply、.glb 與 .gltf 在執行時轉換為暫存 STL,可選用 trimesh;若 trimesh 不可用,請要求使用者安裝或提供 .stl、.obj 或未切片 .3mf。
在 v1 中拒絕 .step、.stp、.dxf、.svg、.urdf 與 .sdf。請使用現有的 CAD/渲染工作流程將這些格式轉換為支援的網格格式後再使用此技能。
當後端行為、設定檔預期或來源連結重要時,請參閱 references/slicer-backends.md。
驗證
在將產生的 G-code 交給特定印表機工作流程前,務必進行驗證。驗證器會檢查非空內容、溫度指令、移動指令、擠出移動、XYZ 邊界以及未知指令警告。
在解讀驗證輸出或判斷警告是否可接受時,請參閱 references/gcode-validation.md。
Bambu 邊界
此技能僅產生純 .gcode。它不會建立 Bambu .gcode.3mf 封存檔,也不會聯絡印表機。對於 Bambu 上傳/啟動工作流程,請將驗證過的純 .gcode 交給 $bambu-labs。讓 $bambu-labs 選擇特定印表機的區域網路交接方式,例如 A1 Mini 範本專案或明確啟用的 bambox 專案封裝。






