{"id":"gcode-g05-1","model_id":"G5.1","name":"LinuxCNC G5.1","summary":"G5.1 creates a quadratic B-spline in the XY plane using only the X and Y axes. I and J are incremental offsets from the start point to the control point on the X and Y axes respectively. An unspecified I or J offset is zero, so at least one of I or J must be given.","study_notes":["The active plane must be G17 (XY); G5.1 is an error if another plane is active.","Only X and Y axis words are permitted; specifying any other axis is an error.","Both I and J unspecified or zero is an error.","G5.1 differs from G5: G5 creates a cubic B-spline and requires both P and Q, while G5.1 is quadratic and uses I and J offsets to one control point.","Document example: G90 G17; G0 X-2 Y4; G5.1 X2 I2 J-8 programs a parabola through the origin from X-2 Y4 to X2 Y4."],"safety_notes":[],"sources":[{"url":"https://linuxcnc.org/docs/html/gcode/g-code.html#gcode:g5.1","title":"G-Codes","accessed":"2026-10-26"}],"verification":{"status":"source_checked","checked_at":"2026-10-26","values":9,"method":"llm_source_check"},"updated_at":"2026-10-26","type":"instruction","spec":{"language":"gcode","code":"G5.1","syntax":"G5.1 X- Y- I- J-","parameters":[{"name":"I","data_type":"real","description":"X incremental offset from start point to control point"},{"name":"J","data_type":"real","description":"Y incremental offset from start point to control point"}],"dialect":"LinuxCNC","related":[],"standards":[]},"url":"https://machineschema.com/instruction/gcode-g05-1","license":"https://creativecommons.org/licenses/by/4.0/"}