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.
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.
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.
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.
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?



