Since it is almost always necessary to run an entire workpiece before the setup person can begin taking measurements and making sizing adjustments, it can be difficult to figure out what must be done with offsets to get workpiece attributes to size. This problem is further compounded by the sheer number of cutting tools that can be used on Swiss-type machines. It can be difficult to determine, for example, if one tool is machining too deep or another is machining too shallow.
This complexity often results in running multiple workpieces in order for one to pass inspection. Material costs may not be substantial (unless you run exotic materials), but the unpredictable amount of time it takes to get a part to pass inspection can be devastating, especially when you consider the time it takes to inspect each workpiece before adjustments can be made.
In my earlier column, I suggested developing a universal test part program that can be used during every setup to size in all of the cutting tools. The premise is that if a cutting tool machines an attribute correctly on the test part, it will also machine actual workpiece attributes correctly. This, combined with the idea that each cutting tool will machine independent surfaces on the test part that are easy to measure, makes the test part program easy to use.
Frankly speaking, however, this idea has been met with mixed reviews. Many programmers don’t want to devote the time to develop the test part program, and many setup people feel that it’s just as difficult to make a good test part as it is to make a good workpiece. While I still contend that the test part program will simplify and speed the process of running the first good workpiece, it’s not of any value if no one wants it.
You still have to deal with lost time, wasted material and unpredictable setup times. If your setup people are machining countless practice workpieces before they get one to pass inspection, I urge you to rethink your current methods.
My second suggestion is to concentrate on the most difficult parts instead of developing an entire test part program to handle all of the cutting tools. Using custom macro B, you can develop a series of test cuts for the most troublesome cutting tools. If you are doubtful, start with just one tool. Once you’re sure that this technique simplifies the needed adjustments, you can add more.
Here’s an example. For many setup people, one troublesome type of tool is an end mill mounted parallel to the X axis. This kind of tool must often machine in the Y axis. With many machines, it can be difficult to perfectly center the end mill along the Y axis during setup (see photo on page 62).
The test-cut custom macro program will include commands to machine two sets of milled surfaces, one flat and one rounded. The example program below machines them 0.050 inch smaller than the bar diameter. A comparator (or another measuring device) can be used to easily determine if the Y axis is centered (and if not, how much it is off), if the tool is machining to the correct depth in X (bar diameter minus 0.05 inch), and if the tool is machining in the correct Z position (0.25 inch from the end of the part to center of the slot). With these values, the setup person can perfectly align the tool with offset adjustments and the Y-axis program zero assignment before running an actual part.
In the program, I’m only showing motions—certain machine functions, such as live tooling mode and main spindle mode selections are omitted.
The main program begins with some notes to help the setup person find the right place in the program. The cross end mill portion begins on line N005, which enables you to use only one program for all test cutting operations. Under line N005, there are some variables for the setup person to specify. The program is then run from line N005. An M30 ends each set of test cuts.
The program also uses a facing tool and cutoff tools. These tools are commonly kept in the machine on a permanent basis, so additional setup is not required. Each segment of the program will face the part, perform the test cuts and then cut off the part.
O0001 (TEST CUTTING)
(TEST CUTS INCLUDED IN THIS PROGRAM)
(N005: CROSS END MILL)
(N010: CROSS DRILL)
(N015: THREAD MILL)
N005 (CROSS END MILL)
#100 =3 (TOOL STATION NUMBER)
#101 =0.25 (END MILL DIA)
#102 =0.5 (BAR DIAMETER)
#103 =0.25 (Z POSITION FOR SLOTS)
#104 =900 (RPM)
#105 =2.75 (IPM)
#106 =1 (FACING TOOL STATION)
#107 =4 (CUTOFF TOOL STATNION)
(DISTANCE ACROSS FLATS: BAR DIA MINUS 0.05)
(DISTANCE BETWEEN ROUNDS: BAR DIA MINUS 0.05)
(SLOTS CENTERED AT Z POSITION)
M98 P1000 (SUBPROGRAM FOR FACING)
(MUST SELECT LIVE TOOLING MODE - M CODE?)
C0 (START ON C ZERO SIDE)
G98S#104 (SPEED FOR LIVE TOOL)
G0Y[#102/2+.5+0.1]Z-#103 (LARGEST ENDMILL 0.5)
G1Y[#102/2-0.025+#101/2]F#105 (MILL ONE ROUND)
G1Y-[#102/2+.5+0.1] F#105 (MILL ONE FLAT)
G1Y-[#102/2-0.025+#101/2] (MILL SECOND ROUND)
G1Y[#102/2+.5+0.1] (MILL SECOND FLAT)
M98 P1001 (SUBPROGRAM FOR CUTOFF)
N010 (CROSS DRILL)
N015 (THREAD MILL
O1000 (FACING SUBPROGRAM)
(MUST SELECT MAIN SPINDLE MODE - M CODE?)
O1001 (CUTOFF SUBPROGRAM)
(MUST SELECT MAIN SPINDLE MODE - M CODE?)