You are on page 1of 13

Milling with Powermill on the Kuka Robot

Digital Media Tutorial Written by Eric Kurzenberger

This tutorial will walk you through the steps of creating a basic, 3-axis vertical roughing toolpath for milling in Powermill, starting with a 3D model in Rhino. We assume in this tutorial that youll be running your toolpath on the robot, but the majority of what follows can be applied for jobs running on the mills as well; the main principles are the same. RHINO POWERMILL CODEBREAKER KUKA

Other tutorials will cover multi-axis milling using the rotary table.

MILLING IS NOT AN EXACT SCIENCE Toolpathing and cutting on the mills, and especially on the robot, are not a matter of simply plugging in numbers and walking away. The consistency of materials, even the same type of materials, will vary, bits will get dull, and what cuts perfectly on one sample with particular settings will not necessarily cut the same on another. Its essential that you consult with the Shop faculty and staff and refer to posted guidelines; do not simply guess at settings such as speeds and feeds and hope for the best. Your attention to what youre doing and your comprehension of the information in this tutorial are the key to safe and successful milling.


Orienting your Model in Rhino

When preparing to mill your le, you can save yourself a lot of time right at the beginning by making sure to orient your model correctly in Rhino. When orienting your model in Rhino, keep in mind that the origin of your model in Rhino, where the X and Y axes meet, is the point you will be using to orient your block for milling and will be your base point on the robot. Ideally, this should be a point that is easily identiable on the block from which youll mill your model, such as a top corner of the block (with the model oriented below the ground plane in Rhino) or a bottom corner (with the model oriented above the ground plane). You may nd it helpful to draw a box in Rhino that completely covers your model, to use as a guide for orienting your model. If for any reason you may need to move your block during your mill job, you should make sure your base point is at a location on your block that will not be milled in your toolpath, such as the bottom corner, so that you can easily re-orient your block if needed. Its also important to consider how the robot will be approaching your model. The robot operates best when approaching your block from the top (the XY plane) or the left and right sides (the XZ plane), so your should orient your model accordingly. Lastly, you should make sure your model is in the same units that youll use in Powermill. Since Powermill defaults to millimeters, ideally you should set your units in Rhino to millimeters as well. If your Rhino model is in inches, make sure you also change the units in Powermill to inches to stay consistent. You can change the units of your model in Rhino by selecting Tools > Options to open the Rhino Options window and selecting Units under the Document Properities list. Now that youve got you model oriented properly, highlight it and save it as an STL le from the File > Save As menu in Rhino and choosing Binary as the STL le type.
NOTE: Powermill can read native Rhino les, but there can be translation issues. For best results, save your model as an STL (if its a polygon-type model) or an IGS (if its a NURBS model).

II. Conguring Powermill

Now you can launch Powermill from All Programs > Fabrication > Powermill and import your model by selecting File > Import Model from the Powermill menu bar. When your model is rst imported, it may show up as a frame, not a shaded model; you can use the Shade button to toggle the shading, the Wireframe button to toggle the frame, and the Resize to Fit button to t the model to the view window. These buttons are located in the Viewing toolbar to the right of the model view. There are a couple of Powermill toolbars that arent shown by default that youll want to enable. From the Powermill menu bar, select View > Toolbar and make sure the following are checked:
Main Explorer Viewing ViewMill Status Tool Simulation

Some handy Powermill keyboard shortcuts F2 - toggle wireframe F3 - toggle shading F6 - resize to t window Ctrl 0 through 9 - toggle through various viewpoints

III. Creating a Bounding Block for your Model

Before you can do any toolpathing, you need to tell Powermill what your original block of material is going to look like by creating a bounding block for your model. Theres two main approaches to making a bounding block: the easy way, which automatically calculates the minimum size rectangular box that would cover the model; or using a custom bounding block, which takes a little more time at the start but can ultimately save a lot of time when milling. A. 1. 2. 3. Automatically creating a bounding box Click on the Block button in the Powermill toolbar. In the Block window choose Box in the Dened by dropdown. Lock the box in place by selecting Global Transform from the Coordinate System dropdown. Otherwise, your block will move when you change workplanes. Click the Calculate button to calculate and draw a bounding box that will completely cover your model. You should note the size of the bounding box created, and make sure to cut your block to this exact size, to prevent the tool from plunging into your model (or the oor). Click Accept to save the bounding block and close the Block window.



Using a custom bounding block

