A Cheap Way to Add a Rotary Axis to Your CNC Router
3D printers are awesome, but sometimes you want to remove material instead of add material. That makes a CNC router or mill the perfect counterpart to a 3D printer. But standard 3-axis CNC routers are less versatile than 3D printers, because the end mill has to reach the work piece to make a cut. If, for example, you need to cut something on the bottom side of the work piece, then you need to figure out how to flip it and align it. But following this Instructables tutorial from legolor will help you add a rotary axis to your CNC router to increase the capability without spending a lot of money.
A rotary axis lets a CNC router act a bit like a lathe: the work piece rotates perpendicular to the spindle and that lets you reach its entire outer surface. Depending on the particulars of your CNC router and its control board, you can add a rotary attachment as a fourth axis or have it replace either the X or Y axis (which you can do temporarily). With a rotary axis like this, you'll be able to cut all kinds of models that are vaguely cylindrical with features around the outer surface.
You can do this with very little money by following legolor's example. The basic upgrade is affordable because it only requires a stepper motor, a flexible coupler, and 3D-printed parts (a motor mount and a tail stock). If you want something more robust, you can purchase a generic rotary axis unit with a lathe-style chuck and a tail stock. In either case, you can simply connect the stepper motor to your control board's rotary axis port, or the X or Y port.
From there, you'll need to figure out how to create your toolpaths. There is, of course, CAM (computer-aided manufacturing) software available that supports rotary axes. But that can be expensive, which is why legolor developed a solution that should be familiar to experienced CNC programmers: translating a horizontal axis (X or Y) into the rotary axis.
To understand how that works, imagine a cylindrical part onto which you want to engrave text. If you know the diameter of the cylinder, then you can calculate the circumference. With that information, you can then model a simple flat rectangle with a length that matches the cylinder and a width (X axis) that matches the cylinder's circumference. Model your text onto that and create your toolpaths like you normally would. If you run it like normal, but with the X axis output to the rotary axis, the CNC router will wrap your model around the cylinder.
But that process becomes difficult when the model is complex, so legolor created a workflow with a script for Blender that automatically takes a 3D model, unwraps it, and flattens it out like described above so that it will work with standard 3-axis CAM software.