gcode

gcode

热门

通过编排真实切片器CLI,从3D网格文件生成、检查、预演和静态验证纯FDM `.gcode`。当Codex需要将`.stl`、`.obj`、未切片的`.3mf`、`.ply`、`.glb`或`.gltf`切片为打印机配置的G代码、发现本地切片器后端、检查网格是否可切片,或在任何打印机特定交接前验证生成的G代码时使用。

9595Star
1058Fork
更新于 2026/7/11
SKILL.md
readonly只读
name
gcode
description

通过编排真实切片器CLI,从3D网格文件生成、检查、预演和静态验证纯FDM `.gcode`。当Codex需要将`.stl`、`.obj`、未切片的`.3mf`、`.ply`、`.glb`或`.gltf`切片为打印机配置的G代码、发现本地切片器后端、检查网格是否可切片,或在任何打印机特定交接前验证生成的G代码时使用。

G-code

来源:维护于 earthtojake/text-to-cad
使用本地安装的技能文件作为运行时真实来源;
仓库链接仅用于来源和版本审查。

使用此技能从网格文件生成纯 .gcode。它与打印机无关,从不上传、启动或打包打印任务。

工作流程

  1. 确认输入是支持的网格格式:.stl.obj、未切片的 .3mf.ply.glb.gltf
  2. 要求提供明确的打印机/配置文件包装JSON。不要虚构真实打印机配置文件。
  3. 当后端未知时,发现切片器后端:
python scripts/gcode_tool.py discover
  1. 检查输入:
python scripts/gcode_tool.py inspect --input path/to/model.stl --json
  1. 在执行前预演切片命令:
python scripts/gcode_tool.py slice \
  --input path/to/model.stl \
  --output /tmp/model.gcode \
  --profile path/to/profile.json \
  --backend auto \
  --dry-run
  1. 仅在预演命令和配置文件合适后执行:
python scripts/gcode_tool.py slice \
  --input path/to/model.stl \
  --output /tmp/model.gcode \
  --profile path/to/profile.json \
  --backend auto \
  --execute
  1. 验证生成的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_size0..z_height 边界,或者当起始/结束G代码有意使用可打印区域外的安全擦拭/清除位置时,从原生打印机配置文件中设置。原生切片器配置文件仍然是详细工艺、打印机和耗材行为的来源。

对于OrcaSlicer,当真实配置文件分散在机器、工艺和耗材JSON文件中时,使用 native_settingsnative_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
  }
}

后端和输入

首选切片器后端顺序为 orcaslicerprusa-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项目包。