Reese Chang

CNC Programmer & Machinist — Fusion 360 CAM, 3-axis and 4th axis

Reese CNC Machine Shop LLC · Decatur, GA

Job shop machinist and Fusion 360 CAM programmer. 1.75 years running a Haas VF-3SS in a production job shop — 3-axis CAM experience, plus 4th-axis indexing (3+1) and simultaneous 4th-axis machining.

Everything below is real production work I programmed and ran — 6061 aluminum, 316/304/303 stainless, cast iron, tool steels and plastics. Not sample parts, not simulations.

Six years of Fusion 360 CAD came before the shop. Starting my own shop and writing my own CAM engine came after — the machining footage on this page is from my time at Arbiser Machine, not my own shop. The machining is the part worth your time, so it leads.

Click any thumbnail to play · videos have sound · click any photo to enlarge

Printed copy: each clip below is shown as a still frame. The moving footage (19 clips, with sound) is in the digital version of this portfolio.

1.75yrs
Production machining
Haas VF-3SS
3+1
Indexed & simultaneous
4th axis
7
Material families
alu · stainless · iron · plastics
37
Clips & photos
of real production work

Selected Work — start here if you only watch three

The three clips that best show how I program: multi-axis roughing strategy, in-program probing with post-processor sequencing, and aggressive but controlled material removal.

Large 4th-axis part — full roughing cycle My second 4th-axis job. A 2" PCD-insert face mill roughs and finishes the part on the same inserts. One face sits a few degrees off square — that tilt is why the job needed the rotary — and the external fillets are 3D-surfaced and blended into the surrounding toolpaths. Source-time ticker and speed overlay are burned in, so the real cycle time behind the sped-up sections stays visible.
4th AxisTicker + speed overlay
Post-processor sequencing + in-program probing The stock tool change runs seven moves in series. Mine overlaps them into three: retract, spindle stop and the first carousel move all start together; then the change; then spindle-on and the X, Y and Z repositions together. Probing runs both at setup and inside the program — the in-program calls catch stock deviation the setup pass can't.
ProbingPost-processor
High-MRR aluminum roughing 2" PCD face mill at 6,200 rpm and 0.008" per tooth — 250 ipm, 0.140" depth of cut, full-width passes, about 70 in³/min under ideal cutting conditions. The part rarely holds a full-width cut for long, so the average across the real cycle is well below that.
6061 AluminumHigh MRR

4th-Axis & Multi-Axis Machining — indexing, simultaneous, 3D surfacing

Indexed (3+1) and simultaneous 4th-axis work on large parts: roughing strategy, 3D surfacing passes, and reaching multiple faces in one setup.

Large 4th-axis part — material removal Second 4th-axis job I ran. One 2" PCD face mill roughs and finishes — same inserts for both.
4th Axis
Large 4th-axis part — 3D surfacing Surfacing the second part variant on the rotary. The external fillets are 3D-surfaced and blended into the toolpaths around them.
4th Axis3D Surfacing
Large 4th-axis part — 3D surfacing, second view The other part variant in this pair, from a second angle. The external fillets are 3D-surfaced and blended into the roughing and finishing passes around them.
4th Axis3D Surfacing
Multi-sided 4th-axis part — 1/2" roughing to finished The most complex part I have made. Two vises and the rotary take it from stock to complete — everything but the tapped holes — in two machine cycles, roughing the shape and holding the precision bore. Full 4th axis finishes four of the six sides.
4th AxisMulti-sided
4th-axis small hole drilling setup
4th-axis small-hole drilling 48 small-diameter holes across 6 pockets. The pockets were milled in three axes and the holes drilled on the rotary in the same machine.
4th Axis

Probing, Post-Processing & Process Optimization — the unglamorous work that makes jobs repeatable

Where I spend the most programming effort: cutting setup time with in-program probing, reordering operations at the post-processor level, and fixing processes that were fighting the operator. Most of that time goes to optimizing toolpaths for faster cycle time, better surface finish and longer tool life. In-program probing also cuts the chance of a setup error and can simplify the setup itself.

Post-processor sequencing optimization + in-program probing Haas runs a tool change as seven sequential moves. I rewrote the post to overlap them into three passes of motion — see the comparison below. Probing runs at setup and again inside the program, where it catches stock deviation.
ProbingPost-processor
Probing with the 4th axis The machine is a pre-NGC Haas control — no TCPC, no DWO. If the part is not perfectly centred on the rotary, the control will not compensate for you, so every indexed orientation gets probed on its own. Knowing exactly what those two features do for you is the residue of having worked without them.
Probing4th Axis
Process improvement — tapping arm, 8-32 in 304 SS deep hole An 8-32 tap deep in 304 stainless breaks. The mill is not delicate enough to tap it reliably, and by hand it is slow and still depends on the operator never losing concentration. I sourced and bought the tapping arm myself to take both failure modes out of the job.
304 SSProcess fix

