Description
Key Learnings
- Understand the difference between constraints and joints and learn when to use each one
- Learn how to set constraint and joint limits and understand when they are necessary
- Learn how to model using advanced motion and transitional constraints
- Learn how to apply drive constraints and use the contact solver
Speaker
- DPDavid PonkaDavid Ponka is currently a senior applications expert for IMAGINiT Technologies. He has over 10 years of manufacturing design experience and a Bachelor of Industrial Design degree from Carleton University in Ottawa, Ontario, Canada. David provides design and data management consulting services, and he teaches design workflows using manufacturing applications from Autodesk, Inc. He began work as a mechanical designer in telecommunications for in-building radio equipment, and then he worked as an industrial designer at Mitel Networks. In years prior to working for IMAGINiT, Ponka also worked in the office furniture industry as a product engineer, where he not only created new products, but also helped to develop enterprise resource planning (ERP)-linked, CAD-to-CAM (computer-aided manufacturing) workflows for wood and fabric CNC (computer numerical control) machine automation.
DAVID PONKA: All right, well, we'll get started. There may be a few more coming in here. But thank you all for coming, guys. It's not that early in the morning, but it's early for me. And hopefully, everybody's had a chance to grab some coffee and start the day off here.
My name is David Ponka, as you can see on the slide. You probably saw that on the bio and on the course outline and stuff like that. I work for a reseller, IMAGINiT Technologies. Myself, I'm out of Calgary, Alberta, Canada office, so if you're ever-- I don't know if we've got any Canadians in the room, but I'm sure there's a whole mix of us from all over.
So, we're here for Inventor. Techniques for modeling motion in Inventor. And I'll just kind of just jump right into it here without wasting any time. I've got everything in the course outline, if you've got the handout. I've got everything in there on the slides, and we're going to talk about it all. If we've got time at the end, I'm going to go through some adaptivity and a couple extra things that aren't on there.
AUDIENCE: [INAUDIBLE]
DAVID PONKA: OK. So if you've seen the outline, we're basically just going to run through constraints, joints, the drive tool, the contact solver. That's the kind of the bulk of the class. It is an introductory level class. So if you guys are very familiar with those tools, this, you know, you won't hurt my feelings if you head out. And better now than halfway through, or a poor survey saying, sometimes you get comments saying oh, that was too easy.
So that's just where we're starting, all right. If you know how to use Inventor, you know how to build assemblies, that's kind of where the starting point is. I'm not going to show you how to use constraints. I'm going to make an assumption here that everybody knows constraints have been around for a long time, that you kind of know the basics of how to apply a mate constraint and do those types of things, right?
So what we'll do is, we'll spend a little bit more time with joints and what you can do with joints, and then, of course, getting into the motion side of things. Things like limits, and then those other tools that we looked at. OK? Let me use this guy here instead. OK, so the four kind of key learning objectives from the handout there. Knowing the difference between straights and joints. Great. Learning how to use them, it says learning how to use constraints and joints there, but we're not going to spend too much time with the constraints themselves, like I've said.
And then we're going to look at some of the more advanced constraints. So motion, transitional constraints, you may have seen those. I don't know how often those get used. Sometimes we use those quite a bit, sometimes I see that they just kind of get left behind. So we'll go through those.
And then the drive constraint tool, it's more accurately called the drive command, or the drive tool. And then the contact solver itself, which is interesting, but it's got its limitations. So we'll look at those things there. OK? So most designs that we build have moving parts. Does anybody in the room here have design that is just-- you don't design anything moving?
Everything you design is fixed. I mean, there's lots of products that are fixed, right, that don't have moving components. Most things we design and we build in Inventor, we build our CAD models. They have moving parts. They don't always get represented properly. I know when I was using my early days, I would just kind of just either lock it down completely and not recognize any motion at all, or I'd leave it totally wide open. And I'd have components that could fly off the screen or do whatever I want. But as long as I left them where they were, I was pretty happy.
That doesn't need to be the case, right? We've got tools here that we can use to actually set that motion up and allow that restricted motion. Not ruin our drawings, not ruin anything else about our components. We may also have-- I've got a couple other bullet points there. Sometimes you might want to represent motion in the assembly, or in the manufacture of your components. So if you've got some design for manufacturing, if things are maybe changing position or something like that, you want to represent that, you can do that as well with these. Right?
So most of the time, it's the time, maybe the comfort. You know, you see these commands, there are strict sequences. If you're going to use motion constraints, you have to pick-- you have to know what you're picking first and what you're picking second. Because if you pick them in the reverse order, they don't work. So if we don't understand that, if we get frustrated with it, we'll leave those tools behind, say that's not worth it, I don't really need this anyway. We all understand, as designers, how it works. OK?
So the good news is, there's lots of choices. So I'm just going to back up a second. And we're not really talking about any tool in particular here, but everything in space has six degrees of freedom. And if you've been in Inventor, you may have seen this tool. It's just an icon that you can display on your model to represent those degrees of freedom, right? We've got three linear degrees of freedom along each axes, and then we've got three rotational. And that in general just describe motion of anything in space.
So when we start adding our constraints and we start doing things to lock down our motion, what we end up doing here is we end up just taking away those degrees of freedom. That's always the case. Doesn't matter what tool we're using, whether it's a joint tool, whether it's a constraint tool, that's what's happening. They happen in a little bit different priority or a different way, but as we start removing those, if you display that tool there, then what you'll see is you'll see those arrows disappear.
And there's other ways that you can visualize that. You can always, of course, click and drag after you apply a constraint or after you apply a joint and see how things move in space. If you've got the icon there turned on, that will display degrees of freedom for every single component, and you can actually see, as you start adding those constraints, the arrowheads disappear and you can visualize that way what's left.
There is another tool in the productivity panel, you know, there is that dropdown list with a whole bunch of miscellaneous tools in the assembly environment. Right at the bottom there, there's the degrees of freedom analysis tool. And that will list basically, effectively, all the components in your CAD model and their degrees of freedom in each column. So you have a column of linear degrees of freedom, column of rotational degrees of freedom. I don't have that shown, but if you guys are interested afterwards, you can come up, I can show you that. It's an interesting tool, but, you know, if you understand how things are moving in space as you apply your constraints, it's just an extra check, OK?
All right, so now that we kind of have that starting point, that we understand what we're doing with our models, let's talk about constraints and joints. All right, so constraints have been around forever. They're the classic tool, right. And when we apply a constraint, what we're doing is we're fixing something to something else. Whether it's a mate, whether it's an angle, tangent constraints, even. We've got the symmetric and the insert, and what we're doing is we're removing degrees of freedom by direct selection. So we pick a face, we pick an edge, we meet those together, those can no longer move apart. And we reduce our degrees of freedom that way. OK?
So, here's what happens, is, we allow our motion by not constraining something. And that that's sort of the-- If everyone's kind of got a basic starting point, we're not really representing motion. That's probably where a lot of us just leave it. I've got my-- this is a little shock absorber from a RC car. So if you notice my measurements when I put it in there, it's going to be really small, because it's a little tiny little thing. But if I were just constraining this, and I wanted to leave that degree of freedom so that shock could go in and out, what I'd end up doing is I would just end up leaving that mate constraint missing or suppressed, right. But we don't need to do that.
What we could do is we can either apply a limit, which we'll look at in a minute, or we can use joints. OK? So joints are very similar to constraints in that they remove degrees of freedom, OK? We still end up with a restricted motion, but a joint is more direct in terms of-- what I'm doing is, when I apply a joint, I'm telling it exactly the motion I want. Instead of just kind of fixing things up and leaving things undone where I want motion, I'm picking a joint type. And then I'm saying, out of those six on the right hand side there, rotational, you know, we've got cylindrical, we've got planar, and they all represent a different type of motion. OK?
By the way, you can mix and match joints and constraints. There's no need to go all in one direction and all in the other direction. A lot of the times, the constraint makes sense where a joint doesn't. And a lot of times, a joint will make sense where a constraint doesn't. And so you can feel free to mix and match those. You're not going to slow down your model, you're not going to cause any crashing or any issues that way, OK?
OK. By the way, so that last bullet point there. There's no animation tools for joints in Inventor Studio. Has anybody here used Inventor Studio? Yeah, so a few of us, right? One of the things you can do is you can change a constraint offset, and build an animation in Studio that way. That's not possible with joints. So if you have a joint and you bring that into Studio, you can't change the offset of the joint. So one restriction there, well, I can show my motion in the assembly environments, in Canvas, but I can't really build that up in Studio. I'd need something else.
AUDIENCE: [INAUDIBLE]
DAVID PONKA: Yeah. Yeah, you could either apply another constraint and use that, or you could. You're right. Yes?
AUDIENCE: Could you apply [INAUDIBLE]?
DAVID PONKA: Good question. I don't know the answer to that one. I don't think so, but I could check for you. Yeah.
OK, so what's the difference here? I always like to point this out. The joint dialog box looks, at first glance, a lot different than the constraint dialog box. But if you think of the workflow that you're going through this, maybe you've noticed this, maybe you haven't. But they're actually laid out the same way.
So in my joint here, I've got a type, which is the same area here as my type, right. And my selections next, and then my selections over here in my constraint dialog box. My alignment, you know, I can specify my alignment type here, or I can use the buttons. And then my gap is effectively the same thing as my offset. So if you know how to build a constraint, you're pretty close to already knowing how to do a joint, OK? It's not much difference there.
The only other thing that I point out, too, is just, for someone kind of coming into this brand new, and I'm doing an introductory or a fundamentals-level course. All these arrows and all these little icons, they all mean something. So the color of your highlights will actually display on the model as you're selecting them. The arrows that are shown on the solution buttons, or on your selection buttons here, will display and that will correspond to what you see in your preview, on your model, as you're making your selections. So it's been really thought through there, in terms of understanding what you're applying and when you're applying it.
OK, so what are the joint types? I always like to visualize these. You know, joints are relatively new. The first time I did this course was-- it's a little different now, but I did this in 2013, when joints were brand new. So joints have been around now since Inventor 2014. They've been fairly successful, I think, in terms of being used and doing what they're meant to. And this is just a description of what each type is. So your rigid joint here, I know this is a class on motion, but there's a neat thing about the rigid joint, is that usually-- if you get into using joints. With the rigid joint, it's kind of like a magic constraint tool in a way. I can apply one rigid joint where it might take me two or three constraints using a constraint tool to totally fix something down in space.
Even though we're talking about motion, the reality is probably 80% of our designs, maybe more of all of the parts in the design, are going to be fixed one way or another, right. So you can use your rigid constraint, or a joint, pardon me, pick one location, and lock those together. And you save yourself clicks. Clicks are money, right? Motion, or moving your model around making selections, all that takes time, all that slows you down. So the rigid joint is one there that's an opportunity to speed up your design time. OK?
The other one's rotational, so it's like a hand, right. You end up with one rotational degree of freedom, where I might need to apply two or three constraints to get that same thing, right. One joint, make my selections. It removes all of the other degrees of freedom except that rotation that I want, right. The slider joint, so I've got maybe like a vise, right. Moving out, dovetail is what I've got in the picture there. I get one degree of freedom, it's a linear motion, and it'll just go back and forth. And all I have to do is apply one slider joint, and I get that motion only. And then if I wanted to control the position of that, I could use the gap, which is like the offset we saw in the dialog box. Or, alternatively, I could put a constraint on there. OK?
If you wanted to go into Studio or something like that. Right. The cylindrical joints don't always remove everything but one degree of freedom. These ones leave, pardon me, leave you one degree of freedom. The cylindrical one here will leave you a rotational degree of freedom and a linear degree of freedom. So if you think of a shock absorber, I've got a gas strut there, right, that can turn and it can go in and out. So what you're losing there is all of your degrees of freedom except those two. And then our planar motion, likewise there, right, it can rotate and move in two directions. And I've got a ball joint down on here. No linear degrees of freedom, but if we kind of understand visually what a ball joint is, right, we know that it can rotate in all three directions there.
So that's just kind of a quick recap of the joint types, OK? The neat thing about them is that-- and where joints are much more interesting than constraints is that in a constraint, I have to actually pick a physical edge, a physical point, a plane or a face on a model. With a joint you can pick virtual space. Or you're always picking a vertex, but it doesn't actually have to be on the model. You can change the orientation, you can change the position, and you can have those placed out, as you can see in the example there. There actually isn't a selection in the middle there. If I was going to constrain that into that, and maybe only allow one rotational degree of freedom, I'd need to build an axis or a work axis at least, right.
I could probably do the point, if I have a center point or work point in the middle, I could do that as well. But with my joint command, I can do it with one joint. OK, with the alignment tool, likewise, that would be the next selection there. And it just orients towards the teardrop. And so you don't always need to apply an alignment. It wouldn't make much sense in this example, but when you're picking that, you're just aligning those teardrops. I won't spend any more time on it than that.
OK, so in terms of-- that's the really fundamental stuff. What are joints, what are constraints, what are they doing to our models. And when we get into applying motion here, what we want to do is apply some limits. Constraints have limits. All you have to do to access this is just hit that little double chevron button there, the double angle brackets on the top right, and it'll drop down this guy here. It's a nice place to name your constraints. If you don't want to do it in the model browser, you can just name it there. And then you can apply your limits.
So you can have a positive limit, you have a maximum and minimum. You don't have to put them both in. If you only want to restrict motion, stop it in one direction, we can enter those values. OK so within that limit you have free motion. One thing I will say is, it's probably always preferable to check off the "Use the Offset as a Resting Position."
Does anyone know why I might say that? Any guesses? No? So if you have an assembly drawing, or an assembly detailed in a drawing with some maybe assembly instructions and some basic dimensions, what's going to happen if I go to my assembly model and I drag it and I play around with it and I just leave it at the maximum? Next time I open my drawing, what's happened? Right? It's moved out, and the actual drawing views are going to change.
So when you use the resting position, you can still move it around. Soon as you let go, snaps right back to the offset and it protects the integrity of all of your drawings. So you might at first glance think, I don't really need that, but it is helpful if you are kind of-- if you have children, or, I shouldn't say children, but drawing views based on this, OK?
AUDIENCE: [INAUDIBLE]
DAVID PONKA: Yeah, that's another way you could do it, yep.
AUDIENCE: [INAUDIBLE]
DAVID PONKA: Yeah. Picking the topics for this, you can go into a whole bunch of stuff. Design views and positional reps, and you can control flexibility and things like that in there. I had to, when I submitted the class, I had a choice in what I did as I submitted a Level 1 and a Level 2 and they picked Level 1, so it's Level 1 topics. But that was on my list for the other ones.
OK, limits can be applied to joints as well. Joints have a-- as you saw at the top there, they've got two tabs. So all of my joint selections are over here. My limits were over here. And they'll be grayed out except where they apply. So if you apply a slider joint, you're not going to get an angular limit that you can set, because it just doesn't apply. If you use a cylindrical joint where I've got two degrees of freedom, I've got a linear degree of freedom and I've got a rotational degree of freedom, I can apply both limits. You can have a rotational limit and you can have a linear limit. And they'll just automatically un-gray or, you know, activate when it's applicable.
The main difference in here is that there is no resting position. There is just a current position. So I have a gap. Not an offset, it's called a gap, right, on the joint, where I can specify the location of something and I can have a limit. So if it's, let's say it's my vise that I'm moving in and out, when I apply my joint to it and I set the gap, and then maybe I'm applying limits afterwards to limit that motion of my vise, what I can't do is I can't have it snap back. OK? The joint just shows me my current position, but it doesn't snap back to the resting position.
There are ways to lock joints and protect them. If you right click on the actual relationship in the model browser, you can lock them down so that they don't move at all. Or that they only move when they're acted on by another component, OK? So if you were to drive a constraint that's linked to a component with a joint, I can protect my joint and I can lock my joint or whatever it is, and then only allow the motion in the joint based on an outside influence, not by clicking and dragging.
OK, so I'm just going to jump in here and show you the first example. We're doing all right on time, I think. OK, so here's that shock absorber, and you can see it's basically just floating in space here. What I've got, I'm not going to build a constraint. I've already got it set up. It is right here, but it's just turned off. OK? So if I turn this on, now it's fixed in place. So I just want to apply my limits to this guy . I can just edit my constraints. And I'm just going to turn on maximum and minimum and my maximum here is 30 millimeters, OK? I'm Canadian, so everything I do is in metric. So pardon me for that if those numbers don't make sense to you.
All right. So there's my limits. 10 millimeters of motion. That's not very much, right, but it's a tiny little part, and it moves within that range of freedom. If I save this, in fact, I don't even really need to save it, but if I just jump over to my drawing. So I have a drawing here, and you can see, there it is closed. And that affects-- you know, if I'm not using positional reps in my drawings or anything like that, there it is, open. So just watch for that.
To apply a joint, right, so we've got our two commands here. And I'm just going to run through a real quick joint to apply these. And what I'll do is I'll do a rotational joint to put this component in here. There is an automatic tool, right, where it will basically look at the part or determine based on your selections what joint it believes fits. And it's fairly trustworthy in terms of, it gets it right most times. Me personally, I just always prefer the manual method. I know as a designer what I'm applying, so I'm going to come in here, I'm just going to say, you know, I want a rotational joint straight away.
I do need to clear my selections here because I misclicked. OK, so my rotational joint. Now the key here with the joints, right, the first component always moves to the second one whether it's grounded or not. So it will unground your grounded component and move it if you pick it in the wrong order. It warns you, so you get a chance to cancel out of that before that happens. But it will certainly move your grounded components, and order of selection is somewhat important here in most cases. You can see, as I kind of move my cursor around the selections, I'm getting these virtual selections in the middle because I've got a circle. And then what I'll do is I'll just pick this guy over here. You can turn off those animations.
What will happen is you get proficient at these, right, you'll be able to start applying joints faster than the animations finish. So just uncheck this little animation once you know what you're applying. And then you won't be able to-- I mean, you can interrupt the animations and keep selecting before they finish, but it's a little bit of a minor annoyance sometimes. OK, on my limits here, you can see what I've got is, I've got just the angular limits available. I can't apply or turn on my linear ones because nothing applies here. So I'll hit a start and an end, and let's do something like negative 90 and a positive 90. And when I just click OK here, now I can spin that. You can see it'll lock. It will lock within that range of motion. It's a little bit finicky because of the angle I'm working at.
OK, so let's move on. Any questions so far on what we've done? Yeah, in the back?
AUDIENCE: Can you create a visual [INAUDIBLE] that will show it moving out through a cylinder? Like a bolt moving out as it's rotated?
DAVID PONKA: Yes. I would do that with a linear rotational constraint, actually. You could do with a joint, but you're probably-- not in the same way. With a joint what you'd have to do is either change the parameter for the gap value as you're changing some other value, which is a little bit more of a headache than just applying the right kind of type of constraint. Or suppress the joint. You can have a joint on there, but suppress it and do the other constraint if you need it But--
AUDIENCE: [INAUDIBLE]
DAVID PONKA: Yeah, the right answer is to use the linear trend-- linear rotational constraint. And I can show you that. I've got an example of that, actually, with my adjuster, not on the, on my shock absorber here. OK so keeping on going. So motion constraints. That's what we're going to get into now. This is the next tab over, so we're going to stick to the constraint tool. Hopefully, you guys have maybe seen these. Maybe not understood some of the-- they're not complex, but they can be tricky if you don't know what you're doing.
You're always selecting in a particular order. Your first selection has, in the case of a rotational constraint the first selection will complete one revolution. And then the ratio that I put in for that will tell me how many rotations, or, you know, the second selection gets as the first one rotates. OK? So keep that in mind that your selection order is important. You can do gears, rollers, there's all kinds of stuff that you can build into this. Helical motion. So if you wanted to do a threaded motion, that's one of the visually more impressive ones, right. If you're trying to record a screen, like a screen animation, or a drive constraint of something, unscrewing or something like that, it's interesting to see and record that.
OK. So I've said two spinning components, but really, you can apply a rotational constraint to multiple components. So here I've got a synchronous gear. The synchronous belt would be-- I can animate that. I would need to do this in Studio. So I'm not talking about animating the belt motion here, I'm just talking about the gears. I could do the rotational constraints on all of those and relate them to maybe one base gear as it rotates. Everything else rotates clockwise, counterclockwise accordingly. OK? My tensioners and so on.
OK so remember the first-- pardon me, the second component rotates based on the full rotation of your first component. So when you do one full revolution, how much is the other component rotating. When you get into linear rotation and translation here, OK, rack and pinion type gears. I've got a vise down at the bottom so your linear motion as things are maybe unscrewing, it's one full rotation, translates to some linear motion. So now, I don't have a ratio in the dialog box, I have a distance and the distance would be in a helical motion, it'd be like your thread pitch. As you do one full revolution, you move some value x. And that would be, if your metric might be one millimeter, 1.5 millimeters if it's imperial. I forget the actual number, I'd have to go back to my notes. OK?
All right. And then the last tab there. There's actually, you know, you look at this and there's hardly anything here. There's no offset value, there's no ratios, there's one button. There's no options for it, and you just pick one selection. So this is, in a sense, pretty easy to apply, but selection order, again, is important. If you've got a cam and a follower, if you've got slotted motion, you pick the follower as the first surface, you pick the cam surface as the first surface, and then the slotted motion or, pardon me, the follower surface, not the cam surface, as your first selection.
So the component that's following the surface gets picked first, and then the surface defining that area gets picked second. And that's what you need to do. It does not need to be tangent. So sometimes you might think, well, if I'm in a slot, I've got to have rounded ends and I've got to make sure they're all tangent. Or if I've got a cam, right, cams are naturally tangent, but it will follow along a surface even that's not tangent. It's pretty flexible that way.
If you're going to apply these, you can't drive these when we get into the drive tool. There's no offset to drive here. But when you drive something else that will act on this, so if this is pushed by some other constraint value, then you'll be able to see that slotted motion or that cam turning. So if I had an angular constraint and I moved my angle, then I'll see the camera, the follower or whatever, move up and down.
AUDIENCE: Does it have to be like, a model surface or can you make a sketch with the--
DAVID PONKA: I believe you can make a sketch. I've usually used model surfaces. I'd have to double check that, though. I couldn't say for certain.
AUDIENCE: OK.
DAVID PONKA: Yes.
AUDIENCE: [INAUDIBLE] the tangent, the tangent seems to continue where the surface ends.
AUDIENCE: Yeah, it does.
AUDIENCE: But in this case, won't it be at that surface?
DAVID PONKA: Correct. Yeah, you have to actually physically be in contact with that surface. That's a good point. So what he said is that if you have a tangency constraint, you might think, well, it's pretty close to this, right. However, a tangency constraint, if you've ever noticed, when you apply a tangent, you can pass. Tangents will, if you maybe just had an arc and you said, OK, I want to be tangent to some other surface, and that part rotates away, it doesn't actually have to be in physical contact with that face that you select anymore. Whereas in a transitional constraint, you have to actually be in contact with the surface selections.
OK, so motion constraints. This one is a little bit more interesting than the other one. So I'll show you. OK, rotation constraints. So this-- has anyone ever been involved with First Robotics? Or anything like that? Yeah? Right on. So I was a mentor for a few years. You guys probably recognize this. It comes with the kit of parts for the base drive assembly. And so I've just kind of constrained it all together. It just comes as a STEP file and everything's just kind of floating in space, right. So what we're going to do here is we're going to apply a rotational constraint in here so that I get the right motion.
Now, I've already applied rotational constraints to the other gears. So once we finish this, we'll be able to see this gear as I drag it and move it, that it'll correspond and move everything else. One thing about this is that I'm going to want to put this visually in position before I apply my constraint, if I can get my selection. OK, so that's pretty close.
Once I've got the ratio, I'll come in here, go to my constrain tool. I don't need any limits, so we'll collapse that. And maybe I can zoom in here so it's a little bit easier to see. Right, hopefully that works out. OK, I'll pick my motion constraint, OK. Rotation trims-- my rotational version, and the ratio here that I want is 2.368421. Anyone know why I went so far with my decimal points?
Right. Yeah, if I only went one decimal point, it wouldn't take very many revolutions before the teeth would begin interfering with each other. So the more accurate I am, even though it's a little bit silly, the more accurate I am, the less I have to worry about it. I could always fix it, but this one actually had more. I cut it off there.
OK, so now I'm going to make my selections. Remember what I said about the arrows here, actually representing the select being shown, and able to help you visualize what you're selecting? OK, I need to switch this to the opposed direction, and then I'm going to select my first gear. And just the surface on my second one, all right. Yes?
AUDIENCE: [INAUDIBLE]
DAVID PONKA: Yes. Yeah, you can put whatever you want in there. You can put fractions, decimal units, yeah. OK, so I've got my-- I didn't pick this one-- two selections. There we go. All right. Notice the arrows kind of showing me those rotating components and the direction they're going to rotate in. The color coding, right, indicating which is my first selection, which is my second selection. Those are key things because as my first gear rotates one full rotation, my next gear is going to go 2.3 times around. OK. So I'll click OK to apply this. And now as we rotate this, we can see there is my gear rotating. OK? And I've applied my rotational constraints from these gears inside to the motors here as well.
So everything's all connected together. OK, that's a great first start. I'll show you in a few minutes here how we can drive that motion and we can actually animate it further. What we're doing right now, this is, just kind of freed that up, right. I would be missing one thing here. I'd probably want to put an angle constraint to lock that motion down, so that I can control it maybe by angle limits or something like that as well. But for now, this is just freely able to rotate.
Right. The next one here, I thought I'd show you a linear rotational or a linear, pardon me, rotational translational version of this. If we go back to this tool, is, what I'm going to do here is I'm going to actually just animate this nut so that it will spin on the threads as I drag the washer. So I'll put a little washer here. There is a warning about this. This one's a bit tricky in this case. It's not always like this.
Can anyone think, if I didn't have that washer there-- let me animate it, or let me do this first, and then I'll ask you the question. But maybe be thinking about what the challenge might be if I didn't have the washer, OK? So I'm going to say constrain, I'm going to come back to my motion tab, and I'm going to pick, let me zoom in so you guys can see that better, rotational translational.
And now this would be my thread pitch. I think it's, I don't know, I'll put 1.5 millimeters. And I want this to follow the threads in the right direction. So I would have to pick the next one here for this threaded motion. And member selection order matters, so my rotating component first, and then the linear motion second. All right?
So that's really all there is to it. As I drag this component now, I can probably just zoom out here like this. As I drag this, you can see, there's my component. Uh, I think I got the direction wrong. Uh, nope. OK. So there's my-- to answer your question in the back earlier, that's how I would show threaded motion. Something like that.
So does anyone have any idea? If I didn't have that washer, did anybody catch what would be the problem with that?
AUDIENCE: [INAUDIBLE]
DAVID PONKA: Yeah. Yeah, you can't constrain the same selection twice, right. So I can't go and say, pick one surface to rotate, and then in the same part, pick another component of the linear direction, right. I have to have another component that moves so that I can apply the rotation to the first component. So you need two components. And in reality here, that would be a little challenging to do. So I added just a little washer in there, which may or may not be there in reality, OK? All right.
AUDIENCE: Can you use a part that's not visible? Can you use--
DAVID PONKA: Yeah, you could constrain things that--
AUDIENCE: --that way, like a working part.
DAVID PONKA: I don't know if you could-- you couldn't do it to a virtual part. You'd have to have something that you actually selected. And it would have to be-- it could be invisible, but it couldn't be suppressed. Yeah so it'd have to be there. Yeah. The question, sorry, the question was, can I make a component invisible and apply the second selection to the invisible component? And so, yeah. It couldn't be suppressed. It has to be physically present in the model for that to be able to calculate. Yes, question in the back.
AUDIENCE: [INAUDIBLE]
DAVID PONKA: So long as it's a separate part, yes. So if you couldn't do a sketch in the same component, it would have to be a separate part. Yeah. OK, so we'll take the next step in here. We're going to look at the drive tool and the contact solver. So the contact solver is basically just a tool that will detect collisions between parts. It's something you can use to sort of evaluate motion. You can mix constraints in there with the contact solver.
I've got a gun trigger here, an older one. I had one gentleman a few years back try and simulate motion in a trigger assembly just by using the contact solver, and it was an effort in futility, just because there were so many moving parts that would switch surfaces, that the thing would just kind of blow apart every time it tried to land on a different surface. But you can use the contact solver for fairly simple contained motion, or restricted motion.
The gated shifter there might be one. That one, you could do that a couple of ways. But if we're just talking about the shifter in the gate, we could make sure that it follows that. What you need with a contact solver is you need two components. What you do is you add them to what's called a contact set. Right, you turn on the solver. And what Inventor will do, is it will just basically analyze the components in the set, ignore everything else in your entire assembly, and just find out when those two hit each other. And if they hit each other, of course, they stop. And that's it.
You can put as many components as you need, so there's two minimum, but there is a practical maximum. What it does is it sort of, as you're moving the component, you're probably clicking and dragging if you're using the contact solver. You're probably not driving motion or restricting motion too much.
What will happen is, if you end up in there with six components, seven components, or more, Inventor will have trouble calculating that faster than you can move the components. This is very dependent on your CPU. So if you've got an older machine, if you've got a lot of components, if you've got a very complex assembly, basically what you can do is you can just drag too quickly and blow through the interference.
So be careful with that, and always turn the contact solver off when you're not using it. There's a toggle in the ribbon on the Inspect tab. So right near where you'd analyze interference, where you would toggle that tool on. You'll know when it's on because what you'll see is, I mean, the button is a toggle, right. It's in or out. So toggle it off. The components that are added to the contact set have this little icon next to them. That will always be there, whether the contact solver is on or off, but when you're not actively solving collisions or detecting collisions, turn the contact solver off. Save your processing power for other modeling activities, basically. All right. I overlapped some text there, I apologize for that.
OK. Drive constraints, or the drive tool, is kind of different altogether. What the drive tool does is it basically just animates an assembly by changing the offset value of some constraint. You can drive constraints, you can drive joints too. So both of those can be used with the drive tool. And it's a shortcut menu option on the constraint or on the joint. You just basically find that, right click on it, and when you get into that tool, this is what you're presented with. So you've got a play area where you can play it forward, play it backward. Up in the top where your start and end is. These are your offset values.
If it's an angle, then you're rotating something that's-- or you're driving something that rotates. Put in your angle. You can go zero to-- you know, you're not stuck at 360. If you want something to animate a whole bunch of times, like an engine or something like that, do 7,200. Do more. Do as much as you need to. And then, you can even repeat motion. So if you come down here, maybe you'll do one revolution and then just repeat it 10 times. OK. I find a greater angle works better typically, because as you do a repetition, sometimes what you'll get is you'll get a virtual stop, right. It'll stop and hesitate for a second, and then it'll do the next loop, and then the next loop, and then the next loop. And between every loop you get just a hesitation there. OK.
The drive tool is not something that you can leave active. You play your animation, visualize your drive, you visualize your motion, click OK or click Cancel, and then it stops and you're back to your base assembly. What it's meant for is, basically, that to see the motion of the component. And then you can optionally record that motion. So there's a little record button here, it's just a screen capture, is all it's doing. So you're not going to get render quality out of this. If you try and turn on ray tracing, and you're using just that realistic view in Inventor, it doesn't work with that. You can't have ray tracing on when you're doing this. If you need rendered quality animation, you need Studio, OK.
Studio's a little bit beyond the scope of this class, but you can do some pretty impressive things with Studio by changing parameters and changing constraint offsets and animating those and rendering the output. Takes a long time to do it with your computer, it's possible. I did a class, and I've got an example here, a Studio output that I did from a Studio class two years ago. that I can show you. Question over here?
AUDIENCE: How do you [INAUDIBLE] speed?
DAVID PONKA: Speed? Not well. Frame rate and steps. Yeah, so you don't have too much control here. One nice thing about the drive tool that-- I don't think this is in the presentation environment. You know, you can create similar animations in the presentation environment, but you don't get to control frame rate. So you can smooth out your animations here by upping your frame rate. I think default is 10, that's pretty choppy, right. You're going to see some very blocky motion, but you can bump that up to 25, 30 and see very smooth motion, regardless of your steps. Then the other way there is, yeah, the amount of your steps. The more steps you have, the slower it's going to run, OK. So that's the limit.
I'll show you here, this drive adaptivity at the end. That was the bonus area. I couldn't let go of this one. So I wanted to keep it into the class. I don't believe I put this in the handout, maybe I did, at the end. But we can use the drive tool to manipulate elastic components. So springs, belts, chains, things like that. If you've got larger assemblies and you want them to be animated as well, you can use the drive and the adaptivity tool to simulate that motion.
And so what we'll do is, we'll take my shock absorber, I'll put the spring in there at the end, and we'll see that move with the drive tool. Now, it will only work with the drive tool. You can't animate that by dragging, because it's a solid, you know, Inventor sees that otherwise as a solid component.
OK, so drive tool. So here's some animations, right. So we can see, what I would do is basically just change, set a start and an end. Start my drive tool, and these are recordings that I've made right off of the tool in Inventor, and then pulled them into my slides. OK, so there's a steam engine on the right, and then there's my gearbox from the first robotics chassis here on the left. OK?
So it can drive those adaptive features, changing component size. Maybe it's just a positional change in a regenerated position. You can use your drive tool to do that kind of thing, OK? You cannot drive. So one key point there, one key takeaway is you cannot drive something that has no constraint. So where we started, was right where, if I want motion, I just don't constrain it. And I let that [INAUDIBLE], or whatever I'm animating, and I just leave it open. Well, I can't drive that. I can't represent motion that way. I need a constraint so that I can act on the offset in order to drive it. All right? Because a drive-- it's a constraint action. It's an action on a constraint or on a joint.
So let's take a look at this. We'll do the contact solver if we've got time. But for now, what I'm going to do is, I'm just going to show you. So here's my gearbox. Here's where we left this. Right? So it will rotate this way. And I want to actually drive that. So just like we saw in the slide there, I want to drive this motion. So what I'm going to do is just come down to constrain, I'm going to add my angle constraint.
I'm not picky here, so we'll pick this here. Set the offset to zero, click OK. All right. Now this won't move. Right? So I've got my angle constraint on there. I've sort of wrecked the motion that I wanted. I could technically, you know, just suppress that angle constraint, but what I'm going to do is I'm going to drive it. So to drive this angle, just right click.
And what you'll see here is you'll see your drive option, OK? You can't drive-- I think I've said this already-- you can't drive motion constraints. You can't drive a transitional constraint because they don't have an offset. Right? They have a ratio, or they have a linear distance that manipulates the motion of the component itself. You can only drive joints and constraints with an offset value. OK? All right.
So I'll start my drive command. There's my dialog box. And what I'll do is I'll just take this from zero degrees to, let's do 720. OK? That'll be enough for this. And I'll just play forward, OK? And there it is. So that's a drive tool. Couple of things that are not in the handout, but things you might want to know with the drive tool, is that if you are recording this, when you save a file name, so you've got two options here. .wmv and .avi. My preference is .avi, but only because when you save an .avi, you can install other codecs, right. Compressors, basically. To create a better quality video.
If you leave these, kind of, just to the defaults, the default options here that you end up with are pretty much these ones out of the box. And the fully uncompressed one at the bottom. The problem with those is either the quality's pretty poor, or the video file is enormous. For 10 seconds you'll end up with like a gigabyte or so of video. Depending on your screen resolution. So the nice thing about the .avi file, when you're recording that motion you can install other compressors and they'll just automatically appear in there. OK?
So if you just install, you know, H264. I don't know how much you guys know about that kind of stuff. But if, you know, you can go on the internet and you can find all kinds of stuff that you just install on your computer. Next time you run this and you save a file, it'll be in the selection list. As you see, the one that I've added in here. The one that is used on my slides for those videos is this, the XVid one.
AUDIENCE: Is that what the configure button's for?
DAVID PONKA: The configure button, yeah. It changes the settings of the codec you've selected, of the encoder you've selected.
AUDIENCE: How do you import the codec?
DAVID PONKA: You have to install it. So it's like a third party tool that you basically download and install on your computer, and it'll just appear in the list. If you pick the .avi file. All right. So that encoder is one of the greatest things in terms of quality of your recordings. You can't render this, but you don't want it to be pixilated.
You know when you're watching a Netflix video, right, and maybe your son starts a video game online or whatever. At my house I've got sort of the bottom tier of the internet, and my Netflix video will be a little bit pixelated for a little while. So that's the kind of effect that you'll see if you have the wrong compression settings. OK?
I can expand this out further and you can see inside here. So there's my drive adaptivity This does do collision detection as well, so if you're offsetting linear or maybe even a rotational and you hit something, you interfere with something, it does not have to be something in a contact solver. It just has to be some component in your assembly, and it will stop and alert you at what offset value it hit something else, OK? I don't have an example of that, but that's what your collision detection does. There's no settings, it's just on or off. Yes.
AUDIENCE: How precise is the [INAUDIBLE]?
DAVID PONKA: It depends on your steps. So if you've set your steps really accurately, what it will do is it'll stop as soon as it hits, and then you'd back up the next step with your offset, and then that's where you won't get the collision. What it will do is it will alert you up here. So it will stop when it hits a collision, and the value that's displayed here, the position, is the collision position, or the offset value at the collision.
And the reason that's important is because your steps here, whether you're using a value or a number of steps, that's the accuracy at which it will detect. So if it's one millimeter and it hits something, when you pick a half millimeter, right, it's going to go further. Or if I pick 0.75 millimeters, you're going to get a little bit of a different value there, potentially. OK? So there's no settings there, it's just on or off.
I don't need a drive adaptivity in this assembly because nothing's adaptive. It all just works, right. Nothing's changing size, nothing's dependent on anything else in the assembly. All right. I'll show you the contact solver. I hadn't really planned on this. I think I've got it. I do not. So my contact solver.
OK. So here's not constrained, right. Yeah, we don't constrain moving components because I want to see them move. And I might say, well, it's good enough just to use a contact solver. What the contact solver would do here is, I'm going to take this component. So my piston at the bottom right down here, right click on it, and in this menu there's contact set.
So to add components into the contact set for the contact solver, you have to right click on the component and select this contact set button. And you can see over here there, it's added that icon. Now remember, I said I needed two because I'm not going to collide with anything in itself, I need other components. So I'll pick, what else we can we pick here. The plug at the top, it's probably a good one. Add that to the contact set. And the overall housing is another good one. OK. And now, it's still not working. What have I forgotten to do?
AUDIENCE: Turn it on.
DAVID PONKA: Yeah, I've got to turn it on. OK, so, good answer. All right. Inspect, it's over here, so there I'll activate my contact solver. And now, you can see, as I hit these components, it's not perfect, right, but it's restricted that motion. If I wanted to get this more accurate, I really need to add the top retainer here so it doesn't interfere with the plug. And you can keep adding components until you've got everything you need, but like I said, you've got to be careful with how much you add. You can see it's already a little choppy, but let's see if I can do this. Sometimes I have an easier time than this. See what happens there?
So if you drag it faster than your CPU can process a collision, you can go right-- you can blow right through your collisions. So that's where it, you know, as you add more components into your contact set, that's more likely to happen. And I've only got three in mine, and my computer's, it's not old, but it's not new, either. It's three years old now, right. Two, three years old. So if I can do it here, it's probably going to be pretty easy to do if I added six, seven components into that contact set. And like I said, when you're not running it, turn it off. You don't have to take the parts out of the contact set, but turn that guy off when you're done with it. Just so you're not using that CPU. OK?
All right, back to the slides here. OK. So we've got time. How are we doing on time? Well, I got about five, ten minutes left. So I'll just show you a quick example of driving adaptivity. So we add the spring into our shock. It's not a complete assembly without my spring in there. So when I drive this, I want that spring to change shape. There's a little bit you have to do to the design of the spring itself in order to enable that. In this case, what I've done so that I've got a flat landing on the spring here, is we've got basically drawn a cylinder, made the cylinder adaptive, and then used the Intersect option with the coil feature to remove everything but the spring.
That feature, the coil feature itself, does not need to be adaptive. The cylinder that I've drawn is adaptive. I'll show you that if you're curious about how that's built. And then I constrain each-- so that's given me, the cylinder has given me flats on each end of the spring, right, so that I can actually constrain it into the retainer and into the adjustment nut at the bottom. And then once those are constrained, now I can use an offset position of a constraint to actually control the spring.
And if I want to animate that spring changing, I'm going to use the drive tool. You can't click and drag. There's just no way, unfortunately, for components, elastic components like springs and belts and things like that, there is no way to click and drag and change their size. You have to use the drive tool, or you have to use a constraint with an offset. And if you use the constraint with the offset, you can have position one and position two, maybe using positional reps. And you can move those, and you can have it change position in the spring update, but you can't have it animate. You're not going to be able to drag it, OK.
Another thing to mention is that if I have two of these in an assembly, let's think a little bit about an RC car. You can have one on one side, one on another side. If this is a sub-assembly in my RC car, what's the problem with that? They both change together. So if I'm trying to show, you know, marketing videos like to show one wheel up and one wheel down and stuff like that for cars and buggies and things like that. I'm not going to be able to do that directly with this. Because that component will be in one position if it's the same component in both assemblies
AUDIENCE: So you make two different components, [INAUDIBLE].
DAVID PONKA: You'd need two assemblies, and you'd need two springs. In some cases, you can use flexibility. Flexibility will show a component and a sub-assembly in two different positions. I don't believe, I'll have to check, but I don't believe flexibility will work with adaptive components, though, because it's the actual part itself that's changing. Flexibility is more meant for, my vise can be in two different positions and I'm going to show it, you know, open in one part and close in another part in a greater context.
OK. So to allow adaptive motion, you can have adaptive features, right. So if it's my cylinder that's changing size, I could just make the feature adaptive. If it's something like-- does anyone remember the old, there was, I think it's still around, the scissors? As the sample files that came with Inventor? It was like a three-part assembly and it had the spring in the middle? That's, think of it, if you guys haven't seen it, think of it as like a Swiss army knife scissors. Right, you know where you flip it out and it's basically got a little piece of spring steel in there and that's what controls it. So that can be adaptive. The spring itself. And all you do is just leave a sketch dimension out that allows that angle in the sketch to move. And then if you extrude the spring, then that component can change by enabling the adaptivity on that feature. OK?
OK, so there it is. I check off my drive adaptivity, change the same constraint, and you can see I can animate that and I can record. And all I've done is just recorded that and then re-looped it. And so there's my spring changing based on those adaptivity settings being enabled. OK, so one size only, like I mentioned, OK. Enough of that.
This is the one I did with Studio. So Studio gives you lots more options if you need rendered quality outputs. This is not adaptive. In this case, what I'm actually doing is I'm changing a parameter value, and I'm using Studio to change the value of a favorite parameter that controls the offset value of that spring. So it's a little bit of a different setup, I wanted to put that in there.
Does anybody recognize this component, where this is from? I don't know if you've ever seen the demo set that Autodesk has for the [INAUDIBLE]? We used to have it on the exhibition floor the last couple of years. I didn't see it this year, but this is a shock absorber out of the Mono, that's what that is.
OK, and it's got kind of the same setup, right. So you've got a retaining ring here that's adjustable, and all that. OK. So moving on from there. I mentioned flexibility, right. Flexibility is something that you'd turn on each component. So, or each subassembly. You can only make a subassembly flexible, right? But flexibility allows you to have the same subassembly in two different positions within an assembly, or three different positions, or four different positions. If you've got it five times, you're going to have them all in different positions. But you need it to be flexible. If it's not flexible, they will all be identical all the time. That's what the tool's meant for. Just like the contact set, it's in the right click menu on a subassembly. So you'd pick your subassembly, right click on it, and it was just a flexible option in there, turn that on, OK. And it's shown by those little double piston icons.
OK, so last one here. We're getting close to the end of this, but I'll show you this real quick. I've got this, no, that was when I was going to show-- we didn't do that one. Let's do drive constraint. OK, so here's my spring. Nothing moves. Well, OK, so I lied. So that moves. But what I'm going to do is, I'm actually going to drive the constraint. If I go into my relationships, right down here. This is my offset value for that spring. OK? My spring itself is adaptive, so we can see down in my model browser, there is that adaptivity icon. This won't work if that component is not adaptive. So if you're changing those flexible components, adaptivity has to be turned on. Again, that's a right click option here.
I'm going to make the component adaptive. That might happen automatically, right, you know, if you project geometry and you're doing things like that, adaptivity just turns on automatically. There's times when you want to turn that on and off as you're building your assembly. So that's where it is. The component itself, I'll open this up. The component itself has to have adaptive features. So you can see up here my extrusion is adaptive, and really what I've just done is, like I said, extruded the cylinder, and then used the Intersect option with my coiled tool to give me the spring that I need. What that's done is that's given us the flats here that I can use to constrain. Without those, it's a little bit challenging to constrain us.
So let's just show it. It's common practice to name the constraints that you're actually going to drive, just DriveMe. That's fairly typical with Inventor. So if you're going to animate something just rename the constraint DriveMe. And you can be more descriptive than that, but it helps you find it in a giant list of constraints later on, right. So I'm going to right click on this guy. Just say Drive.
Expand this out. So I've already got my start and my end. So it's only 10 millimeters, which is really small. But drive adaptivity is turned on, and if I play it forward, you can see that move. Now it's pretty choppy onscreen because it's got to stop to calculate every position. But when you record this to a video, that's when it will smooth out, depending on your frame rate and your number of steps and so on. OK? OK. Any questions on adaptivity? Yes?
AUDIENCE: Real quick. The spring itself you actually did as a cylinder, right?
DAVID PONKA: Yes. Yeah. The reason I did that is so you get the flats, right. And then the flats I've constrained, I don't have my laser pointer on me, right. But those flats are constrained on the bottom of the retainer, on the inside of my washer here. And that's--
AUDIENCE: So what you do is, bringing in a new [INAUDIBLE] on it?
DAVID PONKA: As a second, like, just cutting into it and using it? Yeah. Good. Yeah. Yeah. OK. So I think that's it. All right. So maybe not everything that we dream of, in terms of being able to click and drag components, but that's the ins and outs of moving components and motion in assembly and kind of the basics. There are more options. Maybe next year, I'll get a more advanced class going, and we can do [INAUDIBLE] Representations, we can do Studio, and we can do some other things like that with some more advanced stuff. But, so that's it. I'm a fan of this stuff these days. We're doing some new things, so bring this in for a landing. And thank you. All right.
[APPLAUSE]
Don't forget the surveys. And enjoy the rest of the day and the show, and if you guys see me in the hall or whatever, stop me and let me know. If anyone has any questions, I'll be back at the office hours at 5:30, too.