In Rhino, draw a solid block shape that covers your entire model but minimizes empty space. This will ultimately be the shape of your block of material, so it should be a shape that you can easily fabricate using the foam cutter or a saw. Make sure your units in Rhino are the same as your units in Powermill. Save this le as an STL from Rhino. I named my le bounding_block.stl In Powermill, click on the Block button in the Powermill toolbar. In the Block window, choose Triangles in the Dened by dropdown.

2. 3.

4. 5.

Click on the Load Block from File button

and select your bounding_block.stl le

Click Accept to save the bounding block and close the Block window.

Using a custom bounding box requires a little more work in creating the custom block in Rhino and pre-fabricating your block of material to the correct shape. The advantage is that youre saving a great deal of milling time, as you can clear material far more quickly in the foam cutter than with the robot.


Choosing Your Tool and Setting Feeds & Speeds

The various tools available for the robot can be found in the Powermill Tool Database. To create a tool for your milling job, right-click on Tools in the Explorer pane and select Create Tool > From Database... to open the Tool Database Search window.

This lists all the tools we have available for the database with their number (the placement number in the tool chest), diameter, length, number of utes, and tool type (ball or at endmill). If for some reason you dont see any tools, click the Options button in the lower right corner of the window and enter the le path for the tool database, which is:
\\archserver1\Powermill\Yale Tools\tool_database.mdb

Highlight the tool you want to use in the Search Results pane and double-click on it or click Create Tools: this will add the tool to your Powermill projects Tools list and make it active. Then close the Tool Database Search window to return to your project.
Whats the right tool for me? For roughing, in which you want to clear as much material as quickly as possible, your best bet is to use a large-diameter, 2-ute at endmill. For nishing, youll want a smaller-diameter, 4-ute at endmill; the smaller the diameter, the better the level of detail but the longer it will take to remove material. You can use a ball mill if you have rounded llets in your model, but youll usually be ne with a at endmill.

Once your tool is created and activated, it will show up next to your model. It may appear as a wireframe; you can toggle the shading on it by right-clicking on the tool in the model view and selecting Shaded.
NOTE: If the tool appears extremely large or small in comparison to your model, the scale of your model is most likely off. Make sure you have the same unit system (Metric or Imperial) selected in the Tools > Options window that you used in Rhino.

Its important to start with the tool in a position where it wont go through your block when doing its initial tool move. To do this, click on the Rapid Move Heights button in the Powermill toolbar, then click Reset to Safe Heights in the Rapid Move Heights window. The tool should move to a safe area above your block. Once it does, click Accept to close the window.

NOTE: Active tools, toolpaths, and workplanes show up in the Powermill Explorer pane in bold type. All Powermill commands and operations, such as resetting safe heights, take place with the ACTIVE tools and toolpaths. To activate a tool, toolpath or workplane, right-click on it and select Activate.

Setting the Feeds and Speeds To set the speeds and feeds for your toolpath, click on the Feeds and Speeds button the toolbar. This will open the Feeds and Speeds window. on

Powermill can automatically calculate most of the required speed and feed settings using the dimensions of the tool used in the toolpath and two values that you provide: the Spindle Speed, the speed (in RPM) at which the spindle rotates, and the Feed per Tooth, the size (in mm) of each chip of material removed by each blade of the tool. For guidance on choosing the proper settings, please refer to Taylors Guide to Feeding & Speeding, or consult the Shop faculty or fabrication monitors.
Feeds and Speeds When milling, youll hear these terms repeatedly. In a nutshell: Surface (Cutting) Speed: the speed (in m/min) at which the cutting tool moves through the material. The value is determined by the type of material. Spindle Speed: the speed, in rpm, at which the spindle rotates when cutting. Powermill can calculate this given the the cutting speed and the diameter of the tool. Chip Load (Feed per Tooth): the size, in mm, of the chip of material that each tooth of the cutter takes. This value is determined by the tool and material being used. Feed (Feed Rate): the speed, in mm/min, at which the cutter is fed (advanced) across the workpiece. Powermill can calculate this given the spindle speed, chip load and number of utes on the tool.


Creating a Clearance Toolpath

