Subscribe in a reader

Enter your email address:

Delivered by FeedBurner

September 2008
M T W T F S S
« Aug   Oct »
 1234567
891011121314
15161718192021
22232425262728
293031  
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 September 25th, 2008

I got inspiration for this little tip from a question sent to me while I was in Barcelona, last week.  It wasn’t until now that I got a chance to take a look at it and send a reply, so I hope it wasn’t too late for the person that asked the question. Anyway, this person had a simple assembly in which a couple of pneumatic cylinders were mounted on two identical pillars (one on the left and one on the right),  and they were mated to and pushing one side of a flat component that was mated to both pillars on its other side, like a hinge. The whole assembly reminded me of the slats and flaps in an airplane’s wing.  As I said before, the assembly was a very simple one, all concentric and coincident mates, nothing out of the ordinary. However, for some strange reason, it was full of errors!  The feature manager looked like a little Christmas tree and many of the mates had warnings or couldn’t find solutions at all…. But there was really nothing wrong with those mates! 

The assembly contained a couple of flexible subassemblies, one for each cylinder, so I decided to take a look at them.  When opened in their own windows, the subassemblies worked just fine, no errors, nothing was over defining them. So, what was wrong?  I tried recreating the assembly from scratch, mating each component one by one, and it all worked fine until the moment I added (and mated) the second cylinder to the mix… I tried with the subassemblies as rigid, instead of flexible, just in case, but the same happened…  Hmmm… But why? Both cylinders were identical! In the end, I came up with what I think may be the solution. Let me explain.

First of all, I didn’t want to post this person’s assembly here, just in case it was part of some private project, so I created another very similar example, only using a couple of rods as a subassembly, instead of the pneumatic cylinder. Notice how the assembly is full or errors, despite being so simple. And “What’s wrong?” doesn’t give me much information either.  It would seem like most of my mates are over defining the assembly or can’t find a solution, just because.

Subassemblymates1

Perhaps this will give away the answer that I came up with, but I do have to mention that the mates in this person’s subassembly included a Limit Distance mate to prevent the piston from popping out of the cylinder when the assembly was in motion.  In order to recreate that in my subassembly, I added a Limit Angle mate between the two rods. When all components are put together, this limit angle mate should not only limit the movement of those two rods respective to one another, but it should also determine how much the flap can rotate around the hinged side.

Subassemblymates2

So, did you figure it out yet? Yes? No? Well, something changed for the better when I suppressed the Limit Distance mate in one of the cylinders. Suddenly, after rebuilding the parent assembly, all the errors in all the mates were gone, just like that! A similar thing happened in my assembly.   

Subassemblymates3

In my assembly, I suppressed the Limit Angle mate in only one of the subassemblies. It was OK to leave it in the other subassembly, though.

Subassemblymates4

So, I have this theory that it was precisely the Limit mate that was over defining the assembly, not because there is anything wrong with the mate, since it works great in the subassembly by itself, but because when all the mates get solved in the parent assembly, having the limit mate in both subassemblies (same ones that are mated to both sides of the flap) is almost the same as applying it twice to the same components. In fact, I did a little experiment eliminating the subassemblies and applying a limit mate directly between the flap and each pillar. I was able to apply one limit mate on one side, but when I tried to apply the second one, I got a warning that it would over define the assembly.

So, what do you think? Is my theory right or wrong? Has this ever happened to you?