Anybody tried designing a rotary add on?

+1 on this one :slight_smile: I was just looking to add a rotary yesterday for the mpcnc laser.

I’ve tried a couple of vector line drawings so far. Converted to gcode using dxf2gcode and then wrapped the toolpath using Scorchworks gcode ripper. There are some issues to overcome on the CAM side. Marlin set-up is easy since it’s just another axis steps/mm configuration but most CAM software will only allow Axis selection of ‘A’ or ‘B’ for rotary and there is no ‘E’ option which is what Marlin uses for the extruder.

This can be dealt with by either:

  1. Editing the wrapped gcode and replacing all A/B axis moves with E axis moves.
  2. Minor Marlin firmware edits to treat A/B axis moves as E axis moves.
  3. If you have source code (Scorchworks gcode ripper source is available) then modify that to produce the E axis gcode.

Another issue is with Scorchworks gcode ripper. I’m sure there are other non-freeware solutions but I’m trying to use open source tools wherever possible. Anyway, Scorchworks is crashing when trying to wrap laser raster engraving gcode. It probably has something to do with the tiny, incremental moves involved with this type of engraving but haven’t had time to debug and patch. Haven’t tried cutting any wood on the rotary yet. I can’t think of anything that I’d want to make just yet but leaning toward a totem pole.

Other tools that can wrap gcode about a rotary axis are CNC wrapper and Vectric Aspire but these aren’t free.

I guess I needed a kick in the ass to get me working on this again.
UPDATE: I thought my gcode files were the problem with Scorchworks gcode ripper but I actually found some bugs in the way complex numbers are being passed to the TCL/TCK libraries. I’ve patched most of the bugs … I think… and also added wrapping options for wrapping Y or X axis to E(extruder) axis to make this MPCNC-friendly as shown in the attached screen shots. Hope to test this open source solution soon:) This will allow rotary laser engraving using either image2gcode or dxf2gcode if all goes well but the gcode ripper software will accept any gcode file as input and create wrapped output so it should work with gcode produced by almost any CAM package.

Really looking forward to seeing this work. It could be very useful for customizing pool cues, assuming you could open things up to allow a long cylinder with most behind the chuck.

First trial run today, actually 2nd. I entered the wrong belt pitch into the reprap calculator for the first run so the image was stretched out. Now that the settings are right, everything seems to be working. Image from vicious web site converted to dxf, then converted to gcode using dxf2gcode, and finally the Y axis toolpath wrapped around the E (Extruder) axis and fed to MPCNC running Marlin. I like the 3 jaw chuck but I’m thinking of whipping up a scaled up ER-collet type system since I’ll mostly be working with round stock from hope depot. Getting there though…

DAM! So with the scorchworks program you are working on, you can give it a diameter of your work piece (after you input your gear ratio I would assume) and go from there? If so that is awesome.

Maybe a 3 jaw chuck on the business end and a steady rest on the other end, should be more versatile?

(about to start working on organizing the info a little better … chugging the caffeine now.)

Drinking your caffeine this late? Date must have gone well:) Yes, the steps per mm setting in Marlin is based on the gear that’s driving the chuck which is an XL 25T pulley which has a 5.08mm pitch and results in a 25.2 steps/mm config in Marlin. That’s a one-time setting. The gcode ripper software will take a gcode file as input, which can be a laser file or a cutting file, and wraps the gcode about an axis based on the entered stock diameter. I take no credit for gcode ripper, it belongs to Scorch at Scorchworks web site. I noticed the software was crashing with most of the test files I was using so I debugged and added options to wrap about ‘E’ axis for the MPCNC crowd.

The 3-jaw chuck on the tailstock is definitely overkill for laser engraving but I’m going to try the router on this thing next and I want extra holding power for that test. I’m not a big fan of the chucks after initial testing because they require too much Z axis clearance height to allow the jaws to open. I think I’m going to re-design using a scaled up collet system, like an ER-11 type deal with different sized collets for different sized stocks. My main accomplishment for now is proof of concept for Marlin and Gcode ripper. If you can think of a good design for the rotary then please be my guest. I’m definitely an amateur where that’s concerned. I’m going to make a few changes to mine and do some router testing before I prepare a write-up and BOM and turn this thing loose.

High five!

Okay I understand now. Mounts will be hard, The option to mill rectangular on the rotary is going to be a cool feature but will require a 3 jaw or similar. For now that is up to the end user, You are killing it on the heavy lifting (software). Mounts will be easy when the software cooperates.

thread favorited and subscribed :smiley:

Update: The 3-jaw chucks don’t seem to hold the material well enough for router work and quite a bit of run-out which is no good for V-carving. It might be because I printed the 3-jaw chucks in PLA which is the least recommended material according to the designer. I’m printing a collet set-up now and will see how that goes. Also wondering if Nema 17 has the balls for router jobs. If I don’t get this resolved by the weekend then I’ll just post software and instructions and recommend for laser use only with my current set-up.

Can’t wait for this :slight_smile: More options for those DIY-gifts for friends/families like laser engraved wine/beer bottles

If you’re using a diode laser then it won’t be capable of etching glass, you’ll need CO2 laser for that. Another option that works very well for etching metal and glass is a diamond drag engraver. I’ve has one for a couple of years and don’t remember where I got it but there’s a pretty good deal on ebay. Only thing with these is they’re strictly for engraving lines and can’t do variable depth like you can with V-carving or milling but they’re very forgiving of Z-height changes in the material too.

thanks @Leo69. I’ve been contemplating getting those 40w CO2 ebay lasers from US sellers for a while. It seems like they were a bit improved compared to those coming directly from China. Would those work for etching glasses?

Yea, a 40w laser will etch glass.

thanks Barry. 40w CO2 laser then :slight_smile:

Sorry that I’m dragging my ass on this a bit, been busy. If anyone would like me to post the software then let me know and I’ll just go ahead and do that while I’m finishing up testing and write-up for this project. There are plenty of fairly affordable rotary axis’ on E-bay so the software is the only thing needed if you buy off the shelf rotary. I did get a chance to do some testing with wood, better than expected since it’s a V-carve tool path which is sensitive to height changes. I didn’t “turn down” the stock before carving which indicates that the run out on the bearings and chuck/collet isn’t too bad. Definitely good enough for laser or drag knife work for sure.

Looking really good! Would there be a way to work on a tapered cylinder? Thinking of the butt of a pool cue. What about arbitrary shapes, such as on a turned table leg?


Why do you need to wrap the gcode?
I would have thought you could just take the Y-stepper driver, and connect it to the rotary motor instead.
(with different steps, and maybe using the E axis instead, but in principle)


It’s early in the morning to think about it but your suggestion should work if you’re only doing laser work. A laser stays at a fixed Z axis height through the whole job so taking the circumference of the material and setting steps/mm should work ok. Anything involving the Z axis would be more complicated because the routing is generally done in multiple passes and the Circumference of the material changes with each pass. A constant steps/mm wouldn’t work in cases like that.

It’s early and I’m just a high school drop-out, maybe an engineer (Vicious, hint, hiny…) can chime in on this.

wrong post