<p>This should be possible in GRBL 1.1, see examples below.</p>
<p><em>Disclaimer: I have never used neither GRBL nor arcs (<code>G2</code>, <code>G3</code>) in practice.</em></p>
<h1>Support for arcs in G-code</h1>
<p>In general, in <code>IJK</code> variant where the arc is described by three points (starting, end, center) anything seems possible, including the rainbow-like moves. I imagine (I,J,K) coordinates as imaginary arrow's nock for bent bow. By moving it around, you will &quot;reshape&quot; the bow as needed. I actually found similar <a href="http://www.helmancnc.com/cnc-arc-programming-exercise/" rel="nofollow noreferrer">CNC Arc Programming Exercise</a>, including:</p>
<pre><code>G01 X40 Z-25
G03 X70 Z-75 I-3.335 K-29.25
</code></pre>
<p>and very interesting <a href="https://www.cnccookbook.com/cnc-g-code-arc-circle-g02-g03/" rel="nofollow noreferrer">Quick G-Code Arc Tutorial</a> on CNC Cookbook. It presents <code>R</code> variant example of helical moves (tread milling) with Z decreasing in steps (relative positioning):</p>
<pre><code>G03 X0.0939 Y0.0939 Z0.0179 R0.0939
G03 X-0.1179 Y0.1179 Z0.0179 R0.1179
G03 X-0.1185 Y-0.1185 Z0.0179 R0.1185
</code></pre>
<h1>Support for acrs in GRBL</h1>
<p>I found similar question in Duet3d forum: <a href="https://forum.duet3d.com/topic/12462/caution-stl-resolution/15" rel="nofollow noreferrer">Caution! - STL Resolution</a>. There is a sentence:</p>
<blockquote>
<p>On GRBL you get some planar support (pick any two axes, eg XZ, but not three). (...) Some controllers even implement a helix mode.. but no standards exist.</p>
</blockquote>
<p>So the support in GRBL may be limited. However this comment seems to be in condtradiction to the <a href="https://github.com/gnea/grbl/blob/master/README.md" rel="nofollow noreferrer">official GRBL README.md</a>, saying:</p>
<blockquote>
<p>List of Supported G-Codes in Grbl v1.1:
(...)</p>
<ul>
<li>Arc IJK Distance Modes: G91.1</li>
</ul>
</blockquote>
<p>I leave a practical proof to you now.</p>

CC BY-SA 4.0
2021-02-04T06:59:26.537Z
2021-02-04T06:59:26.537Z
octopus8
<p>I see that arcs are done on a two-axis plane.<br />
However, I am curious if it is possible to move from an &lt;x,y,z&gt; position to &lt;x',y',z'&gt;
<code>e.g &lt;152, 559, -139&gt; to &lt;905, 279,-145&gt;</code> with an arcing z-axis.</p>
<p>Context:  I'm trying to move between the two coordinate points while dodging an obstacle by arcing the Z-axis movement.  I am trying to do the motion on command to be able to operate faster. Using GRBL 1.1</p>
<p><a href="https://i.sstatic.net/fYDI7.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/fYDI7.png" alt="enter image description here" /></a></p>

CC BY-SA 4.0
2021-02-04T03:39:33.203Z
I love the idea of arcs. Common approach in 3d printing is to process triangulated mesh. This leads to slicing only segments. I see that arcs are supported by Marlin, but so far I saw no case of using them...
octopus8
<g-code>
G-code for 3-axis arc? GRBL
Kevin Crum
# G-code for 3-axis arc? GRBL

(Asked by: username_0 on 2021-02-04)

I see that arcs are done on a two-axis plane.  
However, I am curious if it is possible to move from an <x,y,z> position to <x',y',z'>
`e.g <152, 559, -139> to <905, 279,-145>` with an arcing z-axis.

Context: I'm trying to move between the two coordinate points while dodging an obstacle by arcing the Z-axis movement. I am trying to do the motion on command to be able to operate faster. Using GRBL 1.1

[![enter image description here](https://i.sstatic.net/fYDI7.png)](https://i.sstatic.net/fYDI7.png)

**Tags:** g-code

> **Comments:**
> **username_1**: I love the idea of arcs. Common approach in 3d printing is to process triangulated mesh. This leads to slicing only segments. I see that arcs are supported by Marlin, but so far I saw no case of using them...  

---

## 1 answers

### Answer by username_1 on 2021-02-04. Score: 2

This should be possible in GRBL 1.1, see examples below.

*Disclaimer: I have never used neither GRBL nor arcs (`G2`, `G3`) in practice.*

# Support for arcs in G-code

In general, in `IJK` variant where the arc is described by three points (starting, end, center) anything seems possible, including the rainbow-like moves. I imagine (I,J,K) coordinates as imaginary arrow's nock for bent bow. By moving it around, you will "reshape" the bow as needed. I actually found similar [CNC Arc Programming Exercise](http://www.helmancnc.com/cnc-arc-programming-exercise/), including:

```
G01 X40 Z-25
G03 X70 Z-75 I-3.335 K-29.25

```

and very interesting [Quick G-Code Arc Tutorial](https://www.cnccookbook.com/cnc-g-code-arc-circle-g02-g03/) on CNC Cookbook. It presents `R` variant example of helical moves (tread milling) with Z decreasing in steps (relative positioning):

```
G03 X0.0939 Y0.0939 Z0.0179 R0.0939
G03 X-0.1179 Y0.1179 Z0.0179 R0.1179
G03 X-0.1185 Y-0.1185 Z0.0179 R0.1185

```

# Support for acrs in GRBL

I found similar question in Duet3d forum: [Caution! - STL Resolution](https://forum.duet3d.com/topic/12462/caution-stl-resolution/15). There is a sentence:

> On GRBL you get some planar support (pick any two axes, eg XZ, but not three). (...) Some controllers even implement a helix mode.. but no standards exist.

So the support in GRBL may be limited. However this comment seems to be in condtradiction to the [official GRBL README.md](https://github.com/gnea/grbl/blob/master/README.md), saying:

> List of Supported G-Codes in Grbl v1.1:
> (...)
>
> * Arc IJK Distance Modes: G91.1

I leave a practical proof to you now.


---

