Amazing Mechanical Linkages And The Software To Design Them

Most of us are more bits-and-bytes than nuts-and-bolts, but we have the deepest appreciation for the combination of the two. So, apparently, does [rectorsquid]. Check out the design and flow of his rolling ball sculpture (YouTube, embedded below) to see what we mean. See how the arms hesitate just a bit as the ball is transferred? See how the upper arm gently places it on the ramp with a slight downward gesture? See how it’s done with one motor? There’s no way [rectorsquid] designed this on paper, right?

Of course he didn’t (YouTube). Instead, he wrote a simulator that lets him try out various custom linkages in real time. It’s a Windows-only application (sigh), but it’s free to use, while the video guides (more YouTube) look very comprehensive and give you a quick tour of the tool. Of special note is that [rectorsquid]’s software allows for sliding linkages, which he makes very good use of in the rolling ball sculpture shown here.

We’ve actually secretly featured [rectorsquid]’s Linkage software before, in this writeup of some amazing cosplay animatronic wings that used the program for their design. But we really don’t want you to miss out if you’re doing mechanical design and need something like this, or just want to play around.

If you’d like to study up on your nuts and bolts, check out our primer on the ubiquitous four-bar linkage, or pore through Hackaday looking for other great linkage-powered examples, like this automatic hacksaw or a pantograph PCB probe for shaky hands.

Anyone know of an open-source linkage simulator that can also output STL files for 3D printing? Or in any format that could be easily transformed into OpenSCAD? Asking for a “friend”.

