{"id":"gcode-g05-2","model_id":"G5.2","name":"LinuxCNC G5.2","summary":"G5.2 opens a NURBS data block in LinuxCNC. The lines between G5.2 and G5.3 define control points with optional weights, and the current position before the first G5.2 is taken as the first control point. Optional P and L words set control-point weights and the curve order, with defaults of 1 and 3.","study_notes":["G5.2 opens the NURBS data block; G5.3 closes it.","The current coordinate before the first G5.2 is always taken as the first NURBS control point.","To set the weight for the first control point, program G5.2 P- without giving any X Y.","Inside the block, control-point lines use X and Y with optional P weights."],"safety_notes":["The document marks G5.2 and G5.3 as experimental and not fully tested."],"sources":[{"url":"https://linuxcnc.org/docs/html/gcode/g-code.html#gcode:g5.2-g5.3","title":"G-Codes","accessed":"2026-10-26"}],"verification":{"status":"source_checked","checked_at":"2026-10-26","values":11,"method":"llm_source_check"},"updated_at":"2026-10-26","type":"instruction","spec":{"language":"gcode","code":"G5.2","group":"NURBS block","syntax":"G5.2 <P-> <X- Y-> <L->","parameters":[{"name":"P","description":"Control point weight; default 1 if unspecified."},{"name":"X","description":"X coordinate for a NURBS control point."},{"name":"Y","description":"Y coordinate for a NURBS control point."},{"name":"L","description":"Parameter that determines the order of the curve; default 3 if unspecified."}],"dialect":"LinuxCNC","related":[],"standards":[]},"url":"https://machineschema.com/instruction/gcode-g05-2","license":"https://creativecommons.org/licenses/by/4.0/"}