# Processes G2/G3 arc commands with arc interpolation

**URL:** <https://klipper.discourse.group/t/processes-g2-g3-arc-commands-with-arc-interpolation/26307>\
**Category:** General Discussion\
**Created:** [September 30, 2026, 1:08pm UTC](https://klipper.discourse.group/t/processes-g2-g3-arc-commands-with-arc-interpolation/26307 "2026-09-30T13:08:52Z")\
**Posts on this page:** 6\
**Page:** 2

<div class="post-metadata">

**Author:** ![koconnor](https://avatars.discourse-cdn.com/v4/letter/k/aca169/32.png) [@koconnor](https://klipper.discourse.group/u/koconnor)\
**Post date:** [October 10, 2026, 2:03pm UTC](https://klipper.discourse.group/t/processes-g2-g3-arc-commands-with-arc-interpolation/26307/21 "2026-10-10T14:03:18Z")

</div>

> [@huming](#):
>
> the lookahead code treats linear and circular segments equally

Ah, okay. It sounds like you’ve already updated the lookahead code to calculate the start and end angles.

Cheers,  
-Kevin

---

<div class="post-metadata">

**Author:** ![huming](https://avatars.discourse-cdn.com/v4/letter/h/d26b3c/32.png) [@huming](https://klipper.discourse.group/u/huming)\
**Post date:** [October 11, 2026, 5:11am UTC](https://klipper.discourse.group/t/processes-g2-g3-arc-commands-with-arc-interpolation/26307/22 "2026-10-11T05:11:25Z")

</div>

yes, I have updated lookahead code. This is one of my test gcode:

 ![Snipaste_2026-10-11_13-02-42](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/b/8/b81a45faa977f02c6ccbc8255dbad3efff3bce17.png)  
Y-axis velocity:  
 ![Snipaste_2026-10-11_13-01-07](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/1/f/1f1ea0729154043abe1668d1be562788c874bf38.png)  
local details of the y-axis velocity:  
 ![Snipaste_2026-10-11_13-00-09](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/5/d/5d35eb5c227f38cdefc089daa659677dc06c9c35.png)

---

<div class="post-metadata">

**Author:** ![davijen57](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/davijen57/32/22800_2.png) [@davijen57](https://klipper.discourse.group/u/davijen57)\
**Post date:** [October 12, 2026, 8:51pm UTC](https://klipper.discourse.group/t/processes-g2-g3-arc-commands-with-arc-interpolation/26307/23 "2026-10-12T20:51:55Z")

</div>

Out of curiosity — for those of us who mostly print arcs that come from the slicer, does any of this actually change print quality in practice, or is it more of a planner-correctness thing?

---

<div class="post-metadata">

**Author:** ![DaVinci10](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/davinci10/32/2828_2.png) [@DaVinci10](https://klipper.discourse.group/u/DaVinci10)\
**Post date:** [October 13, 2026, 1:30am UTC](https://klipper.discourse.group/t/processes-g2-g3-arc-commands-with-arc-interpolation/26307/24 "2026-10-13T01:30:09Z")

</div>

I kindof wanted to inquire as: is this discussion the equivalent to PCL vs PostScript back in the day??

IE in the 2d printing environment? PCL circles and ovals were printed with steps. But with PostScript, they were printed in perfect arc’s

However back then, I remember spending loads of time running around adding memory to all the hp laser printers to add PostScript capabilities to them.

So I was wondering if there side-effects of adding capabilitiy, does it increase and memory/step overhead, vs quality increases…

TBO, back then the quality increase was definitely worth the extra effort and costs. But I just dont know of the effects for 3d printing these days.

---

<div class="post-metadata">

**Author:** ![huming](https://avatars.discourse-cdn.com/v4/letter/h/d26b3c/32.png) [@huming](https://klipper.discourse.group/u/huming)\
**Post date:** [October 17, 2026, 8:41am UTC](https://klipper.discourse.group/t/processes-g2-g3-arc-commands-with-arc-interpolation/26307/25 "2026-10-17T08:41:09Z")

</div>

The difference may not be visible to the naked eye, but at least, it can reduce CPU usage while maintaining efficiency and quality. Here are my analysis data:

 ![Snipaste_2026-10-17_16-22-24](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/7/7/77f9e4b305e751d6bfda4c9e46200ccacf056c97.jpeg)  
 ![Snipaste_2026-10-17_16-24-54](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/6/5/656bf943b7808d50c6eef52cf45df34b655d7ccc.jpeg)  
 ![Snipaste_2026-10-17_16-36-18](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/5/3/5352ab0a59873dbd7549fba06002ecafd53eafbf.png)  
 ![Snipaste_2026-10-17_16-39-49](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/2/d/2d9362c0441b1e4e0fba5082de8b265ef900e7d3.png)

---

<div class="post-metadata">

**Author:** ![cardoc](https://avatars.discourse-cdn.com/v4/letter/c/ec9cab/32.png) [@cardoc](https://klipper.discourse.group/u/cardoc)\
**Post date:** [October 17, 2026, 10:46pm UTC](https://klipper.discourse.group/t/processes-g2-g3-arc-commands-with-arc-interpolation/26307/26 "2026-10-17T22:46:46Z")

</div>

Great information.

I will, however, point put that real world you are at the mercy of your slicer. It has to recognize circular arcs in a mesh input model. AFAIK SuperSlicer and descendants accept .step files but they convert them to a mesh before slicing.

I was curious enough to run a little test. I creates a test shape in Fusion and exported it as a .step and a .3mf then sliced both with Orca slicer. A 20mm cylinder centered on the X axis intersected buy several planes.

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/d/6/d64420d8ca85ae413cc19b46a439f1158fe41f8a.png)  
Orca did a much better job identifying circular arcs than I anticipated for both input formats. Both input files sliced at around 50% the line count compared to slicing with [arc fitting] turned off.

Then I downloaded benchy.step and sliced in w/wo [arc fitting]. The result was only about a 10% reduction in file size.

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/9/6/967805ab55ec64a47f9436bea38b9b1b55083061.png)

Have you tried printing shapes other than pure cylinders? I’d be very interested in surface appearance of elliptical curves as arc segments VS straight line interpolation.

The model below has no true circular arcs. Every curved surface is a cylinder tipped 30° from the XY plane. When I slice it Orca fits many curves with circular approximations. For example the layer at Z=25.0 the longest curved section is 42 line segments OR 4 arc segments. The question is which looks better?

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/3/e/3ebce3dd2afb6f6e06c2c85027615c14b10735dd.png)

If you want to experiment here is the model.  
[Arc Test 2.zip](https://klipper.discourse.group/uploads/short-url/9hJsNSmNffTLv4AQ8KTfgNmPRe1.zip) (25.4 KB)

[Previous page](https://klipper.discourse.group/t/processes-g2-g3-arc-commands-with-arc-interpolation/26307.md?page=1)
