// user guide · 4-axis rotary + 3-axis

RotatoCAMUser Guide

RotatoCAM is a CAM program: it takes your model (or a few typed dimensions) and writes a G-code file for your controller. It does not talk to the machine or stream to it. You generate the file here, then load and run it in your controller (Mach3, LinuxCNC, grblHAL/gSender, Mach4, Centroid, MASSO).

The key idea: almost every job follows the same steps, and the strategies differ only in a few options. Read the Universal Workflow once, then each strategy card only tells you what is different about that one.

⚠

Always verify before you cut. Back-plot and simulate every job, and air-cut first when unsure. A clean preview is not a guarantee a program is safe. RotatoCAM writes G-code AS-IS, no warranty.

// video walkthrough
RotatoCAM User Guide walkthrough

The whole workflow on one part, start to finish. About three minutes.

Windows and Linux

CE and Pro are available as a Windows portable ZIP and a Linux x86_64 AppImage. For CE, choose your platform before requesting the emailed download link. Pro and standalone RotatoVIEW downloads are in your store account. Each paid product uses the same product key across Windows and Linux, within the existing activation limit.

Windows: unzip and run the executable. Linux: use Ubuntu 24.04+ or Debian 13 (glibc 2.39+), mark the AppImage executable and run it. If FUSE is unavailable, use --appimage-extract-and-run. LinuxCNC machine control is separate from RotatoCAM.

// contents
  1. 01The Universal Workflow
  2. 02Coordinates & work zero
  3. 03Which strategy do I pick?
  4. 04Strategy reference
  5. 05Tools, feeds & RPM cap
  6. 06Controllers & posting
  7. 07Preview & verify
  8. 08Troubleshooting & FAQ
  9. 09Glossary
// 01

The Universal Workflow

Every job, rotary or flat, is basically these steps:

  1. Load your model — an STL or STEP file (also PLY, OBJ, OFF, GLB, 3MF; 2D takes DXF or SVG). Conversational strategies need no model; you type dimensions.
  2. Set up your stock and fixture — for rotary work the bar diameter (the starting radius is half this value), the length, and how far the part sits from the chuck. The preview shows a translucent bar and a wireframe 3-jaw chuck so you can see the part inside the stock and clear of the jaws. Flip or rotate the model if its long axis is not pointing down the bar.
  3. Add one or more operations to the Operations queue and pick a strategy for each. A typical rotary part is two operations: a rough, then a finish, on the same tool. The queue runs them in order as one continuous program. One tool per program: a posted program never contains a tool change — for a second tool, post a separate program and run them in order.
  4. Pick the tool. Diameter and shape drive the toolpath, so they must match what you physically load.
  5. Set feeds and, for rotary, the chuck-RPM cap.
  6. Set the Work Zero — chuck center or top of stock, matched to how you touch off on the machine.
  7. Generate the toolpath.
  8. Preview it — backplot and Spin/sim playback. Your free dry run.
  9. Post and export — choose your controller, confirm the rotary axis letter and units, save the G-code file.
  10. Verify and prove out the final file using your machine's procedure, with work zero and tooling matched to the setup. Resolve discrepancies before cutting.

That is the whole thing. Everything below is variations on steps 3 through 6.

// 02

Coordinate system and work zero

The default X-mounted rotary frame: a Y-mounted rotary uses the configured mounting transform; confirm the posted axis directions before use.

Work zero — pick one, and match your touch-off

Chuck center (axis centerline). Z0 is the center of rotation. The native, most robust frame: referenced to the rotary centerline. Re-establish offsets after re-chucking or changing the setup. Set the Work Zero offset to 0. On the machine, touch the top of the stock and set Z to +(stock radius).

Top of stock (surface). Z0 is the outer surface at the top. Easiest to set physically (touch the top, hit zero) and it behaves like normal flat milling (cutting in goes negative). Set the Work Zero offset to your stock radius. Accurate only if your real stock diameter matches what you entered.

Two more datums to know:

// 03

Which strategy do I pick?

// 04

Strategy reference

Free ships in the free Community Edition. Pro requires RotatoCAM Pro. Every strategy uses the Universal Workflow; each card lists only what is specific to it.

Rotary roughing

rough_radial Free

Clears stock in radial levels from the outside diameter down to the deepest valley. The everyday rougher.

Options radial depth of cut; rest-roughing.

rough_helical Pro

A single continuous back-and-forth helix that ramps in with very few retracts. Gentler on a flexy mini-mill.

Options stepdown / pitch; ramp.

Rotary finishing (4-axis)

finish_spiral Free

The headline strategy: one continuous simultaneous X + A + Z spiral. Best surface, most continuous motion.

Options stepover / scallop; Max radial depth (bridges deep ports at constant radius).

finish_raster Pro

Bidirectional rings where rotation stays within 0–360° (no windup). When you don't want the A axis to accumulate turns.

Options stepover; ring direction.

finish_axial Pro

Lengthwise zig-zag along the bar for a different surface lay (grain along the part instead of around it).

Options stepover; direction.

pencil Pro

Cleanup pass following valleys and groove floors, linked along the length. Run after a finish to clean corners.

Options valley threshold.

Indexed (3+1)

indexed_surface Pro

Clocks the part to N positions 360/N apart, then runs a normal 3-axis raster on the up-facing wedge at each. Finishes only by default: it cuts the final surface and assumes the part is already roughed, so queue a roughing operation ahead of it and the finisher plans against the stock that one really left. Set a depth per pass to clear each face in layers instead.

Options number of faces (N); depth per pass (0 = finish only, the default); per-face 3-axis settings.

mill_flats Pro

Cuts hex, square, or any N-sided flats on round stock by indexing and facing each side.

Options number of sides; across-flats; depth.

3-axis (flat work)

