Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.First time visiting? Here are some places to start:
- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
Moving multi-jointed/multiply-mated assemblies (inverse kinematics in OnShape?)
Is there a detailed description somewhere of how OnShape handles part movement in multi-joint chained assemblies? Specifically wondering about why it seems like sometimes moving a part at the end of a chain appears to work as expected (ie pretty much how it would in the physical world, presumably using inverse kinematics calculations?) and why it sometimes seems like there is only one degree of freedom accessible.
Take, for example, the following simple, multi-pivot hinge:
The lower section of square tube is fixed, the "hinge" piece is revolute-mated, to that lower tube section, and then the upper tube section is revolute mated to the hinge. Dragging the top tube around only seems to affect the last revolute mate (between the hinge piece and the free tube), but not the revolute mate between the fixed tube and the hinge piece, so the top piece's total movement is constrained
(mouse isn't shown, but this screenshot is taken while trying to drag the top tube up and to the right. note the hinge bar is still vertical, when in reality it would also rotate to extend the range of the upper square tube piece further up and to the right)
Of course the full range of motion can be explored by moving each of the joints individually, but for getting a sense of part movement (and especially with longer/more complex chains), it's handy to be able to just move the outermost part and have the rest follow. Is there something I can be doing differently in constructing these chains to make sure that's consistently possible?
Also, relatedly, is there a simple way to reset all mates? I find myself frequently "right-click -> Reset"-ing each one in these chains, and often resetting one will mess up another that had already been reset. Maybe just always setting a named position in the default state is the best approach?