Why on earth would Onshape fundamentally change the way mating works?
Experienced SOLIDWORKS® users know that with the mate triplet of coincident, concentric and parallel, they can pretty much mate any two parts together.
Adding a new part to the assembly and the simple addition of three (sometimes just two) mates does the job. So what's wrong with that? Well, a few things actually:
- The sheer number of mates needed. “Individual results will vary,” but on average a SOLIDWORKS user will generate 2.5 mates per part-pair.
- That’s a lot of clicking, and 2.5 points of failure per mate.
- An organizational challenge if all 3 (or 2) are not applied consecutively. Which mates define the position of the part? Yes, there are tools to help match mates to parts and chains of dependencies, but these tools are to help with the problem, not solve it.
- The fragility of mates with respect to geometry changes. I could fill this post with simple cases that break every mate. This problem is compounded by the number of mates that have to remain “solvable” in order to correctly position a part. Think how many times you have opened a SOLIDWORKS assembly and the tree is a sea of red! Did you change anything? No, they’re just all broken. It's frustrating and can take a long time to fix.
- With multiple mates defining the moving relationships (degrees of freedom) between the parts, it’s not clear exactly how many degrees of freedom exist because you don’t know if there are additional mates related to these parts further down the list.
Ok, so there are clearly problems that manifest themselves as clicks and fragility. How can we make this better?
Onshape’s Approach to Mates
What if you could join any two parts (or sub assemblies) with a single mate?
What if that single mate also described the degrees of freedom between any two parts?
When SOLIDWORKS users first start using Onshape, it’s normal to replicate the workflows that they are familiar with (and of course, those work in Onshape, too), but with a slight tweak to the thought process, it’s possible to realize all of the benefits listed here.
In a nutshell, imagine a coordinate system attached (at some point, or some point relative to) each of the parts:
Imagine now that there was a definition encapsulating the degrees of freedom that exist between the two coordinate systems:
These degrees of freedom could be individually set, but also easily packaged into groupings that describe the mechanical joints that exist between them.
Here are just 4 examples:
1. FASTEN– a relationship with zero degrees of freedom. This describes “gluing” two parts together.
2. REVOLUTE– a relationship with one rotational degree of freedom. This describes a hinge.
3. CYLINDRICAL– a relationship with two degrees of freedom (one rotational and one translational). This describes a telescoping rod.
4. BALL– a relationship with three rotational degrees of freedom. This describes a “ball and socket” joint.
These are only a handful of the very powerful and easy-to-use mate types built into Onshape. By using them, it becomes not only much easier to define the position and motion between two parts, but also the ability to do so in a clearer and more resilient fashion.
As fun as these engines are to build, don’t let the simplicity of the mating structure mask the sophistication of the tools. This “joint” approach works all the way up through complex relationships such as those found in gears, rack/pinions, sliding/rolling tangencies and screw mechanisms.
Mate Connectors in Onshape
Other things that a SOLIDWORKS user sometimes look for but cannot find, are the default assembly planes!
How on earth could we have forgotten to put those in?
Obviously, we didn’t. Instead there is a magical entity in Onshape called the “Mate Connector.”
This deceptive beauty is simultaneously:
- A coordinate system
- An origin
- 3 Planes
- 3 Axes
With it you can move, orient and mate any part (including any linear or rotational offsets) as well as teach parts how to automatically mate when added to an assembly (think “mate references” and “snap mating” in SOLIDWORKS).
These are just a few of the differences (and similarities) between the way mating is achieved in Onshape vs. SOLIDWORKS. It takes just a few minutes to feel them out (please do), but to get the maximum instruction and benefits, I would like to point you to a couple of resources.
The second is an “Onshape Assemblies for SOLIDWORKS Users” webinar recording that walks you through these differences with real world scenarios and use cases.
Please feel free to give Onshape a whirl and discover for yourself what’s now possible. If you need help, the Onshape Forums is an active and engaging community where you can troubleshoot (and usually fix!) Documents you share as a public link.
Now go make something awesome!!!! :)