53 thoughts on “Amazing Mechanical Linkages And The Software To Design Them

    1. It was actually a part of a course on mechatronics or perhaps it was mechanisms. We had to solve the math for a four-bar linkage similiar to one used here, and I built a generic model of it in Excel to see if it agrees with simulations done in Catia. The machine we were simulating had a similiar claw that would grab a beer bottle and flip the top off.

      It’s not exceedingly complicated, but the solution takes about two pages of math and futzing around with Euler’s Identity.

  1. I don’t understand what the author means when “their friend” asks for 3D printing support. They’re linkages of known length. You have to input the lengths into the simulator… Just print the linkages in the links you input into the application… I M CONFUSE

    1. I don’t think you confused. The lengths are in the simulator, and I want to get them (and the angles, and the joint types) back out so that I don’t have to do the next step (input them into 3D printing) myself.

      Code talks, though. I’ll work something out once I pick a modeller that I can get the data back out of.

      1. The Linkage program stores data in XML files. The units are 1/96 inch. All of the connector locations are there. You can also export a DXF file which might be useful elsewhere. The DXF export isn’t always perfect but it can be useful.

    1. I was playing around with solvespace just after I wrote the post up. Its linkage functionality is pretty cool, and you can easily spend most of an afternoon (IME) having fun with it. :) It’s really good for the sketching-out-linkages phase.

      But then when it comes to actually building the model, you basically start from scratch again with a bunch of bars and plates, and constrain them to fit the wireframe that you made. Totally workable, and demonstrated in the linkages tutorial, but a lot of (needless?) manual work transferring all the constraints over to a 3D model. That’s the part that I’d like to (quasi-)automate, and would be a piece of cake with a little Python and OpenSCAD if I could get the coordinates and type of each joint and the bar lengths and/or angles.

      Thanks everyone for suggestions!

        1. Hiya David! Most common format? For finished objects, just before printing? STL files for sure.

          But before you get there, there’s designing the shapes of the bars and plates and joints, etc — going from lines to physical things. The most popular format for specifying _that_ is totally arguable.

          Still, most of the mechanisms would work as essentially 2D, for which the DXF format seems to be pretty universal.

    1. I love Phun (AKA Algodoo. There is a wonderful community around it. I highly recommend this free program to all ages who want to play God with physics in a Phun way. :)

  2. Very cool simulator!

    The linkageXP.msi 3.7.5.0 version seems built with the SSE2 flag which compilers now enable it by default.
    So this version can’t run on AthlonXP+ cpus with only SSE instructions available, which probably are most common cpus still running XP.

      1. Wow! That was fast!

        I can confirm that this version 3.7.9.0 runs without crashing at startup in XP with an old AthlonXP+ cpu.

        And as far as I can tell the editor and realtime simulation all seems to work fine and quite snappy! Thank you!

      2. Don’t know if this problem is just XP related, but after watching the tutorial and checking the pdf doc can’t figure out what’s wrong.

        Only can edit the properties for links (size, name, etc). Trying to edit other elements like an anchor or a connector (i.e. to just enable the motion path drawing) popups a window warning to enter a number? (screenshot)

        1. Sorry that this is happening for you. I have not looked at this page in a while and missed some of the comments. Feel free to contact me at my email address in the Linkage program (if you have not done that already). I’ll look into internationalization issues and see if I can at least deal with commas and periods properly in numbers. But for now, the program is all American English and expects numbers with periods for decimal points.

    1. Looks like there’s a 3-year ‘free’ license for education, after that you pay. I don’t see any special license for hobbyists or startups. Not that I don’t believe it, but can I see a link to the page(s) that state those terms?

      1. The confirmation of this is notoriously buried on their site, but the way it works is that after the “free trial”, if you still qualify as a small startup or hobbyist, you can subscribe for free. The subscription must be renewed, but it doesn’t cost anything as long as they offer the hobbyist exception. Here’s an Autodesk support thread where they answer several variations on this question:
        https://forums.autodesk.com/t5/fusion-360-design-validate/is-fusion-360-free-indefinitely-if-your-a-hobbyist/td-p/6280628

  3. What’s the Windows only sigh for? Are we going to sigh about Linux only software too?

    I’ve used Linkage before, but found it to be a bit rough around the edges. It worth putting up with if you need neat linkages, though, as the alternatives seem much more tedious.

    1. Hi. I would be happy to try to smooth out any rough edges you found. You can find my email address in the software or elsewhere and send me a list of problems if you want to. I find it rough around the edges sometimes too. There’s no layer support beyond the mediocre drawing layer and selecting a 3+ connector link behind another 3+ connector link is painful since only the top one (internally) gets selected from the mouse click. I love to hear how people use the software and what doesn’t work right for them.

    2. Yes, we are. In fact, for most people, Linux-only is pretty much an automatic disqualifier when considering software. It’s becoming an “only anything” sigh. People choose their primary operating system for many, many reasons, and having to either reboot or (horrors) switch to a whole different machine for a particular task is annoying at the very least. Fortunately it’s getting better – just a few years ago, almost everything was developed for a specific machine architecture and operating system, and many of us had to have multiple machines to do our work. But the development of multi-platform development tools (Java, Qt, Python-based) have undermined most of the excuses for limiting development to one platform.

      About two years ago, I broke my Ubuntu installation on a MacBook badly, and remembering how painful it had been to install in the first place, I decided to see how much of the stuff I’m used to doing in Linux could be done in OS X. I was surprised to find that there were very few changes I had to make – most of what I already used was available for all the “big three” platforms. So yes, “Windows only” evokes a sigh. As does “Linux only” or “Mac only”.

      1. I’d prefer a Linux version over a Mac version and I imagine others would prefer a Linux version over a windows version.. the only question left is are you running it natively or on a virtual machine.
        Of course… anyone younger than me wonders why you wouldn’t just write it for the browser… and for some things I admit I find it hard to disagree.

    1. Can’t second that at all, unfortunately. I tried both the normal and the “XP” version, and in both cases the program loads fine with wine and can show/run the examples, but:
      * the “part list” and some other popup widgets don’t show correctly
      * the basic element selection when right-clicking on the canvas does show, but actually choosing one of those elements results in a segfault that quits the program
      * several other operations lead to such crashing segfaults
      => so for me, that’s unusable with wine

  4. Now that is a clever linkage, so much functionality from a single constant-rpm input shaft. Somebody get this man to work designing a motorcycle or car suspension system, stat!

    I’ve used Algodoo for (very occasional) linkage design. It’s not ideal, really more of a toy than a tool. I’m going to go through the options in this post and the comments and see if I can find a better piece of software.

    1. Too many spam registrations require that the site have blocking software. But my email address is available in the software and in the PDF documentation and I try to answer every email within a few hours of seeing it.

    1. As a student/tinkerer, been looking for FOSS (or otherwise easily accessible) software to get into linkage design for a long time.

      With psmotion’s mechdesigner, I’ve tried to register at their website a bunch of times over the years but never got a reply or trial link.

      Been getting into Solvespace over the past few days to simulate linkages.
      https://solvespace.com/linkage.pl

      Just discovered David Rector’s software, and it looks very impressive, and more that adequate for my needs.
      Sadly, being a linux user, I couldn’t even get the linkageXP.msi version to run under wine. (reportedly someone has?)
      So maybe I’ll give it a spin eventually in a virtual machine someday.
      As a sidenote, I find it a superb anecdote that the author of such software has an artistic background. Art+Engineering is a wonderful thing.

      Will all that said, I just came across Pyslvs-UI, https://github.com/KmolYuan/Pyslvs-UI, which apparently can use the solvespace constraint kernel as one of its solvers.

      I looks pretty neat, with a bunch of interesting features:
      https://www.youtube.com/channel/UCyxWu4iVnW1ei8iP03AKEZw

  5. There was a question about export of kinematic geometry to 3D printing. Please check out MotionGen Pro at motiongen.io for that. It has both kinematic simulation and synthesis capabilities and integrates well with their hardware kit SnappyXO (snappyxo.com). No download required as it runs inside a browser.

Leave a Reply to TGTCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.