On Freedom and Constraints

31 May, 2003 By: Jeff Wymer

Autodesk Inventor allows you to assemble parts to create assemblies that can be tested for fit and function. The way to assemble parts in Inventor is to use assembly constraints. These constraints allow you to maintain the positions of components or their relations to one another in an assembly (such as two faces touching each other or a bolt in a hole).

Defining Degrees of Freedom

Let's first discuss the degrees of freedom (DOF) and how they impact assembly constraints. All parts initially have six DOF without any assembly constraint. The six DOF include three translational ones (linear along the x-, y-, or z-axis) and three rotational ones (angular along the x-, y-, or z-axis, as shown in Figure 1). A part or assembly is considered grounded (fixed in space) when it has no DOF. The first part inserted or created in the assembly is set as grounded by default in Autodesk Inventor. More than one component can be grounded and you can toggle between the components that are grounded. Select the components either in the graphics or the browser, right-click, and choose Grounded. You can visually identify the grounded components by their thumbtack icons displayed in the browser.

Figure 1. This symbol illustrates the three translational and rotational degrees of freedom available.

As you apply assembly constraints, DOF are removed based on the movements impacted by the constraints. Let's say we have two basic cubes, as shown in Figure 2. One currently has six DOF available and the other is grounded. If you apply a mate constraint between any two faces, it cancels three DOF (one translational movement and two rotational movements) from the body that remains movable. You can turn on a visual DOF symbol on the model by accessing the model properties. Right-click on the part file and select Properties. Then select the Occurrence tab and select the Degrees of Freedom box, also shown in Figure 2 (on the left is the assembly without the mate constraint, and, on the right, with the mate constraint).

Figure 2. The two cubes on the left show the way the assembly is before applying the constraint, and the arrangement on the right after applying the mate constraint.

Assembly Constraints

You can apply assembly constraints to edges, faces, and work geometry. You can select cylindrical faces/edges as well as planar faces/edges. If you're in the mate constraint and select a cylindrical face, the program will automatically pick the centerline axis of that face as the point to assemble to. Inventor supports simple constraints (such as mates and flushes), motion-specific constraints (for gears), and transitional constraints (to maintain contact between predefined faces).

  • Mate/Flush assembles components face-to-face (mate) or adjacent to one another with their faces flush. It removes one degree of linear translation and two degrees of angular rotation between planar surfaces. You can select edges as well as faces to assemble.
  • Angle assembles edges or planar faces at a specified angle to define a pivot point. It removes one degree of angular rotation.
  • Tangent assembles faces, planes, cylinders, spheres, and cones to contact at the point of tangency. Tangency may be inside or outside a curve, depending on the direction of the selected surface normal. Tangent constraint removes one degree of linear translation.
  • Insert combines a face-to-face mate constraint between faces and a mate constraint between the axes of the two components. The Insert constraint is used to position a bolt in a hole. Only one rotational degree of freedom remains after applying this constraint.
  • Rotation specifies that a part rotates in relation to another part using a specified ratio, typically used for gears and pulleys.
  • Rotation-Translation specifies that a part rotates in relation to the translation of another part using a specified distance. It shows the planar motions of rack and pinion devices, for instances.
  • Transition creates a relationship between a cylindrical face and a contiguous set of faces on another part, such as a pin in a slot. It maintains contact between the faces as you slide the component along the open degrees of freedom.

Place Constraint

To access assembly constraints, you need to be in an assembly file with at least one component referenced into it. You can select the Place Constraint icon from the tool palette or use the predefined shortcut key (C). When the dialog box opens, it defaults to the mate assembly constraint. By default Autodesk Inventor has the Show Preview option turned on. After the assembly selections are made, under-constrained components automatically move into a constrained position. To apply the assembly constraint, you must select Apply. Uncheck Show Preview to if you don't want to graphically view the constraint being applied.

The Solution option changes based on the type of assembly constraint to be applied. For instance, while you're on the mate options that allow you to toggle between mate and flush, angle determines the flip direction of the part faces selected, tangent allows you to define inside or outside tangency solutions, and insert determines the flip direction of the faces selected.

Alt-Drag Constraints

Another method of assembling components is using Alt-drag, which allows you to define assembly constraints dynamically by dragging components together without using the Place Constraints dialog. The selected geometry determines the type of constraint to apply. Select a planar face, linear edge, or axis to place a mate or flush constraint, a cylindrical face to place a tangent constraint, or circular edge to place an insert constraint. You can override the default constraint being applied by entering the following shortcut keys:

  • M or 1 for mate
  • A or 2 for angle
  • T or 3 for tangent
  • I or 4 for insert
  • R or 5 for rotation motion constraint
  • S or 6 for translation (linear) motion constraint
  • X or 8 for transitional

To assemble: hold down the Alt key, select the component, and drag it into position. As you drag over features on other parts, the preview shows the constraint type. The space bar can be used to cycle through the constraint types: mate or flush, tangent inside or outside, and the direction of an insert constraint. Once the parts are positioned correctly, release the mouse button to create the constraint.

The Mechanistic Behavior of Assemblies

After applying the assembly constraints, you can test the function of the assembly by selecting the component and dragging it on the screen. The component(s) will only move based on any open DOF on the components. Subassemblies by default are rigid bodies, so they'll act as single components. To make a subassembly flexible (so you can use the open DOF within the subassembly), mark the subassembly as Adaptive. You can do this by right-clicking on the assembly in the browser or the graphics and choosing "Adaptive."

To set a precise amount of motion to test ranges of motion for an assembly, use Drive Constraint. The Drive Constraint functionality, as shown in Figure 3, is limited to one constraint, but you can drive additional constraints by using the Equations tool to create algebraic relationships between constraints. To access Drive Constraints, right-click on an individual assembly constraint in the browser and choose Drive Constraint. Start is the beginning value; the default is the angle or offset defined for this constraint. End is the ending value; the default is the Start value plus ten. Pause Delay is the time in seconds between steps; you can adjust the default value to speed up or slow down the motion. To activate the sequence, select the Forward button to start the sequence or click the Step Forward button to advance through the sequence one step at a time.

Figure 3. You can use Drive Constraints to define the range of motion.

The motion of the assembly driven by Drive Constraint can be captured as an AVI file by selecting the bull's eye in the dialog box. This AVI can then be used by non-designers to understand the motion of the assembly.


Autodesk Inventor's assembly constraints determine how components fit together in the assembly. With the intuitive Alt-drag interface, you can quickly assemble your designs. Driven Constraints allow you to test the function of your design without creating expensive and time-consuming prototypes.