Rotary Axis & Gcode Generation

Over the past couple months I have been working on building a rotary axis for my machine and I have some pretty promising results that I would like to share.

The hardware I show is 100% functional but definitely temporary. To me this was the proof of concept before I invested in a metal rotary axis, modified my CNC to have a drop table, and changed the firmware to support a real “A” axis. I have been working on all of this and hope to show it soonish.

The software, which is the much cooler part, is a method I think I invented to make rotary axis compatible gcode for pretty complicated shapes relatively easily and without any paid software. Check it out!

Written documentation on instructables

Short video with all of the major steps

I hope this helps!


WOWWWWW!!! Those are fantastic.


Really neat project @Legolor, thanks for sharing! Loved your instructables write up on the “Impoverished-Man’s Rotary Axis” :slight_smile:


This is really cool. I designed my table in a way that allows me to have a cutout for vertical cuts as well as putting a rotary axis in there. My plans haven’t gotten further than the planing stage, but your doing it proves that it is possible.
Regarding the method to unroll the parts, I thought about how to do that just yesterday and now comes your post and takes the thinking part away from me. Neat. :slight_smile: Thanks so much.


Great technique for “unrolling” the surface to get a cam-mable file.

Another technique for sizing artwork to a cylinder is used by the Eggbot plug-ins for Inkscape (2 dimensional art in this case). They recommend defining your “drawing size” in pixels to the number of steps of your X and Y axes, then making sure your art fits on that page. This eliminates the need for pi in the math to match drawing to circumference.


Good luck with yours! Definitely stick with it, I was surprised how easy it was to make. It made me think I should have built it a long time ago :slight_smile:

That’s crazy that you were just thinking about the same idea! I’m glad it could help affirm your plan and I hope the instructions will help.

I’m impressed! Nice work.

I am wondering, for yours or anyone who has swapped Y for rotary axis, how do you hold Y so it doesn’t move? If it has no electrical current then I am assuming some mechanical brake?

1 Like

That’s pretty clever! I hadn’t heard of eggbot, but I love anything inkscape :slight_smile:

Before trying to do complicated 3D models I did use scorchworks gcode ripper also in conjunction with fusion360 and got good results. For less complicated or 2D designs like engraving where you are working from an svg I would probably still use or recommend scorchworks (or eggbot).

It brings up the idea that instead of the M92 command you might could just use scorchworks to distort the gcode even for complicated 3D busts and things, although, this is probably not any easier. You bring up a good point and I wanted to talk about all of this in the instructable, but I didn’t want to complicate things too much.

I didn’t put anything and it worked fine.

You’re definitely right that the steppers weren’t engaged and that they could move but the weight or friction kept the Y still enough. If I was making more aggressive cuts maybe this would have been a problem.

For a couple of my cuts I did print four extra endstop block pieces to fit around the conduit and hold each side of the Y in place.
For a more permanent solution I’m making a real 4th axis that can keep the Y engaged.

Those look pretty cool.

Thought I would comment here since I used this unwrap method 20 years ago for building a pyramid out of 3/4" copper pipe. I wanted to be able to make it any size, so just created the 4 corners & top apex in 6" lengths with unions on them. I wasn’t sure how to do this until a structural engineer where I worked gave me the idea to unwrap the pipe to a flat surface. I was using AutoCAD at the time & it was easy enough to draw the pipe at the correct angles & cut them where they intersected. I then wrote a simple lisp program to project the vertex points of the cut cylinder as I selected them. Of course, the cylinder is represented as a given number of sides, think this was 28 sides. I printed the following cutout on card stock & wrapped it around the pipe as the template, scaling it up or down to fit. pyramid6_canopener Layout1 (
I then marked the pipes with a sharpie & cut them with a hacksaw with a custom miter box. The bottom corners were a little more work as I had to notch them out some. I added a big copper washer on the inside of the bottom corners to give them more support. I was not good at sweating pipes, so my neighbor at the time did that. The pyramid is still up today. I did have to get someone to resolder the top part a few years ago, but it has held up quite well over the years. The nice thing about this is you can scale these templates for any size pipe. I had one person email me recently that wanted to use this with 2.5" PVC pipe. I did some simple calcs & gave him the scale factor to start with. I have now moved on to creating 3D printed corners using PVC pipe for an Egyptian style & taller style based on the phi.

1 Like

That is awesome!!! Excellent work.

1 Like

That’s some really high praise considering the source, imo, and well deserved. This is a really cool project.

Looks like they just featured your work on HaD!


I just retweeted that.