Вы находитесь на странице: 1из 13

# http://sharptechdesign.com/Tutorials/Mechanism_WF2/MDX_WF2_Less...

Lesson

Lesson Objective: In this lesson, we will look at the dragging capability in a lot more detail – learn
about point and body drags, as well as drag constraints.

The most common method for dragging is using the point drag. The way the Point Drag works is the
location on the model where you pick is the point at which you are dragging it. Imagine a small handle at the
exact location where you pick on the model.

1 of 13 05-Apr-11 8:53 PM
http://sharptechdesign.com/Tutorials/Mechanism_WF2/MDX_WF2_Less...

Therefore, if you imagine a wheel spinning, you may have more control over the drag by grabbing out on the
rubber tire itself (further away from the center of the tire), but you will have a harder time making it spin
fast. The closer to the center you pick, the faster you can make the tire spin without wrecking your wrist or

When you enter into drag mode, by clicking on the icon, you get the following window.

At the top, the Point Drag icon is selected by default. This is the one we have been using, and it will be the
first one that we go into more detail about.

To demonstrate this functionality, open up the Robot.asm assembly that we have been working with in the
last two lessons. It will initially look like the following (assuming you have completed the exercises from the
last two lessons.)

To begin, go to Applications, Mechanism from the menu bar to re-enter Mechanism mode. If you
remember from the previous lessons, we used the point drag to try out our different pin connections, but we
had problems with the entire assembly moving at once. To check out each connection individually, we will
use some constraints in the drag window.

When you are dragging around bodies in Mechanism, as we have with this Robot assembly, you can force a
movable body to lock into its current placement for the duration of a drag operation, and unlock it again once
you want to move it.

2 of 13 05-Apr-11 8:53 PM
http://sharptechdesign.com/Tutorials/Mechanism_WF2/MDX_WF2_Less...

The Lock/Unlock Body constraint in the drag window only lasts while you are in the drag window. Once
you close out of the drag window, this temporary condition is removed.

To demonstrate this, go into the drag window for the robot assembly. Click on the Constraints tab, and the
window will look like the following.

The icons down the left side are specifically for the Constraints tab. We will begin by clicking out on our
model on the Robot_3 component, in the location shown in the following figure.

As you move your mouse around, you will notice two things. The first is that all other components that came

3 of 13 05-Apr-11 8:53 PM
http://sharptechdesign.com/Tutorials/Mechanism_WF2/MDX_WF2_Less...

after this arm (Robot_4, Robot_5, Robot_6 and Robot_7) are not independently moving. This is because of
where we picked. The second is that while we can rotate Robot_3 around, the Robot_2 component also
rotates. Click on the middle mouse button to cancel the drag and the assembly should jump back to its
original position.

To isolate just the movement of Robot_3 and anything assembled later, we will need to lock the movement
of Robot_2.

Ground Part

Before we lock Robot_2, let’s first talk about the ground part. Each assembly in Mechanism contains at
least one ground part. This is a part that does not have any open degrees of freedom. In this case,
Robot_1 (the one with the word “HAL” on it), is not free to move. It is considered the “Ground” part. All
other components have a pin connection on them, allowing them to move. These are called “Bodies”.

When you lock a body, you must specify one component that acts as a ground (even if it is not the actual
ground part), and one that is locked to it. In this case, to lock the movement of Robot_2, we would actually
use the real ground part (Robot_1) as the ground, and then lock Robot_2 to it in whatever position it is in.

Lock Robot_2

In the Constraints portion of the drag window, click on the icon. In the message window, you are
prompted to select a ground part. NOTE: If you are picking the actual ground part that is in the assembly,
you can just use the middle mouse button at this time. We will actually select Robot_1 by picking on it to get
in the habit of selecting a ground part.
Once you select Robot_1, you are asked to select the body that you are locking. In this case, select the
Robot_2 component by picking anywhere on it. At this time, both Robot_1 and Robot_2 should be
highlighted in red on your assembly.

You can continue to pick more parts that will be locked, but we are done, so we will click on the middle
mouse button to accept these two selected parts. In the constraints window, you will see the following.

When you highlight the “Body-Body Lock” entry, the model will show you the components affected by this
lock. In this case, it makes the ground part (Robot_1) highlight in green, while the locked parts (Robot_2)
are highlighted in a dark red. The check mark indicates that this lock is currently active.

Now, click on the Point Drag icon at the top of this window (if it is not already selected) and pick again on
the Robot_3 component in the same location as we did before. This time, you will be able to move the arm,