With your block created and your tool activated, youre ready to create your rst toolpath. Generally, when milling, you do a clearance (roughing) pass to clear away as much material as you can as quickly as possible. Because this is a rough pass, speed is more important than detail. And because the aim of the rough pass is to remove stock quickly, youll run at a higher feed rate than you would in your detail pass. By using a moderate stepdown and spindle speed, you can run at a higher feed rate and remove stock more quickly. To create your clearance toolpath, right-click on Toolpaths in the Explorer pane of Powermill and choose Create Toolpath, or click the Toolpath Strategies button . The Strategy Selector window will open; this is where you select your type of toolpath. The long list of toolpaths available can be intimidating, but most of these wont be of use to you. For now, click on the 3D Area Clearance tab. Of the listed toolpaths, two could be of use here: Offset AreaClear Model or Raster AreaClear Model. As the preview indicates, the Offset toolpath clears in a spiral pattern, while Raster clears in a back-and-forth pattern. While rastering generally involves less tool moves and can be slightly faster, resulting in smaller les, I like the Zen-garden patterns you get with offsetting, so Ill select Offset AreaClear Model and click OK. The Offset Area Clearance window will open. There are a lot of options here, but Im just going to focus on the most important factors that apply to your cut.
1. Name: the name of your toolpath. Give it a name (not a number) to easily identify it, such as clearance. 2. Tool: the tool youll use for this toolpath. The activated tool should be selected by default. 3. Tolerance: how accurately the toolpath follows the contours of the model. As youll most likely be milling a large model from foam or wood, a lower tolerance (which gives a higher degree of accuracy) would only add unnecessary processing time to the toolpath and increase the output le size. In my example, Im milling foam, so Ill use a tolerance of 1.0. If you were doing wood, you could use 0.5. 4. Thickness: the amount of material to be left on within tolerance. To avoid removing too much material, this should be greater than the tolerance if not set to 0. Ill use a thickness of 1.3. 5. Stepover: the spacing (in mm) between each cut in a pass; should be 1/3 to half of the tool diameter. Since Im using a 19mm bit, Ill use a stepover of 10. 6. Stepdown: the Z spacing or cut depth (in mm) between your cutting passes. Im doing a rough cut of foam, a soft material, so Ill use a stepdown of 10. For wood, youd want to use something less.

7. Cut Direction: determines the direction the tool rotates in relation to how it passes across the material when cutting. In Conventional milling, the tool rotates against the direction across the material; this requires less force and is preferred for roughing. Climb rolls the tool across the material, using more force on the material but producing a better nish. For my rough cut, Ill use Conventional. 8. Boundary: determines the physical limits of your cut. Im roughing my entire part, so Ill leave this blank.

Other options can be left at defaults. Hit Apply to create the toolpath. Note, this can take a bit of time, depending on the complexity of your toolpath (which depends on the tolerance, stepdown, and stepover values you chose). Once the toolpath is done, youll see it drawn as a series of lines in the Powermill window. Hit Cancel or the red X in the upper right window to close the Offset Area Clearance window. Your toolpath should now be listed under Toolpaths in the Explorer pane.

Active toolpaths are shown in bold. You can toggle viewing of your toolpath by clicking on the lightbulb icon next to it. If you need to delete a toolpath, you can right-click on it and choose Delete Toolpath. A toolpath is made up of a series of lines that represent every move the tool will make, with different colors representing different types of moves. green lines are active moves that tool makes when actively cutting. red lines are rapid moves that the tool makes when moving at safe height over the part. purple lines are rapid feed moves that the tool makes moving vertically away or towards the part, but not cutting into it. blue lines are plunge moves that the tool makes when vertically drilling into the part. As it can be difcult to get a visual sense of your toolpath from a bunch of lines, you should simulate your toolpath to see how it works.


Simulating your toolpath

First, make sure youve saved your project; the simulation can be a bit nicky, and if Powermill crashes, you dont want to lose the work youve done so far. Then make sure both your tool and your toolpath are active by right-clicking on each and choosing Activate. Then right-click on your toolpath and select Simulate from Start to activate the simulation toolbar. There are two simulation modes. The basic simulation, which just shows the tool moving along the toolpath over your part, can be started by clicking the Play button on the simulation toolbar. The Viewmill simulation, which shows the tool actually cutting through your block of material, can be more useful, as it can reveal inadvertent cuts and gouges that can occur due to unexpected tool moves. To run the Viewmill simulation, click the Viewmill On button. This will start the Viewmill simulation mode and activate the Viewmill toolbar. The various buttons in the toolbar allow you to select the views of both the block and the tool; clicking on the Rainbow Shaded Image button shows the cuts in different colors and allows you to see more clearly whats being cut. Dont toggle the tool view, as this will cause the simulation to take an extremely long time to process. As in the basic simulation mode, use the play and pause buttons to run through the simulation.
NOTE: You cant alter your view of the block within the Viewmill simulation. If you want to change to a different view, youll need to stop the simulation by clicking the red Exit Viewmill button, changing your view in the regular Powermill window, simulating from start again, and turning Viewmill back on.

