Introduction: CNC It However It Lays: Adjusting CAM Toolpaths for Skewed or Hard-to-align Stock.
note: this instructable presumes familiarity with CNC machines and terminology, especially work coordinate systems. If you're not familiar, I suggest reading the extremely comprehensive "learning CNC the hard way" instructable.
Wouldn't it be nice if you could just clamp down a part on the CNC mill's table for additional machining without the laborious chore of aligning your part parallel to the X or Y axes of the machine's table? How can you precisely machine new features on round or irregular objects which are hard to clamp consistently, yet stil achieve perfect registration of new features with those previously machined? How can you machine objects which are larger than the table and travel of your mill?
Here I'll show you here how I achieved all these goals by constructing registration sketches in Autodesk Inventor software using the measured position of reference geometry on the part as-placed. It then becomes simple to define a new work-coordinate system that is oriented at the same angle as your part.
The basic idea is this: you need to tell the CNC mill where exactly your part is, and which way it's facing / orientation. In cases where you can't lock your part to the orientation of the mill's table, you need to measure additional points to find out what angle your part is laying at. Then you go back into your CAM software and make a sketch that includes the measured geometry, quickly regenerate the toolpath using the new work coordinate system, and presto!- you're milling on the arbitrarily oriented part in under 5 minutes.
For sake of clariity I'll refer here to an extruded 2 dimensional profile: a part cut out of 1/4" plate aluminum which we can assume to lay flat on the table. The challenge is simplified then to finding to which angle in the XY plane it is aligned. The same procedure can be applied to more complex irregular 3d organic forms though, provided these include identifiable geometric points.
Step 1: Make Sure Your Part Has at Least Two Probe-able Reference Features
To accurately probe points on the part, you need features whose position can be easily measured. The easiest feature to uniquely identify, especially if there is an unknown rotation of the part, is a raised or lowered circular feature, ie. a 'boss' or a hole a.k.a. 'bore' (Circles stay the same when rotated). The center point of these is easily identified by touching off four edges of the circle using the Haas CNC mill's Renishaw touch-probe. Here you can see that I incorporated several holes around the ring which allow me to walk my reference coordinates around the part at will. In this way, I was able to machine a ring after replacing it several times on the table, so that I could mill all parts of this nearly 19" (at it's thinnest) ring -- and on a CNC mill whose maximum Y travel was only 16".
If using this method to mill objects which are larger than your table's X or Y axis travels, take great care to measure the available room surrounding your table at it's extremities of motion. An error where a part overhangs the table by too much could cause unsightly bulges of your CNC's enclosure, or worse damage.) The pictures above show that there is NO additional cleance at the back of the table of a Haas VF2-SS, and about 7" of clearance at the frThoughont of the table.
Step 2: Clamp Your Part Firmly Down
For this large aluminum ring, I clamped it down to a jig plate using water-jet cut clamps, also of aluminum.
Step 3: Measure and Record the Coordinates of Two Points
You'll have better accuracy of part orientation the farther apart your two reference points are. Don't measure two points 1" apart if you can avoid it, because the uncertainty of the angle will be magnified.
Arbitrarily designate one point as the origin "O" and the other point as the reference "R" point.
I set probed point G54 as the origin point, and probed point G55 as the reference point.
Go to the machine's probe coordinate display (on the Haas mill, MDI mode, "offset", then page up/down until you come to the appropriate table). It looks like the picture above.
Find out how far, in the table's X and Y coordinates, R (G54) is from O (G55), by subtracting O from both O and R. O is now at (0,0), and R is now at (Rx-Ox, Ry-Oy). find the difference between R and O in the machine's X direction and Y.
Now, there is only one orientation of the part on the table which would result in those measaurements, so let's go back to CAD to solve for the angle of the triangle which has those sides!
Step 4: Create a New Sketch Above Your Part in CAD and Enter the Measured Distances From the CNC
Create a new sketch and project the center of the "origin" feature (the bore hole in the bottom left of my part as shown). Then project the center of the "reference" feature (the hole at the top of my part as shown). Draw a line connecting them to define the axis between these points on the part.
Next we draw a right triangle whose hypotenuse lies coincident with line between these two model points. leave one end of the triangle not coincident with the second, reference point -- the measured part may have warped slightly relative the mathematical model -- and rather have the other end of the hypotenuse simply lay on the line between the model's origin and reference points. If the model and measured realitydo coincide, that's a great reality check. More likely, you'll see a slight distance between the hypotenuse of the measured triangle, and the modeled distance between the two points. How big is it?
The endpoint of the drawn right triangle SHOULD coincide with the model's reference point, but if there's any measurement error or warping, it'll be slightly off. With the renishaw probe's accuracy of 0.0001", you'll always see some deviation from ideal. My part was off by 0.005" when I did this: pretty good for a thin, 18" diameter ring!!
Step 5: Modify Your Work Setup in the CAM Software So the New Coordinate System Is Aligned With Your Part, As Placed!
In the CAM setup tab, under "Work Coordinate System / Orientation", set the origin to one of the probed points, and set the X (or Y) axis to coincide with the rise or run legs of the triangle. You've now completed registering the position and orientation of your part for the CNC! You're done! Now, just regenerate your toolpaths and load the .NC code into the machine, and you're good to send chips flying!