Assembly driven constraints provide you with a way to control the range of motion—both linear and angular—for the components of an assembly. This type of constraint allows you to include more design intent in your models, and you can make an assembly behave just as an actual model would in real life.
Assembly driven constraints can be set in a number of ways:
The latter method is the one that we will be looking at in our examples here today. When you set an assembly driven constraint with a geometric measurement, as the part changes in size so, too, does the limit of motion. In this way, it simulates how the part would behave in real life.
Before we delve into assembly driven constraints further, let’s take a step back to examine the history. Prior to NX 11, all constraints were drivers that would limit motion, or in the case of distance and angle, you could enter a value that would drive the part by a parameter. Now in NX 11, we have modified those two types of constraints so the value can be driven by the assembly.
Now let’s look at two examples of assembly driven constraints in NX 11, and how you would apply them.
In the first example, we have a butterfly valve that can be set to either open or closed using an arrangement. The problem arises when we want to set the position somewhere in between those two. We could set an arrangement for each and every position, but that is not really practical. We could turn off arrangements entirely to give us a free range of motion, but then the valve won’t behave as it would in real life. The solution is to use the new assembly driven constraint to control the range of motion.
First, open the Constraint Navigator and select the driven angle constraint to edit. The traditional Assembly Constraints dialog opens, we see a new field for Angle constraint. When the Angle option is toggled on, the user defines the value. When toggled off, the system drives the value and reports it to the user.
Under the Angle Limits field, you can set an upper and lower limit for the angle. This determines the range of motion. Here we have a 90 degree range of motion between 180 and 90 degrees.
In the second example, we have a much simpler assembly comprised of a pin on a track. The pin moves along the track, and though it stops when it reaches the ends, it is not actually colliding with them. Rather, it is being driven by a distance constraint.
Again, open the Constraint Navigator and select the distance driven constraint to edit it. In the Assembly Constraints dialog underneath the Distance Limits field, we have options for an upper and lower. These are set to measurements.
Open the Part Navigator, and you will see there is a distance measurement underneath model history. That measurement is the distance between the centers of the ends of the part, and it is what controls the movement of the pin. If you change the length of the part, the range of motion set by the constraint updates to reflect that change. When you go back into the assembly, you see that the component moves the full length of the part, even though the part length changed.
You can see how John Baker did this by watching the step-by-step tutorial video below.