开发编程
#ai
gcode
Generate, inspect, dry-run, and statically validate plain FDM `.gcode` from 3D mesh files by orchestrating real slicer CLIs. Use when Codex needs to slice `.stl`, `.obj`, unsliced `.3mf`, `.ply`, `.glb`, or `.gltf` into printer-profiled G-code, discover local slicer backends, inspect whether a mesh is slice-ready, or validate generated G-code before any printer-specific handoff.
DeepseekModel
官方收录技能
质量 优秀 · 90
v1.0.0
获取
https://deepseekmodel.com/api/download.php?id=earthtojake-text-to-cad-skills-gcode-skill-md&format=skill
下载 .skill
标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name gcode description Generate, inspect, dry-run, and statically validate plain FDM `.gcode` from 3D mesh files by orchestrating real slicer CLIs. Use when Codex needs to slice `.stl`, `.obj`, unsliced `.3mf`, `.ply`, `.glb`, or `.gltf` into printer-profiled G-code, discover local slicer backends, inspect whether a mesh is slice-ready, or validate generated G-code before any printer-specific handoff. G-code Provenance: maintained in earthtojake/text-to-cad . Use the installed local skill files as the runtime source of truth; the repository link is only for provenance and release review. Use this skill for plain .gcode generation from mesh files. It is printer-agnostic and never uploads, starts, or packages print jobs. Workflow Confirm the input is a supported mesh: .stl , .obj , unsliced .3mf , .ply , .glb , or .gltf . Require an explicit printer/profile wrapper JSON. Do not invent real-printer profiles. Discover slicer backends when the backend is unknown: python scripts/gcode_tool.py discover Inspect the input: python scripts/gcode_tool.py inspect --input path/to/model.stl --json Dry-run the slicer command before executing: python scripts/gcode_tool.py slice \ --input path/to/model.stl \ --output /tmp/model.gcode \ --profile path/to/profile.json \ --backend auto \ --dry-run Execute only after the dry-run command and profile are appropriate: python scripts/gcode_tool.py slice \ --input path/to/model.stl \ --output /tmp/model.gcode \ --profile path/to/profile.json \ --backend auto \ --execute Validate the generated G-code: python scripts/gcode_tool.py validate \ --gcode /tmp/model.gcode \ --profile path/to/profile.json \ --json Profile Contract Every slice requires a wrapper profile JSON with an absolute native slicer profile path: { "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 } } The wrapper supplies validation bounds and backend selection. machine.motion_bounds_mm is optional; omit it for the default 0..bed_size and 0..z_height bounds, or set it from a native printer profile when start/end G-code intentionally uses safe wipe/purge positions outside the printable area. The native slicer profile remains the source of detailed process, printer, and filament behavior. For OrcaSlicer, use native_settings and native_filaments when the real profile is split across machine, process, and filament JSON files. Keep native_config as an absolute path to the primary native profile for compatibility: { "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 } } Backends And Inputs Preferred slicer backend order is orcaslicer , prusa-slicer , then curaengine . Prefer installing OrcaSlicer when no preferred backend is available; on macOS use brew install --cask orcaslicer and then rerun discover . The helper checks both PATH and the usual /Applications/OrcaSlicer.app cask location. Bambu Studio may be reported by discovery as available but is not preferred because its CLI export path has shown macOS instability. Pass .stl , .obj , and unsliced .3mf directly to the slicer. Convert .ply , .glb , and .gltf to temporary STL at execution time with optional trimesh ; if trimesh is unavailable, ask the user to install it or provide .stl , .obj , or unsliced .3mf . Reject .step , .stp , .dxf , .svg , .urdf , and .sdf in v1. inspect and slice fail with a structured remediation object naming the skill and command that produce a sliceable mesh; use it instead of inferring a conversion workflow: .step , .stp : boundary-representation CAD, not a mesh. Export an STL sidecar with $cad ( cadgen stl build <input.step> <output>.stl — the door takes the STEP document; a model script is refused, run python <model>.py first), then slice the exported .stl here. .dxf , .svg : 2D drawings with no 2D-to-mesh conversion in this toolchain. Model the 3D solid in $cad as a @step model script and export an STL sidecar, then slice that. If the part is a flat cut rather than a print, use $sendcutsend instead of this skill. .urdf , .sdf : robot descriptions that reference per-link mesh files. Slice the referenced .stl / .obj meshes one at a time; regenerate stale or missing ones from the owning CAD source with $cad first. Use $urdf or $sdf for the robot description itself. Read references/slicer-backends.md when backend behavior, profile expectations, or source links matter. Validation Always validate generated G-code before handing it to printer-specific workflows. The validator checks for non-empty content, temperature commands, movement commands, extrusion moves, XYZ bounds, and unknown command warnings. Read references/gcode-validation.md when interpreting validation output or deciding whether a warning is acceptable. Bambu Boundary This skill generates plain .gcode only. It does not create Bambu .gcode.3mf archives and does not contact printers. For Bambu upload/start workflows, hand off the validated plain .gcode to $bambu-labs . Let $bambu-labs choose the printer-specific LAN handoff, such as an A1 Mini template project or an explicitly enabled bambox project package.
Agent 识别该技能的关键词,点击任意一个即可复制。
该技能未提供触发词。
下载的 .skill 包内含以下字段。
| 字段 | 说明 |
|---|---|
| format | 格式标识(skill/v1) |
| skill_id | 技能唯一 ID |
| name | 技能名称 |
| version | 版本号 |
| description | 技能描述 |
| category | 所属分类(数组) |
| trigger_words | 触发词列表 |
| tags | 标签列表 |
| source | 来源标识 |
| source_url | 来源链接(本页地址) |
| exported_at | 导出时间(每次下载生成) |
| system_prompt | 系统提示词正文 |
| model_config | 模型参数:provider / model / temperature / max_tokens / top_p |
| examples | 示例 |
| install_guide | 各平台导入说明(Coze / Dify / Claude / 自定义框架) |