Once youre done, click the red square Exit Viewmill button to exit the simulation.

VI. Creating an NC Program

Now that you have a working toolpath that youve simulated and veried, youll need to translate it into a series of instructions that the robot can read. This is done using an NC (numerical control) Program.
NOTE: You can combine multiple toolpaths into a single NC program, but this isnt always a good option. As well cover in the multi-axis milling tutorial, tool changes and moves from one toolpath to the next can easily cause collisions with your material. Whats more, the robots limited memory can only handle so many lines of programming at once. So, for complex milling jobs involving multiple workplanes or tool moves, you may be better off using a separate NC program for your roughing and nishing toolpaths.

To create a new NC program, right-click on NC Programs in the Explorer pane and select Create NC Program. In the NC Program window that opens, enter the following:
1. Name: Enter a descriptive name for your program, such as Clearance. 2. Output File: Click on the folder icon and select an output le location and name for your output le, e.g. clearance.tap. 3. Machine Option File: This is where you select the machine denition le for the mill youre going to use. Click the Folder icon and browse to or type in the path C:\dcam\cong\ductpost\1Kuka_.opt 4. Output Workplane: Set this to blank. 5. Tool Value: set to Tip

Other options can be left at defaults for now. Click Accept to create the NC program and close the window.

Your NC program should now appear under the NC Programs list in the Explorer pane; click on the + symbol next to NC Programs to expand the list. When rst created, the NC program is empty, because it doesnt contain any toolpaths. To add a toolpath to the program, click and drag the desired toolpath onto the icon of the NC program. This will cause the toolpath to appear in the Explorer pane under that NC program, which means the program contains that toolpath.

NOTE: If youre adding multiple toolpaths to a single NC program (which, remember, we advised against), make sure the toolpaths are in the correct order. Toolpaths will run in the order theyre listed in the program; having the order incorrect could cause, for example, your nishing toolpath to run before your clearance toolpath. Which would be bad.

Now that youve added your toolpath to your NC program, you need to make some adjustments to the program prior to writing it. Right click on your NC program and choose Settings. The NC Program window will re-open, this time containing some additional data gathered from your toolpath. Provided you set everything else correctly when you rst created the program, you should only need to change one thing: the gauge length for the tool youre using. Highlight the toolpath (or toolpaths) listed in the box in the NC Program window, then click on the Gauge Length box under the Toolpath Clearance section and change this to 0. Once thats done, click Write to write out your program to the specied output le. If the write was successful, your NC program icon will turn green, and you can close the NC Program window. If you get any errors while writing, make sure your Output File path is set to a location to which you know you have access (such as your Z drive or scratch drive) and verify youve chosen the correct Machine Option File.

VII. Converting your NC Program in Codebreaker

Now that youve written out your NC Program, theres one last step that needs to take place before you can run it on the robot. As its currently written, as a .tap le, your NC program wont run properly on the robot: it needs to be converted into a format the robot fully understands, which can be done using the program Codebreaker. Launch Codebreaker from All Programs > Fabrication. In the Codebreaker window, click FILE, then browse to the .tap le you just wrote from Powermill and click Open. Your .tap le will appear in the Codebreaker window, along with a number of options:
1. 2. 3. 4. 5. 6. 7. Tool Orientation: If youre doing a straight 3-axis cut (in which the tool is always vertical and does not tilt), choose Vertical (3-Axis) and set Y Start, Y End, Rotation Start and Rotation End all to 0. If youre doing a multi-axis cut (in which the tool does not remain vertical at all times), choose BC Style Post. If youre using the rotary table (which well discuss in a later tutorial), you would =choose External Rotary Table. Source File Type: choose PPI Kuka DuctPost Source File Units: choose Millimeters Base Number: choose a number between 1 and 16. Remember this number, as youll need it when youre setting your base on the robot. Velocity Output Options: choose Millimeters/Minute File Type Output Options: choose Segmented Files Max Lines: enter 6000

Once youve entered the correct information, click Segment to write the converted .src les to the same location as the .tap le. Depending on the length and and complexity of your toolpath, there could be several les written out. You should now be all set to copy these .src les to the Kuka robot for milling. Please refer to the Setting Up the Kuka Robot tutorial for information on copying these les and setting up your job on the robot.