Optimizing Mechanisms Using CAD Sketch Constraints—Part 1

In a recent article here on mechanism synthesis, we see how to design mechanisms that can generate defined paths and motions. A first principles approach to design mechanisms uses the constraint-based sketcher within SOLIDWORKS. The approach could be applied in any parametric CAD. Then we can apply the fundamental theory of mechanisms and adapt traditional graphical methods to CAD. The third article in that series provided examples of more complex three-position motion generation and touched on optimizing mechanisms for size and transmission angles.

This article goes a lot deeper into the optimization of mechanisms. It covers some of the things you might want to optimize for, such as limiting link lengths and joint positions, or ensuring smooth movements by limiting transmission angles. Here we present some of the basic techniques for constraining sketches in a way that enables optimization. Examples will be given in the part of this article on path generation (moving a single point through a prescribed path) and motion generation (moving a line through a number of prescribed positions) using SOLIDWORKS.

Transmission Angles and Toggles

With transmission angles, it is important to understand when mechanisms will move freely and when they will lock, or “toggle.” In a four-bar linkage, the four links can be labeled according to where force is applied:

  • Ground link: The fixed point of reference to which stationary joints are fixed.
  • Driver: The link to which force is applied, causing it to rotate about the ground link; this is also known as the input link or, for certain types of linkage, the crank.
  • Output link: The other link, which rotates about a fixed point on the ground, due to forces transferred through the other links.
  • Coupler: The linkage that connects the moving ends of the driver and output links.

The transmission angle is the acute angle between the coupler and the output link (see Figure 1). When the transmission angle is 90 degrees, all of the force transferred by the coupler is applied as a moment to rotate the output link about the ground link. When the transmission angle is zero, all of the force is transferred directly through the grounded joint at the other end of the output link. In this case, there is no resulting moment to cause movement of the output link and the mechanism does not move. This is called a toggle position. For a freely moving mechanism, small transmission angles should be avoided. The actual minimum value for a particular mechanism will depend on the force being applied, frictional forces, accelerations and so on. As a general rule of thumb, transmission angles below 30 degrees should be avoided.

Figure 1. Transmission angles, coupler and output links.

In some cases, free movement is not desired. Many mechanisms are designed to lock in a particular position and for these scenarios toggle positions can be very useful. One common usage is a shelf that locks in its open position, such as the tailgate of a truck. When the shelf is lowered, it reaches a toggle position so that it cannot be lifted back up again. Figure 2 shows that when you try to lift the tailgate the force is transferred through the coupler into the output link with a zero transmission angle—with the coupler and output link in line with each other. However, when you pull on the upper link, now the coupler acts on the tailgate with a transmission angle of 45 degrees, causing the tailgate to close.

Figure 2. Lifting the tailgate transfers force through the coupler into the output link.

Whether you need to achieve a particular toggle position or maintain a minimum transmission angle, you can include this constraint within a sketch used to synthesize your mechanism. We go into more details on how to do this in the next article in this series. For now, let’s look at how to constrain joint positions and link lengths as this is somewhat simpler and therefore provides a good starting point.

Constraining Link Size and Joint Position

If you want to set a link to an exact length or locate a ground joint at a known position, then this is easy to do using sketch constraints and dimensions. However, you may know that a joint must be within a particular area, perhaps so that it can be easily attached or does not interfere with other components. Similarly, you may know the minimum link length, perhaps to allow for the joint’s axle, and the maximum joint length, perhaps to maintain a reasonable size for the machine. One solution would be to simply constrain these parameters to the center of their acceptable ranges. However, this may prevent other criteria from being met. In order to realize an optimal design, the parameters must be constrained within their acceptable ranges while synthesizing the mechanism.

Using the basic sketching tools within SOLIDWORKS, it is not obvious how to constrain a line so that it will have a length that is within two limits, or how to constrain a point so that it will lie within a given area. This can be done—at least for certain types of constraints—by constraining points to lie on splines. A few examples will help make this clear.

Constraining Joint Position within a Given Radius

Consider that we need to constrain a joint position within a 20mm radius of the origin.

Step 1: Start by creating a spline with only two points, with the first point at the origin and the second point some distance away. Ensure that the line is not horizontal or vertical. Dimension the spline to have a length of 20mm (see Figure 3).

Figure 3. Create a spline with two points.

Step 2: To constrain the spline so that it will always be a straight line, first drag the control handles at each end so that the direction arrows are visible. Then, holding down the Control key, select both control handles and constrain them to be colinear (see Figure 4).

Figure 4. Constraining the spline.

Step 3: Place a point on the spline. If you try dragging this point around, you will see that it can move anywhere within the circle of radius 20mm from the origin. This point represents the joint position.

Constraining Link Length

Continuing from the above example, consider that the link attached to the joint must have a length of between 7mm and 12mm.

Step 1: Create another spline with only two points and set its two control handles to be colinear, producing a straight line as in the previous example. Dimension this line so that it has a length equal to the range of the link length as shown in Figure 5 (maximum length minus minimum length equals 5mm).

Figure 5. Create a second spline.

Step 2: Create a dimension between the point representing the joint position and the nearest end of the line representing the link. Set the length to the minimum length of the link (see Figure 6).

Figure 6. Creating a dimension between the point representing the joint position and the nearest end of the line that represents the link.

Step 3: Now create a construction line between the point representing the joint and the far end of the spline representing the range of link lengths (see Figure7).

Figure 7. Creating a construction line.

Step 4: Set the other endpoint of the spline to be coincident with the construction line, bringing them into alignment (see Figure 8).

Figure 8. Setting the endpoint of the spline to be coincident with the construction line.

Step 5: A point set to be coincident with the spline of length 5mm can now represent the joint at the end of the link with its length constrained to between 7mm and 12mm.

Constraining a Joint Position within a Rectangular Area

A joint position can also be constrained within a rectangular area by following these steps:

Step 1: Create a spline with two points. Set its control handles to be colinear so that it is constrained to be a straight line, as in the above examples.

Step 2: In this example, we will make the end points of the spline horizontal, but a rectangle could also be defined at any angle.

Step 3: One endpoint of the spline must also be made coincident with one corner of the rectangle that you wish to define. In this case the origin is used.

Step 4: Dimension the spline to have the length of the required dimension of the bounding rectangle (see Figure 9).

Figure 9. Set the dimension of the spline so that it has the bounding rectangle’s required dimension.

Step 5:Following the above steps, create a second spline that is a straight line, but in this case make the endpoints vertical and set the length to the remaining dimension of the rectangle (see Figure 10).

Figure 10. Create a second spline that is a straight line.

Step 6: Make an end point of the second spline coincident with the first spline.

Step 7: Finally, create a point and make it coincident with the second spline. This point will represent the joint position (see Figure 11).

Figure 11. Create a point that will represent the joint position.


In this article I’ve introduced transmission angles and toggles, as well as provided some examples of how splines can be used to create bounds for mechanism design. My next article will bring these together, showing how to optimize a complete four-bar linkage so that required motion is generated, the joints are located in the required areas, and the mechanism does not lock. Conventional graphical methods are limited to 2D planar mechanisms. Synthesizing 3D spatial mechanisms has conventionally required complex formulations of kinematic equations and has been followed by the mathematical solution of sets of these equations—often using optimization. The methods here can be extended into 3D, providing an intuitive graphical way to design very complex machinery. Further examples of how to do this will appear in future articles.

Recent Articles

Related Stories

Enews Subscribe