The tool change, rewritten

Same machine, same tool change. The stock sequence runs seven moves one after another. Mine overlaps everything that does not depend on the move before it, and lands in three. That difference is paid on every single tool change, in every cycle, for the life of the program.

Stock sequence 7 moves

  1. Z axis up
  2. Spindle off
  3. Tool change
  4. Spindle on
  5. Reposition X
  6. Reposition Y
  7. Reposition Z

My sequence 3 moves

  1. Z axis up + Spindle off + Carousel pot down all at the same time
  2. Tool change
  3. Spindle on + Reposition X, Y and Z all at the same time

Multi-Sided & Batch Production — 50-piece runs, multi-part fixtures, op1/op2

Production quantities, where the programming decision is how many parts fit per cycle and how the second op locates off the first.

Multi-sided stainless steel part Quoted in 304 stainless. I looked into it and moved the job to 303, which let me run the tools at least 50% faster for the same part. The first batch ran in 316 because that is what was on hand.
StainlessMulti-sided
Op 1 — multi-part fixture One bar in the vise jaws, four parts out of it. Less saw time, fewer operator interactions and fewer tool changes than running them one at a time.
Op 1
Op 2 — multi-part job A different job, second side: the parts are separated from the bar here.
Op 2
50-piece 304 stainless multi-sided part
50-piece 304 stainless multi-sided part A large 304 stainless run. Three views of the setup and the finished batch.
304 SS50 pcs
Multiple parts machined per cycle
Multiple parts per cycle Two vises, and each bar carries 11 parts. Vise one runs the first operation, vise two the second. Faster than one at a time, and because every face gets machined the parts come out better than buying stock to size and parting off.
Production
Op 2 multi-part job, finished parts
Op 2 multi-part job — finished The finished parts from the clip above, still in the vise.

Heavy Cutting & Material Removal — face milling, high-MRR roughing, large-hole drilling

The main factors in high MRR / high-speed machining are dynamic toolpaths, tool pressure, chip load and tool selection. In stainless, it's also about managing tool wear — too light on tool pressure or chip load and the tool chatters; too high and it breaks or chips. In aluminum, running 1/2" endmills at max RPM (12,000 RPM) is about avoiding resonant frequencies by tuning RPM and tool pressure.

High-MRR aluminum roughing Adaptive roughing in 6061 run for material removal rate.
6061 AluminumHigh MRR
High-MRR aluminum — finished op 1 The part off the machine: a large 3D-surfaced step and 3D-surfaced external fillets.
6061 Aluminum
Heavy face milling — 316 stainless 95% spindle load on a 5-flute 2.5" face mill. The face mill is the point: it replaced a single-sided square-insert cutter that gave 4 corners per insert with a double-sided octagonal one that gives 16 — 4× more life — and I sourced the inserts at $4 against the $20 these normally cost. 20× off the cost of this cutting.
316 SSHeavy cut
Large-hole drilling in 316 stainless A 1.476" 4×D indexable drill through 2.5" of 316 in 46 seconds. Later runs moved to a 1.55" 2×D drill at double the feed per tooth in 303.
316 SS
Face mill set up for a heavy cut
Face mill — heavy cut setup The older 4-sided square-insert face mill, taking a heavy cut in a large piece of tool steel. This is the cutter the octagonal-insert mill above replaced.
Heavy cut

Workholding & Fixturing — tabs, zero-point, and parts that don't want to be held

Most of the hard problems in a job shop are holding problems. These are the setups I built when the obvious method didn't work.

Tabbed, hard-to-hold part There is no way to hold this part in a vise, so it stays attached to the stock by tabs and comes out 100% machined in two operations before the thin tabs are broken out. Multiple angled faces, small features and 3D surfacing.
Tabs
Tabbed hard-to-hold part
Tabbed part — top and side Tabs ground off, then sandblasted. The triangle is not a right triangle — both top faces are angled.
Tabs
4th-axis zero-point fixturing
4th-axis zero-point fixturing A zero-point plate and vise on the rotary. Workholding swaps over in one move instead of indicating the fixture back in every time it changes.
4th AxisZero-point
Improvised bar feed for PVC tube
Improvised bar feed for PVC tube The tube needed two curved cuts, cut to length and aligned to each other. I milled a half circle through two aluminum blocks, passed the tube through, and milled it on both sides of them — parting it and finishing both ends in one setup, with no saw work to prep the stock.
Creative workholding

Materials & Finish Quality — cast iron, plastics, stainless, small parts

