Machine Setup
The Machine Setup tab defines the physical capabilities of your CNC machine, its firmware behavior, and how G-code should be generated. A properly configured machine profile ensures your output matches your hardware's constraints and expectations.
You can access it from the top-right menu:
Workspace Dimensions
These values define your machine’s cutting envelope. Use your actual usable dimensions here, not the marketing ones.
- X (width) — Maximum horizontal travel (left to right)
- Y (depth) — Maximum front-to-back travel
- Z (height) — Maximum vertical travel (top to bottom)
The units of these values are based on the units set in your global preferences (defaults to mm).
Firmware Settings
- Max Spindle — The highest RPM your spindle supports. This limits the
feed
speeds set in your CAM operations to generate proper and safeS
values in G-code.
Output Options
Customize how your G-code is formatted for your controller or post-processor:
- Strip Comments — Removes all G-code comments for cleaner, smaller files
- Token Spacer — Inserts a space between G-code tokens (e.g.,
G1 X1 Y1
vsG1X1Y1
) - Enable Laser — Enables Laser operations (typically uses
M3/M5
; adjusts movement strategy) - File Extension — Optional override for exported file type (e.g.,
.nc
,.ngc
,.cnc
,.cam
,.gcode
,.txt
)
G-code Macros
Macros insert custom G-code at key stages of toolpath generation. Each tab corresponds to a different context. In these boxes, you have access to G-code macros. Not all macros are available in all contexts, so be careful!
- Header — Runs once at the beginning of the job (e.g., mode override, move to safe Z)
- Footer — Runs at the end of the job (e.g., spindle stop, move to safe Z)
- Tool — Called when changing tools. Automatic tool changes and tool measurement can be put here.
- Dwell — Code for pausing movement/spindle at specified positions
- Spindle — Code to set spindle RPM
RML Dialect
Kiri:Moto supports the RML dialect of G-code.
When a machine's file extension is set to .rml
, Kiri:Moto will use the RML dialect, using PU
for non-cut moves and Z
for cut moves. RML commands can be used in the Header
, Footer
, Tool
, Dwell
, and Spindle
sections of the Machine Setup tab in the same way that G-code commands are used.
Contribute a Machine Profile
We love to add new machines to the Kiri:Moto library. If you have a tested machine that you'd like to add, you can export your workspace as a .kmz
file and share it on the Discord or forums.
If you want to submit a PR, you can find instructions for how to do so here.