Setup and Indexed Waterline Roughing is part of 5D Machining STL models with Robot. Sign in with your ENCY account to access lessons, assignments and progress tracking.
Sign inRead the full text version — the video itself requires sign-in.
So we're continuing with this project to carve a Batman bust in ENCY. Now, unlike conventional projects where you would have to set up and import and then place and orient a 3D model that you wanted to carve, we're going to be using the ENCY Project Library, which is an online repository of pre-formed projects that are intended entirely for you to be able to go through and play with settings and pull apart to see exactly how they were set up and how best to use some of the more advanced features of ENCY in an environment where the work has already been done so you can see it in operational usage. So to open ENCY Project Library, you hover your mouse over the Open Project button, click on Project Library. Now, as we can see, there are 388 projects listed in here, which should be more than enough for most people, but this is constantly expanding and being updated by the ENCY team as well.
It covers pretty much all machining types that are available in ENCY, so EDM, 2-axis, 3-axis, and so on and so forth. What we're going to be doing, though, is we're going to be limiting it so we can only see the stuff for 6-axis robots. So we'll do that now, and we're going to scroll through the results that we've got here, and we are going to get the Backman ENCY Project, which, as we can see, also includes the definition for a KUKA KR90 milling cell. One of the very, very useful things about ENCY Project Library files like this is they've got the cell predefined and prebuilt for you as well.
Not only does it mean that you can work with machines in other configurations, but it also means that you don't have to go through the process of setting up and building a cell for it as well. So if you're just trying ENCY out, or you haven't quite got your cell defined and built in the real world yet to be able to get all of the details of it, this sort of thing is very, very useful. So we're going to click on Open Project now, and we can wait for it to download and instantiate itself on my local installation of ENCY. And there we go.
Right, so, as we can see, if we turn on Machine Visibility here, we have got a fully defined robot cell, all these red lines are links and leads coming into and out of the current operation. The blue lines are all the current toolpaths. Everything's been done, and it's good to go in this. However, we're going to redo this ourselves from scratch.
So we go through and delete these toolpaths as they currently stand. We can start defining our own. So the first thing we're going to want to do is we're going to want to define our first roughing toolpath, which is under the Add Operations button. We want to click on 3D Entry and Roughing Waterline.
Something worth noting, with the Add Operations button, you can also click on this instead of just the drop-down menu. The drop-down menu is obviously as was presented before. But if you click on the words Add Operation, it'll open a fresh window. It has exactly the same content in it, so don't panic if you see that and you weren't expecting it.
It's just sorted like so, that's all. To define this toolpath, the first things that we want to do is we want to make sure that we've got the right kind of tool shape in there. So we're going to go down to the tool menu, and we currently have a 30mm diameter cylindrical mill. I'm going to increase the length on it a little bit just to be on the safe side.
Obviously, when you're working with real-world tools, you will be constrained by what you've got. But since I want to do this in two roughing passes, instead of coming at it from four angles, I'm going to go with a slightly longer tool just to make sure. So type in 150mm in length, press return. So that's set itself, and now we press the Apply Changes button up here.
So that tool is now defined as 150mm. Great. Next thing we want to do is we want to set the orientation of the tool relative to the part that we're cutting. So we go back to the Setup tab.
We click on Tool Orientation and click to pick. Click on the three dots here. That gives us this window here. So we can either use one of these ordinal directions here, or we can give it an Approach Vector.
I'm used to giving it an Approach Vector, but we'll see how it matches up shortly with the given directions. So I want to use an Approach Vector of positive X. So I put in one in X, and you see that it automatically comes up as approaching from the right-hand side of the block. Okay, so that's what we want.
We press OK, and we can see the robot has already repositioned itself accordingly. So what we're going to do now is we are going to make a start on defining what areas we want to cut and what areas we don't want to cut. So we're going to go into Job Assignments. Okay, now by default, ENCY will try and cut pretty much everything that's not part of itself.
Okay, so if it's got an item with a workpiece chunk around it, it'll just cut that. However, we want to stop it from cutting this block here. There's a couple of reasons for that, least of which is the fact that if this were a real-world project, by cutting away the base there, the project would fall off before we get to the finishing pass. We'd all look a bit stupid, the project wouldn't be done.
So we're going to give it that block as a fixture. So we click on Faces here, and under Add Faces in the Location folder here, we click on the drop down, we get to see the full hierarchy of all of the files involved in this job. So if we go to Restrictions, we've got Design 1 available there. Now, Design 1 is this cube that was drawn by the person who generated this file.
That's perfect for our needs. So we click Add, and that now goes a dull red, which means that it's now our primary restriction. In which case, that means that now we can take a look at generating Toolpath. So let's do so.
We click on the Generate Toolpath button up here, looks like a play button. It's not play, we don't call it that. But yeah, that will try and generate the Toolpath that goes all the way through. Oh, here we go.
Some segments of Toolpath were not output because of limits of machine and tool. That is because we didn't define a bottom plane in there. So what it's trying to do is it's trying to cut through the whole block of the workpiece, which obviously it can't do because that tool is not as long as that workpiece is thick. So to combat that, we go down to the Strategy tab here.
We go to Machining Levels. Now the top level is 114. The bottom level is just over 150. I'm going to set the bottom level to minus five.
So that means we've got a little bit of overlap between the first pass and the second pass. We'll come to that shortly, but it just means that we don't have any rest material to worry about. Okay, another way of doing that would be to take the top level and deduct the length of the tool from it underneath. You can actually do it like so.
So I type in 114 and then minus 150 and press Enter, and it generates minus 36 automatically. I don't feel that I need to go that deep into it though. So I'm just going to go minus five for now and settle on that. So now that we've set the bottom level, we can recalculate the toolpath.
Notice how there's no alerts and complaints this time. Okay, so that's all fine and dandy. I am a little concerned by these purple lines though. These are links between layers, and for some reason it's deciding that it wants to take the obvious escape route to go through the bottom, but it can't do that because, well, we've got the bloody great spindle in the way, which is going to hit something.
So if we go to the links and leads menu, there's a setting here called Go Up If Farther. Now that will force it to set any links to go upwards instead. If we click on Generate Toolpath Now, we'll notice those downward links are now gone. Okay, there is another way of doing this as well.
We can set another restriction using this green box that's been drawn here, which would again tell it that it can't make any movements through that area. So we can now simulate what we've come up with so far. Let's zoom into that. We slow it down a little bit and we press Run Now.
We get to see everything that we've now programmed the robot to do. I'm going to speed this up a little bit, because otherwise it's going to take quite some time and the video will be a lot longer than it needs to. So one of the major features that we can see here is that there's a very, very big step down count there. That obviously is going to cause the finishing parts to have to do an awful lot more work.
So what we can do to combat that is under Strategy, we can click on Step Up and set it to Constant. Okay, so what that'll do is it will interpolate the curve of the surface that's underneath that particular step down value and it will produce a series of smaller sub paths that reflect that interpolation. So we'll generate the toolpath again and I'll show you exactly what I mean by that. Already you can see it actually, these paler blue lines are the sub paths in question.
So if we reset what we have in the simulation space, let's play it again. There we go. We see we've got that smaller stepping now, okay? So what that'll do is it will take off a lot of the load on the finishing tool when that comes around and generally it means there's less mass to deal with in the finishing parts if you were to do clean up in between them, okay?
So generally quite happy with that. That seems quite good. One thing that I didn't do is I didn't define the rotary table vector. So I'm gonna do that now as positive X because that is the direction it's facing in, okay?
So every time we make a change like that, if it goes blank here, then it means we have to regenerate the toolpath. So I'm doing that now. Doesn't mean anything particularly serious in the grand scheme of things here and now, but it's good practice. So we now want to generate the same but for the opposing face.
So the easiest way to do this would be to copy the toolpath we've got and then paste it, okay? So we've now got that. We want the tool orientation instead to be from the left. Now we can either cut it like this or what we can do is we can rotate the turntable.
Now I believe that E2 is the axis that we're going to want to turn on this. Therefore you zoom in a little bit and the way to check would be to click on the angle value next to the axis given in the setup tab and then scroll your mouse wheel up and down a bit and you can see it turning. So that's great. What we can do now is we can click on E2, right?
We can now go back to tool orientation and tell it that we want the tool to either be in minus one in X or from the left as we did before. And instead of flipping the robot round, it's flipped the turntable around which serves our needs perfectly. So now we can go back to recalculating using all of the previous settings that we had from the prior toolpath and we should have a pretty solid toolpath to start with. So that looks good.
I am going to check what the bottom level looks like. That's a minus five, which realistically doesn't really matter in this instance. So what we can do now is we can simulate the second toolpath to see how it looks. So we slow it down a little bit.
Yeah, okay. So we've got some weirdness there where the robot tried to twist around and then realized it didn't have to. So what we can do is under the links and leads, there we go. This is the problem.
We haven't set our approach and return links and leads in this. We haven't done it for the previous one either. It's not such a problem for the first one, but it becomes a problem for the second one because what it tries to do is it tries to maintain the robot's position relative to the workpiece. So I am going to set this to avoid collisions instead, which should resolve the problem.
Recalculate. Give it a minute to think about it. And now we try again. So we go back to, we can reset the workpiece.
We can then click on simulate up to current operation and that will automatically do all of the heavy lifting for the first one. And we can then press run. And we can see the robot's not going kind of haywire like it did before, but there is a problem where it does clip that block slightly on the way in. Now we have a couple of ways of being able to deal with this.
The easiest one would be where we've got the approach and you can see here, this is where it clips. What we can do is we can actually affect change here by grabbing the tool tip, bringing the robot out further and then inserting that current machine state because what it'll do is it will insert that state beforehand. Okay. So now we can try recalculating that.
Go back there, click on that. We can press play. We don't need to worry about pressing reset here because it didn't preserve the gouge. There you go.
So let's move the robot out of the way now. Ah, see, it's the second part of that that we need to edit. So let's go back and do that again. Hmm.
All right, that's. . Hmm. Okay.
All right. So we've worked out that first move worked fine. The second one and the third one is the problem. So we can delete that one and we can delete that one.
We can't, I've messed that up. That's okay. It's not the end of the world. We can simply reset and recalculate.
We go back to simulation and we let it run again. Okay. So where we've got the approach where it crashes, what we can do is we can instead bring the robot out further like that and now insert the state and let it run again. See how it looks.
There we go. That's already looking a fair bit happier. Perfect. So we've managed to clear the block so it doesn't injure the work piece at all.
We're gonna speed it up now, see how it looks generally. It's all looking good so far. So we just let it run through and finish now. There you go.
So that's come through all clean as well. We can reset that node. Sorry, no, we do that in simulation. If something comes up red and stays red, you can reset the node status.
And that will basically mean that it will understand it as being a perfectly good tool path until it actually throws an error by seeing an interaction between the robot and the work piece or the robot and itself or whatever other impact there could be. However this does mean that for now we have got a perfectly workable set of roughing toolpaths for this so I will see you in the next video.