Skip to content

Machine Profiles

Configure machine-specific settings for validation and optimization.

Overview

Machine profiles define physical limits and capabilities of your CNC machine. They enable:

  • Boundary validation (axis limits)
  • Feed rate validation
  • Spindle speed validation
  • Machine-specific optimizations

Using Profiles

List available profiles:

bash
gscriptc machines

Use a profile:

bash
gscriptc compile program.gscript --profile cnc-3018 --target grbl
gscriptc validate program.gscript --profile cnc-3018

Built-in Profiles

cnc-3018

GRBL 3018 CNC Router

  • X: 0-300mm
  • Y: 0-180mm
  • Z: 0-45mm
  • Max feed: 3000 mm/min

cnc-3040

GRBL 3040 CNC Router

  • X: 0-400mm
  • Y: 0-300mm
  • Z: 0-65mm
  • Max feed: 4000 mm/min

Custom Profiles

Full custom profile support coming soon

Create JSON profile files in profiles/ directory:

json
{
  "name": "my-machine",
  "axes": {
    "x": {"min": 0, "max": 500},
    "y": {"min": 0, "max": 400},
    "z": {"min": 0, "max": 100}
  },
  "max_feedrate": 5000,
  "max_spindle_rpm": 24000
}

Next Steps

For more information, see GSC-36 and GSC-61.

Released under the Apache License 2.0