4 of 13 05-Apr-11 8:53 PM
http://sharptechdesign.com/Tutorials/Mechanism_WF2/MDX_WF2_Less...

## but the lower component (Robot_2) does not move.

Now, suppose we wanted to lock Robot_3 to see how Robot_4 and the rest of the assembled components
behave. In the constraints window, click on the Lock/Unlock Bodies icon again, and this time select
Robot_2 for the ground, and then select Robot_3, followed by the middle mouse button.

You should now have two “Body-Body Lock” entries in the drag window, as shown in the next figure.

Click on the Point Drag icon again, and this time pick anywhere on Robot_4 to drag it. When you are done,
click on the middle mouse button to cancel the drag, and then close the Drag window.

Re-open the Drag window, return to the Constraints tab, and you will notice that the lock conditions are no
longer there – remember they are only temporary.

In addition to being able to lock bodies in place, you can also affect the behavior of certain bodies during a
drag using Align, Mate or Orient constraints.

An Align constraint, activated with the icon in the Constraints tab of the Drag window, allows you to
specify two planes or planar surfaces on two different bodies to line up with each other. Since this is very
similar to the next constraint (Mate) we will wait and demonstrate that one.

A Mate constraint, activated with the icon in the Constraints tab of the Drag window, allows you to
specify two planes or planar surfaces on two different bodies to touch each other. We will demonstrate this
now.

In the Robot assembly, go back into the Drag command. Once inside, click on the Constraints tab,

followed by the icon. We are prompted to select two planes or planar surfaces to mate. We will
select the ones shown in the next figure.

5 of 13 05-Apr-11 8:53 PM
http://sharptechdesign.com/Tutorials/Mechanism_WF2/MDX_WF2_Less...

When we do this, the bottom surface of Robot_4 snaps down to line up and face the top surface of
Robot_2, as shown in the next figure.

Now click on the Point Drag icon and try picking on Robot_4 to move it. Notice that Robot_2 is free to
rotate, but Robot_3 and Robot_4 are locked into place because it is trying to satisfy this condition. Click
with the middle mouse button to cancel out of the drag. Close the drag window if it is still open.

Orient

The orient constraint uses the icon in the Constraints tab on the Drag window. It forces two planes or
planar surfaces to be parallel with each other and face in the same direction.
NOTE: You can also enter a value other than 0 for the offset for this constraint to set a certain angle
between surfaces.

We will demonstrate this now. Go back into the Drag tool for the robot assembly. Click on the Constraints

tab, and then click on the icon. Select the two surfaces shown below.

6 of 13 05-Apr-11 8:53 PM
http://sharptechdesign.com/Tutorials/Mechanism_WF2/MDX_WF2_Less...

You will get an entry for Plane-Plane Orient in the Drag window. Click on the Point Drag icon at the top of
the Drag window, and pick anywhere on Robot_3 to move the assembly. Notice that as you rotate the arm
up and down, the top surface of Robot_4 maintains a parallel condition with the top surface of Robot_2.
Click anywhere to stop the drag, and then close out of the drag window.

Use Mechanism, Connect to return the assembly back to the zero reference state, and then save the
assembly.

Within the drag constraints, there is a Joint Axis Setting icon, which looks like the following.

This tool is very useful when you want to set a joint axis to an exact value, and not have it revert back once
you get out of the joint axis settings window (like we have seen in the past). We will demonstrate that with
the robot assembly.

Click on the Drag tool, and once inside, click on the Constraints tab. Click on the icon and then pick on
the joint axis indicated in the following figure.

Once you select this joint axis, you will see the following in the Drag window.

7 of 13 05-Apr-11 8:53 PM
http://sharptechdesign.com/Tutorials/Mechanism_WF2/MDX_WF2_Less...

At the bottom of the window, you can see a field entitled Value. The value is currently at zero. Type in 90
and then hit the enter key on your keyboard. You should see the joint update, as shown below.

When you close out of the Drag window, it will remain at its current position until you move it again, or you
connect up the assembly (regenerate). The advantage of using this can be seen before setting up limits.

Suppose you hadn’t set up any of the limits for these joint axes. You would start by resetting the zero values
where needed, and then tell each joint to regenerate at the zero value. Connect up the assembly to get your
starting point.

Next, you would come into the drag window, go to the Constraints tab and add each joint axis using this
tool. Your window would look like the following for this robot assembly.