threeaxis_finish / rough Pro

Standard 3-axis milling of a model on flat stock (no rotary).

Options stepover; stepdown; finish / spring passes.

adaptive_clear Pro

Pocket and bulk clearing using inward-offset paths. Check engagement at corners and transitions for your tool and stock. For pockets and bulk removal.

Options stepover; stepdown.

troch_slot Pro

Trochoidal slotting uses small looping moves to manage engagement. The slot must accommodate the cutter and its loop; verify width, entry and remaining stock.

Options slot width; loop step.

2D and engraving

engrave2d Free

Follows 2D line art (DXF/SVG) at a set depth. For lettering, logos, outlines.

Options depth; number of passes.

vcarve Pro

V-bit carving that varies depth for sharp corners and variable line width from 2D art.

Options V-bit angle; flat depth.

wraparound Free

Wraps 2D art around the cylinder and engraves it on the rotary axis. The classic "text around a tube" job; sets bar diameter directly.

Options bar diameter; engrave depth; position along bar.

wrap_vcarve Pro

Wraparound, but V-carved for variable-width lettering.

Options V-bit angle; depth.

profile_cut Pro

Laser and plasma profile cutting of 2D shapes (outline cutting, not milling).

Options laser/plasma mode; passes; power / feed.

Conversational (no model needed)

ProtoTRAK-style: you type dimensions, no CAD file required.

turn_round Pro

Turn stock down to a target diameter over a length.

turn_profile Pro

Turn a non-round or oval profile (radius as a function of angle).

face Pro

Face the end of the stock flat.

pocket Pro

Rectangular or round pocket at a set depth.

drill_pattern Pro

Bolt-circle, grid, or line of holes, optionally rotary-indexed, with peck drilling + helical boring for oversize holes.

flute Pro

Straight or twisted grooves along the part (flutes, rifling-style).

thread_mill Pro

External single-point thread milling with a standards picker.

index_slots Pro

Evenly spaced slots around the part for gears, splines, and knurls.

// 05

Tools, feeds, and the chuck-speed cap

The chuck-RPM cap (Feed limits)

On a rotary move, a thin section of the part has to spin fast to keep surface speed up. This cap stops RotatoCAM from commanding a chuck speed your rotary cannot turn (which would stall or lose steps). If a move would exceed the configured cap, RotatoCAM slows the coordinated move. This does not guarantee surface finish or account for every machine dynamic limit. Verify the cap for your rotary, workholding and load.

// 06

Controllers and posting

Choose the post for your actual controller and configuration. Check the compatibility table for operation scope and experimental status. Stock GRBL is 3-axis only; Genmitsu simultaneous rotary, AtomStack, HC-204A, Makera Carvera, MASSO and RosettaCNC remain experimental. Custom posts belong in ~/.rotatocam/posts/ and require their own qualification.

Before exporting, confirm the rotary axis letter matches your controller config (default A) and the units (mm or inch) match your machine.

Mach3 / Mach4 note

The Mach post emits no comments on purpose. Some Mach3 installs refuse to load a file that has comment lines, so RotatoCAM strips them. That is expected. Side effect: open a Mach-posted rotary file in RotatoVIEW and it will ask you to type the bar diameter, because the line that normally carries it was one of the stripped comments.

// 07

Preview and verify before you cut

What these checks establish

Backplot shows interpreted motion; feed checks inspect the programmed feeds; material-removal simulation estimates the cut in the modeled stock. These are separate checks, not a machine-safety certification.

Do not infer holder, chuck-jaw, fixture or full-machine collision clearance from a clean cut surface. Confirm the actual assembly, work offsets, controller behavior and travel limits separately. A drawn chuck is not proof that every collision is checked.

Deviation depends on the model and simulation resolution. This guide publishes no universal numerical error bound for the simulation. A small apparent clearance or green surface is not a tolerance guarantee. Timing is estimated and may differ with acceleration and controller limits.

After editing NC, changing tools, stock, fixtures, offsets or post settings, repeat the affected checks on the final file. Complete the machine-specific setup review and controlled prove-out before cutting.

If anything looks wrong, preserve the job and NC file, resolve the cause, and regenerate before making chips.

// 08

Troubleshooting and FAQ

My depths are off by a lot (about one radius).

Your Work Zero setting and your machine touch-off do not match. Chuck center → touch off to the centerline (top of stock, then Z = +radius). Top of stock → touch off on the surface. Pick one and be consistent.

My rotations come out wrong (part over- or under-rotates).

Your controller's steps-per-degree for the rotary axis is not set for your gear reduction. A rotary geared down (say 4:1) needs the controller told about that ratio. This is a machine config setting, not RotatoCAM.

Mach3 will not load my file / errors on a comment line.

Use the Mach3 post; it emits no comments. If you posted with a different controller and run Mach3, re-post as Mach3.

RotatoVIEW is asking me for the bar diameter.

Normal for Mach-posted rotary files (the comment carrying it is stripped). Type your stock diameter.

A rotary move ran at the wrong (dangerous) feed.

Check the selected post and controller feed convention. A G93 F word specifies inverse time; G94 has controller-specific per-minute semantics. Reusing the same number in a different mode can produce an incorrect move duration. Do not change feed modes by hand without recomputing and re-verifying the output. Some posts do not use G93.

My finish dove into a bore or port.

Stop and inspect whether the geometry is suitable for a one-radius-per-ray rotary pass. Max radial depth can limit entry into an opening, but bridging leaves material and does not make a hidden bore or undercut machinable. Recheck the result and use a suitable operation for inaccessible regions.

Which strategies are free?

finish_spiral, rough_radial, engrave2d, and wraparound are in the free Community Edition. Everything else is Pro.

// 09

Glossary

← Back to RotatoCAM