通过编排真实切片器CLI,从3D网格文件生成、检查、预演和静态验证纯FDM `.gcode`。当Codex需要将`.stl`、`.obj`、未切片的`.3mf`、`.ply`、`.glb`或`.gltf`切片为打印机配置的G代码、发现本地切片器后端、检查网格是否可切片,或在任何打印机特定交接前验证生成的G代码时使用。
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代码:
python scripts/gcode_tool.py validate \
--gcode /tmp/model.gcode \
--profile path/to/profile.json \
--json
CAD Viewer 交接
完成创建或修改纯 .gcode 的G代码工作后,当 $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代码有意使用可打印区域外的安全擦拭/清除位置时,从原生打印机配置文件中设置。原生切片器配置文件仍然是详细工艺、打印机和耗材行为的来源。
对于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代码交给打印机特定工作流之前,始终进行验证。验证器检查非空内容、温度命令、移动命令、挤出移动、XYZ边界和未知命令警告。
在解释验证输出或决定警告是否可接受时,阅读 references/gcode-validation.md。
Bambu 边界
此技能仅生成纯 .gcode。它不创建Bambu .gcode.3mf 存档,也不联系打印机。对于Bambu上传/启动工作流,将验证后的纯 .gcode 交给 $bambu-labs。让 $bambu-labs 选择打印机特定的局域网交接,例如A1 Mini模板项目或显式启用的bambox项目包。