8 of 13 05-Apr-11 8:53 PM
http://sharptechdesign.com/Tutorials/Mechanism_WF2/MDX_WF2_Less...

You could then go through each one and test values until you found the total distance you wanted it to
travel. Then go back later and set your limits. When you select on one of the entries in the figure above, it
highlights the joint axis on the model itself, so you can tell which one is which.

Re-connect your robot assembly to get it back to its starting point at all zero references.

This topic is one you should be careful using, because it acts almost like you went back and deleted the pin
connection, causing it to be completely “packaged”. To demonstrate this, go to the drag tool, then to the
Constraints tab. In the constraints tab, click on the following icon.

You are prompted to pick one or more constraints to disable. We are going to select the pin constraint that
was created when assembling Robot_2 (at the very bottom of our assembly). Once it is selected, click on
the middle mouse button to accept our selection. You will see the following in the Drag window.

Click on the Point Drag icon at the top, and then pick anywhere on Robot_2 and move it. Notice how it gets
completely disconnected from the base?

9 of 13 05-Apr-11 8:53 PM
http://sharptechdesign.com/Tutorials/Mechanism_WF2/MDX_WF2_Less...

When you click to place the Robot_2 component in a new location (away from the base), you will get a
dashed line that indicates where it is really connected to, as shown in the following figure.

When you close out of the drag window, the assembly will re-connect itself.

The last two icons in the Constraints area are Delete Constraint ( ) and Assemble using Current

Constraints ( ).

Delete Constraint

This is pretty self-explanatory. If you highlight a constraint in the window and then click on this icon, it
deletes the constraint. In the case of a Disable constraint, the assembly will reconnect the components with
dashed lines between them.

## Assemble using Current Constraints

In Mechanism Mode, this icon really doesn’t do anything. It is designed to work with Design Animation –

10 of 13 05-Apr-11 8:53 PM
http://sharptechdesign.com/Tutorials/Mechanism_WF2/MDX_WF2_Less...

## another module that works closely with Mechanism.

At the bottom of the drag window, there is a blue bar entitled Advanced Drag Options. Clicking on the
white arrow at the left of this bar will expand it to show the following.

The different elements of this portion are described in the following figure.

A Package Move ignores all current drag constraints that have been set, and behaves just like a move
operation when assembling into a regular assembly.

The Select New Coordinate System allows you to specify a different datum coordinate system in the
model to control where your X, Y, and Z translations and rotations originate from.

11 of 13 05-Apr-11 8:53 PM
http://sharptechdesign.com/Tutorials/Mechanism_WF2/MDX_WF2_Less...

The rest of the icons allow you to move a body in any of the six degrees of freedom with respect to the
selected coordinate system.

At the bottom, the Drag Point Location shows you the exact X, Y and Z location of the point where you
picked to perform the drag with respect to the selected coordinate system.

At the top of the Drag window, there is another drag icon, called Body Drag (if you recall from the very first
figure in this lesson). This allows you to pick on a component and move it in its current orientation. Any
components connected to it will move, but the selected component will not rotate or change its orientation.

To see this, go back to the robot assembly and run Mechanism, Connect to get back to a starting point.
Next, click on the Body Drag icon, and select Robot_5. As you drag this, you will notice that Robot_2 and
Robot_3 move, but Robot_5 stays in its exact orientation (horizontal), which causes Robot_4, Robot_6 and
Robot_7 to keep their current positions too.

So, why can’t we select Robot_2 or Robot_3 in this example using “Body Drag”? We can, but they won’t do
anything. Robot_2 is connected to the ground, and everything else is connected to it. Therefore, it can’t
really move on its own and keep the same orientation.

The same thing is true for Robot_3. To maintain its exact orientation, Robot_2 can not move, and thus, the
whole assembly can not move. The rest of the components (Robot_4 through Robot_7) can be dragged
with this tool.

Try it yourself. When you are done, close out of the drag window, save and close the assembly.

Dragging your assembly allows you to check whether your connections are working. It is also used to
create positions of the assembly that can be used to create snapshots (next lesson).

While dragging, you can add temporary constraints, such as aligning two surfaces, or locking/unlocking
bodies. Once you close out of the drag command, these constraints go away.

Open up the assembly called Mirror.asm. It will initially look like the following.

Go to mechanism mode (Applications, Mechanism) and try dragging the entire assembly around first

12 of 13 05-Apr-11 8:53 PM
http://sharptechdesign.com/Tutorials/Mechanism_WF2/MDX_WF2_Less...