Subscribe in a reader

Enter your email address:

Delivered by FeedBurner

May 2009
M T W T F S S
« Apr   Jun »
 123
45678910
11121314151617
18192021222324
252627282930  
Disclosure:

DS SolidWorks provides me with a non-commercial license of SolidWorks Premium. They have also invited me to press events and conferences, such as SolidWorks World, free of charge and, at times, they have also provided for accomodations, some meals and transportation. I don't, however, receive any payment for blogging or instructions on what I should write about. Everything that I post in this blog is my own opinion and does not reflect or represent in any way the ideas of DS SolidWorks.

Archive for May 26th, 2009

As I had mentioned previously, and also in a comment to my last post, I’m  currently teaching myself SolidWorks Motion, with the aid of the official  2009 training manual. I’m really enjoying the exercises and examples provided in the book, and the way everything always turns out as predicted in the lesson.  My problem began, however, when I tried to use Basic Motion to run some examples of my own. 

For those of you that are not familiar with SolidWorks Motion, let me explain briefly that there are three different modes that can be chosen from the Motion Manager:

·         Animation, MotionManager animation. Used for basic SolidWorks Animations

·         Basic Motion: MotionManager advanced animation. Used for more advanced SolidWorks Animations where more realism is required. This solver accounts for some aspects of dynamics such as inertia, contacts etc., so the animation is realistic.

·         Motion Analysis: This is SolidWorks Motion solver, rigid body dynamics solver that provides accurate numerical results (displacement, velocities, forces, etc.).

It is clear for me now that these are two different products: SolidWorks Animation, if you want to call it that way, and SolidWorks Motion, although both accessible from the same MotionManager. Anyway…  My problem seems to be then with the animation part of it, more particularly with Basic Motion.

The problem became evident when I tried to simulate the movement of my arbor press assembly. I wanted to show the gear rotating and transmitting that movement to the rack. For this purpose, I used a rotary motor on the gear and the rack and pinion mate took care of the rest. My animation would’ve shown the rack going down until, like in the real thing, the rack pad met with the table and the movement had to stop.  Animation mode couldn’t do this for me because in this mode the movement of the components with respect to each other is constrained basically only by the mates you add to the assembly, and it doesn’t simulate physical contact between components. In other words, if two components come in touch, they can go right past through each other and the collision is never detected.

arborpress

I decided to use Basic Motion, which is the advanced animation mode because it simulates physical contact between components in the assembly. Of course, you have to tell SolidWorks  which components are to have contact between them, but once you add a contact the simulation is supposed to acknowledge it and produce results accordingly. In my case, adding a 3D contact between the rack pad and the table should’ve been enough to stop the movement when the two components came in touch and prevent the rack from going through the table as it did before in Animation mode. Only it didn’t work.  The contact I had added between the table and the rack pad was not acknowledged and the rack again went through the table, just like it did in Animation Mode. The funny thing is that I created a second motion study, again in Basic Motion mode, and I tried using a linear motor on the rack, instead, and this time the contact between the table and the rack pad was acknowledged, although with a bit of penetration.

I have been searching for answers on this and trying different things, just hoping to figure out what it is that I’m doing wrong. I tried adding gravity to the simulation, again in Basic Motion, and I observed something unexpected:  the contact between the table and the rack pad was suddenly acknowledged, and the motion stopped when the two components came in touch with each other and without any penetration at all.  However, the effect of the rotary motor in the simulation was absolutely null. I know this because I changed the direction of rotation of the motor, to make it now move the rack upwards, but the rack continued to go down by the effect of gravity, as if the motor wasn’t even there.  A linear motor on the rack, however, did move the rack up in this case.

Puzzled by all this, I went to the SolidWorks forums and found that some other users had seen similar results when using motors and contacts in Basic Motion. One of them suggested the possibility of a bug. It kind of felt nice to know that I wasn’t the only one seeing this; but still, it gives me no answers and no solution for the problem. I was more and more confused by the minute… I mean 3D contacts and rotary motors sure worked for the examples provided in the book, why wouldn’t they work for my own examples? What was I doing wrong?  It was then that I ran into a particular exercise in the training manual that included a rack and pinion, very similar to mine. The example is a catapult that uses a rotary motor to move a group of gears and a rack and pinion mate to transmit the movement of the gears to a rack that pushes a small trigger attached to its end. This trigger must come in contact and push a second trigger which is part of a projectile holder mechanism.  For this to happen, a 3D contact must be added between the two triggers.  While this example works beautifully in Motion Analysis mode (remember this is the SolidWorks Motion solver), I discovered that, just like mine, it won’t work in Basic Motion.  Basically, both triggers will simply go past through each other, never acknowledging contact between them, never detecting a collision of any kind, and that kind of ruins the whole animation, don’t you agree?

I took a look again at the exercises from the training manual where rotary motors and contacts had been used successfully in Basic Motion mode and noticed that they didn’t involve the use of gear mates or rack and pinion mates at all. I ran a quick and simple example of my own using the two components in the following image. The idea was to use a rotary motor to rotate one of the two components and add a contact between them, so the movement of the first component would cause the other one to move once they came in touch with each other. This worked fine in Basic Motion mode, and is basically what the examples of the training manual were like.

rotormotion

Next, I added two more components just at the right distance from the first two, and contacts between them two and between the two sets of outer rotors, and again, the simulation ran perfectly fine in Basic Motion, and pretty soon I had the first set transmitting its movement to the second set, the motor worked, the contacts worked. 

rotormotion21

The problem came when I removed the contacts between the two outer rotors and added a gear mate between them instead. When I ran the animation in Basic Motion mode, the contacts between the first set of rotors are ignored and the first rotor can’t even seem to be able to complete one full rotation; it remains stuck half-way through it. Other unexpected results are also observed.  Needless to say that the example runs perfectly fine if I change to Motion Analysis, but as I was told, that’s  the Motion Solver, completely different from Basic Motion, which is simply an advanced animation mode.

So, I guess this means that gear mate and rack and pinion mate aren’t really supported in Basic Motion mode in 2009? Is this a bug or was it always supposed to be this way? In case it is supposed to be this way, what other mates aren’t supported? I’ve searched for information about unsupported mates, but haven’t found anything about these two mechanical mates so far. IF it is a bug (bad bugs happen to good software too), I just hope it gets fixed soon. I really enjoy using SolidWorks, and it’s a little discouraging when it doesn’t quite perform as expected.  Anyone has any ideas on this or has observed this before? Anyone has found a fix for it?