The same programmer across very different materials. Each one wants a different chip, a different coolant approach, and a different definition of a good finish.

Cast iron gear before machining
Cast iron gear — before & after Pocketed with an indexable end mill, then finished with a range of end mills and ball end mills to bring the small corner radii into spec. Click the strip for the after views and the close-up.
Cast Iron4 photos
Plastic milling Adaptive clearing with a long 3/4" end mill.
Plastics
Finished milled plastic part
Plastic milling — chip pile The chips the cycle above produced, piled on the part.
Plastics
Multi-sided stainless part with precision-bored hole
Multi-sided stainless part — precision boring The 303 stainless job. The bore is called out at +0.0005". I brought in special tooling and held ±0.0001" across an order of more than eight parts.
StainlessPrecision boring
Long stainless steel parts
Long stainless steel parts A long, thin part with most of its material removed. It spans three vises and will shift anywhere it is not supported. The photo shows warped parts beside one that was bent back flat, sitting on a surface plate.
Stainless
Small precision machined part
Small precision parts 17-4 stainless. The profile was wire EDM'd to size and every remaining feature milled in, which takes very small end mills and fixturing accurate enough to find the part again. Deburring during machining cut it from six cycle starts on an undeburred part to one cycle start — two vises, three setups — versus deburring with a hand file beforehand, which was much slower. The pictured part is sandblasted.
3 photos

Fusion 360 CAM

3-axis CAM experience; 4th-axis indexing (3+1) and simultaneous machining. Adaptive clearing, contour, pocketing, drilling and 3D surfacing, with feeds and speeds tuned per material rather than left at library defaults.

In-program probing routines are built inside the CAM tree. Post-processor editing is the separate skill — that's where the edge over competition and the full cycle-time optimization come from.

3-axis CAM

Adaptive clearing, 2D/3D contour, pocketing, drilling and tapping cycles, 3D surfacing and finishing.

4th axis

Indexed (3+1) multi-face work and simultaneous rotary machining, including surfacing on rotary-held parts.

Probing

In-program probing routines to establish offsets and cut setup time, including probing against a rotary centerline.

Post-processor work

Sequencing optimization at the post level so the output program runs in the order the machine wants.

Workholding design

Tabbed stock, zero-point fixturing, multi-part fixtures, and improvised solutions when standard workholding won't reach.

Process improvement

Finding the operation that's costing time or breaking tools, and changing the process instead of pushing harder.

6061 Aluminum 316 Stainless 304 Stainless 303 Stainless Cast Iron Tool Steels Plastics

Experience

RoleWhereWhat
Machinist / CAM Programmer Arbiser Machine
Production job shop
Ran a Haas VF-3SS for 1.75 years. Programmed and ran production parts across aluminum, stainless, cast iron, tool steels and plastics — 3-axis and 4th axis, including probing and post-processor work. Also experienced with 3D printing and laser engraving.
Robotics — BEST competition Fernbank LINKS Machined rack & pinion and wheels on a CNC mill; C++ controls work.

Earlier Projects — CAD & robotics before the shop

Six years of daily Fusion 360 CAD — 36 projects — and two competition robots. The earlier projects are mostly 3D printing and electronics, and they showcase a long-running interest in manufacturing and design, and hands-on experience with both CAD and CAM. They're why I read a model the way its designer intended, and why I catch the features that'll be a problem to hold before the job reaches the machine.

Past projects, not services — the shop's work is the CAM programming above.

Monolithic receiver housing
Monolithic receiver housingSingle-piece housing consolidating a two-part assembly — custom internal geometry with extended bolt travel.
Bullpup chassis layout
Bullpup chassis layoutRear-set action layout with a modular rail and handguard.
Polymer frame with recoil-damping mechanism
Polymer frame — recoil dampingGas-driven tungsten counterweights and a ported brake, sized to cancel recoil impulse.
The Glocktor chassis conversion
The GlocktorBolt-on chassis conversion driven by a solenoid actuator and linkage.

Also: the Fernbank LINKS BEST-competition robot and an MTRE 1000 mechatronics robot — rack & pinion and wheels machined on a CNC mill, controls written in C++.

Now — the shop and the software

Founded Reese CNC Machine Shop LLC (Decatur, GA), and building the tooling that most programmers only use.

Reese CNC Machine Shop LLC

Single-member LLC in Decatur, GA — a machine shop organized around CAM programming as the core service.

Custom CAM software

Building my own CAM engine — toolpath generation, simulation and G-code output — in Python. Knowing CAM below the interface is what lets me push a stock install further than most.

Nesting engine

Writing a CNC nesting algorithm to maximize sheet utilization — the same optimization mindset I apply to cycle time and tool life.