Finishing Parts: Engine Turning

Adding a finish to your parts isn’t always vital, but it is certainly one of the more entertaining parts of machining. For those who are looking for a finish that is arguably one of the most classic, engine turning will add a unique sheen to your parts.


One of the most recognizable displays of engine turning was seen on Charles Lindbergh’s famous aircraft, the Spirit of St. Louis. Engine turning can be done in a number of ways, but we utilized a Tormach Tension/Compression Tapping Head and some Cratex Rods that we picked up from an industrial supplier. Since the rods are an abrasive material and we did this process in aluminum, we used an extra fine grit – heavier grits would be recommended for harder metals like steel. Craytex-Machine-Turning-Rods-IMG_6585

We wrote a G-code program by hand to create the engine turning pattern on a block of aluminum. This specific G-code program uses subroutines, which some users may not have seen before. For more information on subroutine programming, please see Chapter 7 of the Tormach Operator's Manual or CNC Cookbook’s post on subroutines. *This G-code is for sample purposes only – Tormach Tech Support cannot help you debug code.

  • #<_x_start> = 0
  • #<_y_start> = 0
  • #<_x_stepover> = .25
  • #<_y_stepover> = .25
  • #<_x_distance> = 3.25  (part width in x)
  • #<_y_distance> = 2.5   (part depth in y)
  • #<_x_repeat_count> = [FUP[#<_x_distance> / #<_x_stepover>]] (FUP will round up to nearest integer value)
  • #<_y_repeat_count> = [FUP[#<_y_distance> / #<_y_stepover>]]
  • #<_x_retract> = [#<_x_repeat_count> * #<_x_stepover>]
  • #<_z_depth> = -.1      (how far to compress the tapping head)
  • #<_z_retract> = .2
  • #<_dwell> = 1         (how long to dwell in seconds)
  • #<_z_feed> = 20
  • #<_spindle_rpm> = 2500
  • O100 (engine turning sub - handles Z motion and dwell at one X/Y location)
  • G1 Z#<_z_depth> F#<_z_feed>
  • G4 P#<_dwell>
  • G0 Z#<_z_retract>
  • M99
  • O101 (move over one stepover in X)
  • G91  (change to incremental coordinates)
  • G0 X#<_x_stepover>
  • G90  (back to absolute coordinates)
  • M99
  • O102 (engine turn one point, then move over one stepover)
  • M98 P100
  • M98 P101
  • M99
  • O103 (complete one entire row in X)
  • M98 P102 L#<_x_repeat_count>
  • G91 (change to incremental coordinates)
  • G0 X-#<_x_retract>
  • G90 (back to absolute coordinates)
  • M99
  • O104 (do one X row, then increment Y)
  • M98 P103
  • G91 Y#<_y_stepover>
  • G90
  • M99
  • O105 (main program)
  • G54 G20 G90 (safety block)
  • M3 S#<_spindle_rpm>   (spindle on)
  • G0 X#<_x_start> Y#<_y_start> Z.2
  • M98 P104 L#<_y_repeat_count>
  • G30 (move to G30 position)
  • M30

How have you finished your parts? Comment below or email us pictures at [youtube]cw6arUfkXUc[/youtube]

Craytex-Machine-Turning-Rods-IMG_6646 Craytex-Machine-Turning-Rods-IMG_6601 Craytex-Machine-Turning-Rods-IMG_6613


Finishing with some more abrasive materials in steel.