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
By earthtojake · 6,727 installs
npx skills add earthtojake/text-to-cad --skill gcode
Source repository · Upstream listing
G code
Provenance: maintained in [earthtojake/text to cad](https://github.com/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.
Slice with OrcaSlicer, headless (below) or by opening the model in the
OrcaSlicer app for the user. The agent never contacts a printer: for a Bambu
Lab printer, hand the result to $bambu labs ; for any other printer, give the
user the .gcode .
Install OrcaSlicer
macOS: brew install cask orcaslicer . The command line is
/Applications/OrcaSlicer.app/Contents/MacOS/OrcaSlicer .
Windows and Linux: install a release from
https://github.com/OrcaSlicer/OrcaSlicer/releases. The command is
orca slicer ; on Linux, run it from the AppImage or Flatpak.
Below, <orca is that command.
Slice headless
OrcaSlicer's command line (https://www.orcaslicer.com/wiki/cli/cli mode) needs
complete presets: it doesn't fill in a preset's parent settings, and it slices
only with a process whose compatible printers name the printer.
scripts/orca presets.py (Python 3, no dependencies) writes them from
OrcaSlicer's presets, searching the user's own first, then OrcaSlicer's
built in profiles.
1. Find the user's printer, process and filament presets. Prefer the presets
the user prints with; never invent one, since a wrong bed size or
temperature can damage the printer.
2. Write the complete presets:
3. Slice. Give outputdir an absolute path:
This writes plate 1.gcode , the plain G code, and model.gcode.3mf , the
sliced 3MF, into that folder. The command line reads .stl ,
.3mf , .obj and .amf ; export STEP to STL or 3MF with $cad first ( cadgen export <id part.3mf from a model, or cadgen export part.step part.3mf ).
Override one setting with <setting =<value , using the setting's key
with hyphens for underscores, such as layer height=0.16 .
Open in OrcaSlicer
When the user would rather pick presets and slice themselves, or no preset can
be found, open the model in the app: open a OrcaSlicer model.stl on macOS,
Start Process model.stl on Windows when OrcaSlicer opens that file type, or
orca slicer model.stl on Linux. The app also reads STEP.
Check before printing
<orca model.stl info prints the model's size; it has to fit the bed.
Check the slice's settings, which OrcaSlicer writes at the end of the G code:
Confirm they match the user's printer and material before anyone prints it.
Hand off
A Bambu Lab printer: $bambu labs , with the .gcode.3mf .
Any other printer: the user prints the .gcode from their printer's app, its
web interface (PrusaLink, OctoPrint, Mainsail, Fluidd) or an SD card.