Using CAD to Synthesise Mechanisms—Part 3

In the first article in this series, I showed a general-purpose way to design mechanisms using the constraint-based sketcher within SOLIDWORKS and many other parametric CAD software programs. In the second article, I explained that many problems can be solved more easily by adapting traditional methods, and provided some fundamental theory of mechanisms and gave the examples of two position motion generation for a single pivot and a 4-bar linkage. This article extends those ideas, showing how to apply classical methods for three position motion generation within a parametric CAD environment. It’s worth mentioning again that mechanism synthesis can be divided into three categories, depending on the objective:

  • Function generation attempts to map an input function to an output function.
  • Path generation moves a single point through a prescribed path.
  • Motion generation moves a line through a number of prescribed positions.

For now, let’s focus on motion generation, which controls both the position and orientation of the output link. I’ll cover path generation and function generation in future articles. Path generation is only concerned with the position of a single point; therefore, the orientation of the output link is not important. Function generation is more general, and may involve controlling the path or a point or the motion of a line, but it is also likely to involve the relative speeds of the input and output links. For example, it may specify a quick return ratio or a dwell time.

Example 1: Three position motion generation for 4-bar linkage, with joints at the endpoints of the line defining the motion

In this example, I will show how to create a mechanism that moves a line through three specified positions. For this example, I will use the classic graphical method, adapted to use geometric constraint solving to generate an accurate solution within CAD. In the steps that follow, all sketches are created on the same plane.

Step 1: Create a sketch 1 containing three lines that define the positions you want the mechanism to move through. Since the lines all represent a single body in three different positions, the lines must be of equal length.

Step 2: Create sketch 2. Choose one end of the lines, and using two construction lines, connect the endpoint to the same endpoint in each position.

Step 3: Still working in sketch 2, create “perpendicular bisectors” to both construction lines. This means that for each of the previously created construction lines, you will place a new construction line that starts at the line’s midpoint and is perpendicular to it.

Step 4: Still working in sketch 2, extend the perpendicular bisectors so that their endpoints are coincident. This is the first ground pivot position.

Step 5: Also working in sketch 2, follow steps 2 through 4, but join the other end of the original position lines. This is the second ground pivot position.

Step 6: Create sketch 3 with two lines, from the points where the perpendicular bisectors intersect to the endpoints of the first position line. These lines give the lengths of the moving links, each of these links have a joint connected to the ground. The mechanism is now synthesized and all that remains is to test it.

Step 7: First hide sketch 3, as this construction geometry no longer needs to be visible and is potentially confusing. Create sketch 4, which will be used to create a test mechanism. Sketch three lines to represent the three moving links in the mechanism. The lines must be coincident with the two ground joints but must not be constrained to any of the position lines. Make each line equal in length to the corresponding lines in the visible construction geometry. The sketch will now act as a simulation that can be dragged through the required positions to simulate the motion.

It is possible that your mechanism might be able to reach each of the three positions but not be able to move smoothly between them. This may be due to the mechanism moving through toggle positions (where two links become collinear). A toggle could be a problem, or, in some cases, may be useful. Toggles will be covered in more detail in a future article.

The example toggles just before reaching the final position on the right

Example 2: Three position motion generation for 4-bar linkage with joints not on the line defining the motion

This example is similar to Example 1. If the joint positions must be located some distance away from the line defining the three specified positions, then another line must first be created that defines where the joints must be.

Step 1: Create sketch 1 containing three lines that define the positions you want the mechanism to move through, just as you did in Example 1.

Step 2: Create sketch 2 containing three lines located where you want to position the joints. For each of these lines, use three construction lines and equal length constraints to ensure that the lines are in the same relative positions to the lines in sketch 1.

Step 3: Create sketch 3 and construct the perpendicular bisectors to find the ground joint positions as in Example 1. The only difference is that for this sketch the remote lines defining the moving joint positions, created in step 2, are used as the reference rather than the actual position lines.

Step 4: Create another sketch to simulate the mechanism using equal length constraints as in Example 1.

Design Iterations

Real design processes are, of course, iterative. When you test the mechanism, you may find that it toggles, binds or crosses in a way that is impractical. You may also find that the joints are not located in convenient positions. The beauty of using parametric modeling for mechanism synthesis is that you can relax certain constraints and then define new ones. This approach can be used to address any problems you encounter as you explore the mechanism. An important parameter for mechanism design is the transmission angle, which is related to toggles and is something I will describe in more detail in a future article. Using the parametric approach, a minimum transmission angle can be defined within the sketch.

Alternative Methods for Finding Ground Joint Positions

Using perpendicular bisectors to find the ground joint positions is well suited to both traditional graphical methods, on a piece of paper, and to CAD. Within CAD, there is another, more intuitive method that can be used for three position synthesis. This is to simply create arcs through the three positions that each joint must move through, with the center of these arcs being the positions of the ground links.

Example 2 with arcs used in place of perpendicular bisectors

Since this approach uses fewer lines, it is practical to use fewer sketches, enabling more of the parametric adjustment to be carried out in a single sketch. In this example, it is clear that the links will cross, since the ground joints are aligned vertically and the upper link must pass through the lower ground joint. This is probably not a desirable approach. It may therefore make sense to go back to the sketch containing the remote position lines, insert the arcs into this sketch, and then create an additional constraint forcing horizontal separation of the ground joints.

Example 3: Using arcs and additional constraints to refine the mechanism from Example 2

In this example, I will show how the arcs and additional constraints can be used to solve some of the issues identified in Example 2.

Step 1: Go back into sketch 2, which contains the three lines located where you want to position the joints. Add two 3-point arcs to define the ground joint positions.

Step 2: Work carefully to drag the arc centers to create some horizontal separations between the two centers, while being careful to retain the lines defining the moving joint positions in sensible locations.

Step 3: Add some dimensions to define the requirements. In this case, you will do so to create some horizontal separation between the ground joint positions and a reasonably compact mechanism.

Step 4: Continue the testing process by making adjustments to remove all issues with the mechanism. In this case, the main concern is toggles and crossed links.


In this article I’ve provided some slightly more complex mechanism synthesis examples. If you haven’t already done so, it would be worth reviewing part 1 and part 2 of this series. In the next article, I’ll look at some additional ways of constraining position synthesis problems, before moving on to mechanisms driven by continuously rotating shafts. When driven in this way, the links of a 4-bar mechanism are given specific names. The driven link is known as the crank, which acts on a coupler, and which in turn acts on a rocker, which is the output. I’ll explain Grashof’s theorem, which is important in determining whether the crank will be able to rotate, and then get into how these mechanisms can be synthesized within popular CAD packages such as SOLIDWORKS.

Recent Articles

Related Stories

Enews Subscribe