Linkage Mechanism Designer and SimulatorFebruary 6th, 2013 (updated September 2nd, 2014)
Linkage is computer aided design software used for quick prototyping of linkage mechanisms. The number of operations needed to add a link and get it connected to other links in the mechanism has been minimized to the lowest number possible, making this program ideal for “throwing together” a working machine. The mechanism is edited and animated in the same window allowing for quick analysis and modification while working on a design. It is simplistic for a CAD program but that is the intent.
Linkage Window and the Theo Jansen Mechanism
Mechanisms can be designed with pivot connectors or sliding connectors. Inputs to drive the mechanism can be rotary or linear. The number of connections on a link and the number of links is virtually unlimited.
Before describing the Linkage program any more, here is an example of a real-world mechanism that I designed with it. This is a machine that lifts a 1 inch ball so that it can roll back down to the bottom of the machine. This is normally called a rolling ball sculpture (RBS) or a marble run, but there is more lift mechanism than there is track, so this is more of a kinetic sculpture. First is the Linkage program design being animated, followed by a video of the sculpture unfinished but working. And finally, a photo of the finished product!
Linkage Program Animation of the Mechanism
Video of the Nearly Finished Mechanism
The Final Rolling Ball Sculpture
Linkage is a Windows program that has been developed and tested on Windows 7. It has also been run on some Windows XP systems with the most recent service packs installed, but XP support might end at any time due to Microsoft not supplying tools to build the program for XP.
Linkage is a personal development project and its features sometimes change quickly when I have new ideas that seem better than the old ones.
Animation of a Backhoe
Some of the Features
Works like a vector drawing program.
Has a modeless interface with no mouse tool selection for any operation or action.
Lets the user create any configuration of links and connections that they want.
Has a visual style that matches mechanisms shown in many books.
Runs at 30 frames per second when simulating the mechanism visually.
Reads and writes .linkage2 files that use the XML format.
Can move, rotate, scale, stretch, cut, copy, and paste, any set of selected connectors and links.
Can align selected connectors in many ways including at right angles, any angle, in a parallelogram or rectangle, etc.
Will optionally snap connectors to a grid and to other objects during editing.
Has zoom and Pan.
Has 100 levels of undo of all operations.
Will play, stop, pause, and step the simulation, at any time during editing.
Uses pivoting connectors as well as less common sliding connectors.
Allows for any number of rotating and/or linear inputs.
Allows control of input positions manually during the simulation, if desired.
Will print hard copies of the mechanism on one page and on multiple pages at 1:1.
Lets you record the simulation in an HD video file.
Lets you save a picture of a mechanism in JPEG or PNG format.
Allows you to assign drawing capability to any connector to visualize its path during simulation.
Will open and simulate a wide variety of included sample mechanisms.
Automatically displays dimensions of parts in mm or inches in a way that is suited to manufacturing individual parts.
Will draw dimension/measurement lines manually.
Will draw points and lines separate from the simulated mechanism.
Images of Various Mechanisms and User Interface Elements
Exported JPEG Image of Backhoe Sample
Watt Linkage with Measurements, Points, and Lines.
Various Types of Alignment Tools
Hint Lines Show How Alignment Operations Will Behave
Automatic Dimensioning on Klann Linkage
An Image-Based Menu for Dropping Elements Into a Mechanism
If you got this far and the Linkage program looks interesting, feel free to let me know what you are looking for, and for what type of project. I pick new features for the Linkage program from user suggestions, and I would love to hear about features that I didn’t consider, or have never imagined. Thanks.