Archive for June 3rd, 2009
As I mention in my last post, I was encountering a series of issues and strange behavior when running some examples in Basic Motion. While I’m still waiting for what SolidWorks developers may have to say about this, I was very lucky to hear from someone that really knows his stuff when it comes to Animation and SolidWorks Motion. Jim Boland, who does not represent SolidWorks Corp., but has worked as a contractor for SolidWorks for many years in the development of training materials, including the original Animator training manual, took a look at my arbor press example and made a few comments about the issue that I find really interesting and think may be useful to others, as well. As I said before, these are Jim Boland’s thoughts and do not speak for SolidWorks Corp. or the software developers, but you may learn a thing or two from them. Trust me! So, here it goes…
What made me contact you was that the Arbor Press video you made was right along the lines of what I’m doing in many of the case studies in the book in that it shows multiple ways of achieving the desired results. In all the years of teaching SolidWorks, I always get the standard question of “What’s the right way to do this……?” My response has always been the “right way” is whatever way allows you to achieve your design intent and the “wrong way” is what keeps you from meeting the design intent. That said, among the many “right ways” some are better than others because they are easier to solve, more flexible to change, etc.
After just attacking the problem of the contacts in the Arbor Press head on, I finally took a step back and looked at the broader picture, so here are some thoughts.
- Why would you ever want to use Basic Motion instead of Animation for this video? Over the past 9 months, Jindrich and I have had lots of discussions about the three products and the correct use of each. If you look in the SolidWorks Motion book, there is a section on page 225 about Kinematic Systems vs. Dynamic Systems. To help clarify this issue, I’ve spent some time in the new version of the book talking about this difference and the fact that as a general run, you use Animation for Kinematic systems and Basic Motion for Dynamic systems. The Arbor Press is a Kinematic system because for every position of the rotating shaft, there is one, and only one, position for every other part. Always remember that our goal is to create an animation, NOT an analysis. If I use Animation instead of Basic Motion, it can be done in half a dozen different ways in a matter of seconds and I can be off to the next task.
- One confusing comment in the Help and tooltips is that you get a more realistic result with Basic Motion over Animation. I think that’s a simplification in that it is true for Dynamic systems but not for Kinematic systems. Look closely at the case with the linear motor. While motion stops at contact, there is visual penetration, which is unrealistic. In a simulation run, that’s expected because we are using a mesh to define the boundary and material properties are considered, so it is OK. In an animation it’s not OK, but I can easily fix it in an animation by turning off the drive motor at the correct time or drive the motion with a distance mate.
- What do we expect the results to be when using Basic Animation with a motor driving and Contact between the table and rack pad? Besides the two situations you did, where you use the rotary motor and linear motor, I also did two other studies where in one case I used the rotary motor but replace the rack and pinion mate with contact between the two gears. In the other I used a double rack where a linear motor drove the first rack which drove the pinion which drove the second rack. There were three different results.
- Rotary motor and rack and pinion mate. Problem solves but does not stop at contact.
- Linear motor, no mates involved. Problem solves and stops at contact.
- Rotary motor with gear contact. Solution stops (fails) at contact and timeline shows in red.
- Linear motor with double rack and pinion. Solution stops (fails) at contact and timeline shows in red.
The question is which is correct? I would think that the third and fourth cases are correct as we have an over defined system. The motor is told to keep driving but the contact prevents it. Kind of like putting a coincident and a non-zero distance mate between two faces. It cannot solve both cases simultaneously. Then the question becomes, if the third and fourth cases are correct, why does the linear motor case you did solve without error? Simple answer is I don’t know. That’s what the developers will have to tell us.
- When Basic Motion is used with a Dynamic system, contact is normally the result of a component rolling on another, or impact where both components are still free to move. When Basic Motion is used for a Kinematic system, we run into a problem because the parts are not free to move after collision. I think this is what gives us the two types of errors, either contact is ignored or the solution fails.
- If we were doing an analysis, we wouldn’t use a motor unless it had a control to turn it off at contact or at some load. Otherwise either the motor would burn out at contact or the gears would fail. In reality, we would define the analysis with a force rather than a motor. In that case the contact should stop the motion properly.