# Spline-GCodes (G5)

**URL:** <https://klipper.discourse.group/t/spline-gcodes-g5/25301>\
**Category:** Features\
**Created:** [December 3, 2025, 9:31am UTC](https://klipper.discourse.group/t/spline-gcodes-g5/25301 "2025-12-03T09:31:54Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![3dcoded](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/3dcoded/32/20297_2.png) [@3dcoded](https://klipper.discourse.group/u/3dcoded)\
**Post date:** [December 3, 2025, 1:27pm UTC](https://klipper.discourse.group/t/spline-gcodes-g5/25301/2 "2025-12-03T13:27:39Z")

</div>

Hi @Titaninchen ,

This should be possible, but similar to G-code arcs, this would introduce another layer of approximations to the motion planning since even if the CAD file used NURBS, as soon as you export it to a slicer, it transforms it to an STL made of triangles, an approximation (this also applies even if you export as STEP and import into slicer). Then, the slicer would have to detect the spline, approximate it again as a G5 command. Finally, Klipper would turn the G5 command into a series of G1’s.

In short, the series of approximations are:

1. CAD in NURBS
2. Slicer: CAD to STL triangles
3. Slicer: Triangles → G5 spline
4. Klipper: G5 spline → G1 lines

This could be simplified by just having one approximation (CAD to slicer):

1. CAD in NURBS
2. Slicer: CAD to STL triangles (G1 commands)

> [@The Myth of G2 / G3 Arc Commands](https://klipper.discourse.group/t/the-myth-of-g2-g3-arc-commands/24335#p-79721-h-3d-printing-a-chain-of-approximations-4):
>
> The Myth of G2 / G3 Arc Commands Introduction A commonly held belief in the 3D printing community is that using G2/G3 arc commands leads to smoother curves and more precise prints. This article explores why that belief doesn’t hold in modern 3D printer firmware - especially in Klipper. Historical Context Circular approximation in CNC originated post-1950s with the RS-274 standard. Early computing made it profoundly impractical to represent curves as discrete segments (via multiple G1 commands)…

---

_[View the full topic](https://klipper.discourse.group/t/spline-gcodes-g5/25301)._
