
Fully constrained with no mates???

Fixed I can understand, but this part wasn't fixed and had no mates, yet was unmovable and showed as being fully constrained.Michael Lydon wrote:
I have seen this often. We are running SW2007 sp2.1. I insert a component into an assembly, and it comes in fixed. All I have to do is float the component and insert the desired mates.
Ray -Ray Packard wrote:
I guess I'm mainly trying to understand how it could happen so I can avoid the problem in the future..
Ray:Ray Packard wrote:
[Fixed I can understand, but this part wasn't fixed and had no mates, yet was unmovable and showed as being fully constrained.
Thanks Gerald. It looks like you and I are in agreement on methodology except that I tend to use fewer subassemblies than SW would like because it creates more recordkeeping work for me. I use no limit mates at all, as I've found that the only thing they limit is the ability of the model to resolve.Gerald Davis wrote:
Ray -Ray Packard wrote:
I guess I'm mainly trying to understand how it could happen so I can avoid the problem in the future..
Internally, SW resolves mates in a matrix of "simultaneous" equations. Mates are not processed in a linear sequence (the way that you and I as humans create and edit them).
Remember - an uncontrained object has 6 degrees of freedom (3 rotation + 3 translation). If you fully constrain an object with 3 coincident mates you've created 9 equations and several of them will be redundant.
The benefit of the matrix approach is speed. The negative consequence of matrix processing is an occasional glitch as you have discovered. The frequency-of-glitch is proportional to the number of mates.
Workarounds:
> use subassemblies to organize the mates to reduce the complexity of the matrix solution.
> don't "waste" time by constraining degress of motion that don't matter (e.g. let bolts spin in their holes).
> minimize the number of limit mates ("advanced mates" et al are burdensome).
> when troubleshooting use suppress/unsuppress to trigger the matrix re-solve.
> if that doesn't do it, then resort to delete / recreate as you did (after capturing the problem with SwRx).
> use patterns of components whenever possible (faster and fewer mates)
> be judicous with the use of flexible subassemblies.
> use mates that require a minimum amount of processing (e.g. mating to a filleted surface is more complex than mating planes or origins).
There are undoubltedly flaws in the strategies employed to solve the mate schema. When you encounter one (as you did), record the event with SwRx and submit the zip to your VAR. Your report will find its way into the hands of developers (programmers) who really want to please you with their work!
Don't mean to derail the thread, but I'm curious about the difference between the way SW lets you build assemblies, and the way ProE does it. I found ProE to be possibly faster at regenerating an assembly, but man, was it a pita! It doesn't allow circular referencing (part A mates to part B, part B to part C, and part C to part A), and if a part higher up in the assembly tree had a problem the whole assembly would explode, and ProE doesn't allow you to work in an assembly (or part for that matter) that has any failures in it.Gerald Davis wrote:
Internally, SW resolves mates in a matrix of "simultaneous" equations. Mates are not processed in a linear sequence (the way that you and I as humans create and edit them).
In addition to the other comments, I ask one question. Is your component within a subassembly that is constrained? You can have all mates of the component blown away and still have it fixed because it is within a fully constrained sub-assy. Just a thought.Ray Packard wrote:
Ok, I give up. Can anyone tell me how a component can be fully constrained, despite having no mates, no external references, and not being fixed in space?
atleast in my situation, it's not part of a subassembly.Matthew Lorono wrote:
In addition to the other comments, I ask one question. Is your component within a subassembly that is constrained? You can have all mates of the component blown away and still have it fixed because it is within a fully constrained sub-assy. Just a thought.Ray Packard wrote:
Ok, I give up. Can anyone tell me how a component can be fully constrained, despite having no mates, no external references, and not being fixed in space? [IMG][/IMG]
Yep, that's why I never use limit mates. Thanks for the suggestion, Jason.jason zaperach wrote:
Hello... I was having a look around for a problem I am having and I came across this conversation...
I notice that I have parts don't allow me to drag them because I have a limitAngle mate in my assembly... suppress the LimitAngle mate momentarily and then try to drag your part... once it's in position, you can unsurpress your LimitAngle mate.
This is for any and all LimitAngle mates in that entire assembly so look for them in your mates folder for easy access...
Why does it do this?.... I wish i knew... bugs? voodoo hex?
happy trails...
jz
:-D Temporal mating!Jeff Hamilton wrote:
That would be part of Solidworks new temporal mating. Solidworks reaches into the future and sees what you are going to do, and then automatically does it for you.
Seriously, I have seen this on the rare occasion. I usually have to detlete the part and then re-insert it into the assembly.
Good thought, Matt, but no, it was a top-level component with not mates at all.Matthew Lorono wrote:
In addition to the other comments, I ask one question. Is your component within a subassembly that is constrained? You can have all mates of the component blown away and still have it fixed because it is within a fully constrained sub-assy. Just a thought.Ray Packard wrote:
Ok, I give up. Can anyone tell me how a component can be fully constrained, despite having no mates, no external references, and not being fixed in space? [IMG][/IMG]
It's a shame though - because you can't deny how cool limit mates are!Ray Packard wrote:
Yep, that's why I never use limit mates. Thanks for the suggestion, Jason.jason zaperach wrote:
I notice that I have parts don't allow me to drag them because I have a limitAngle mate in my assembly... suppress the LimitAngle mate momentarily and then try to drag your part... once it's in position, you can unsurpress your LimitAngle mate.
Longer answer: Are you actually looking for some help with this? If you can post the file(s) we may be able to help. In the past I've had a situation where after I delete a mate SW won't actually realize it's gone until a full Ctrl-Q rebuild.