303
Page | 1 Pro/ENGINEER WILDFIRE 2 Mechanism

MDX_WF2_TOC

Embed Size (px)

Citation preview

Page 1: MDX_WF2_TOC

P a g e | 1

   

   

Pro/ENGINEERWILDFIRE 2

 Mechanism

   

Page 2: MDX_WF2_TOC

P a g e | 2

 Lesson 01 – Making Your Assemblies Dynamic                           1-1 Lesson 02 – Pin Connection                                                                                     2-1 Lesson 03 – Joint Axis Settings                                                                           3-1 Lesson 04 – Drag                                                                                                                     4-1 Lesson 05 – Snapshots                                                                                                   5-1 Lesson 06 – Servo Motors                                                                                         6-1 Lesson 07 – Animation Playback                                                                       7-1 Lesson 08 – Advanced Servo Motors                                                         8-1 Lesson 09 – Slider Connection                                                                             9-1 Lesson 10 – Cylinder Connection                                                                     10-1 Lesson 11 – Planar Connection                                                                           11-1 Lesson 12 – Ball Connection                                                                                   12-1 Lesson 13 – Bearing Connection                                                                         13-1 Lesson 14 – Rigid & Weld Connections                                                     14-1 Lesson 15 – Slot Follower                                                                                             15-1 Lesson 16 – Cam Follower                                                                                         16-1 Lesson 17 – Gravity                                                                                                               17-1 Lesson 18 – Springs                                                                                                             18-1 Lesson 19 – Dampers                                                                                                       19-1 Lesson 20 – Measures                                                                                                       20-1 Lesson 21 – 6DOF Connection                                                                               21-1 Lesson 22 – General Connection                                                                         22-1 Lesson 23 – Gear Pairs                                                                                                     23-1 Lesson 24 – Force & Torque (Incomplete)                                             24-1 Lesson 25 – Force Motors (Incomplete)                                                 25-1 Appendix A – Exercise Solutions                                                                           A-1 Tutorial Data Files                                                                                                                     MDX.zip

Lesson

Page 3: MDX_WF2_TOC

P a g e | 3

 

  Lesson Objective: In this lesson, we will be introduced to the Mechanism functionality in Pro/ENGINEER.  

              

Page 4: MDX_WF2_TOC

P a g e | 4

INTRODUCTION 

There are very few assemblies that we design that do not have moving parts.  Even if the moving part is as simple as a lid that rotates about a pivot point, or as complex as a pin that rides in a slot, the ability to capture this dynamic behavior is something we want to be able to do. Mechanism is the tool in Pro/ENGINEER that provides this behavior.  Without using Mechanism, you would have to assemble components using datum planes or other references to capture offsets or angular placements.  Then, by changing any dimensions associated with these placements, you are able to regenerate the assembly and see a static condition that represents a different state. This is still not capturing the dynamic behavior of the assembly, nor does it provide an adequate method for checking interference along the entire path of motion the component can go through. Mechanism allows you to assemble a component into an assembly, drag its open degrees of freedom (see section below), create servo motors to move the components based on certain conditions, run animations that capture the motion, and then perform interference and other measurements on the assembly as the motion is being carried out. 

ASSEMBLY CONSTRAINTS Degrees of Freedom Every component you assemble initially has six degrees of freedom – three translations (along the X, Y and Z axes) and three rotations (about the X, Y, and Z axes).  When we use placement constraints such as mate, align, parallel, offset or through, we are starting to fix some or all of these degrees of freedom (DOF). When a component is fully assembled using traditional Pro/ENGINEER placement constraints, you have successfully fixed all six DOF.  Even if you build in a rotation by using a datum plane through an axis at an angle to some other plane, you are still fixing the model to this plane. 

Page 5: MDX_WF2_TOC

P a g e | 5

Packaged Components If you recall from your Pro/ENGINEER Fundamentals training, you can leave a component partially constrained, and it is considered “Packaged”.  In the model tree, you would see a white square next to the component, indicating this condition exists. The problem with partially constraining a component using traditional placement constraints, is that no other component can be assembled to a packaged component.  Therefore, if you needed (for example) to create a drawer that pulls out from a cabinet, and then assemble a knob onto that drawer, you could not do it if the drawer itself were not fully constrained. Connections Connections are placement constraints in the Mechanism mode that fix certain constraints but leave others free to move.  The component is still considered “packaged” because it is only partially constrained, but the rules are a little different.  With the connections in place, you can dynamically move the open DOF, and you can also assemble other components to the “packaged” part. This gives you the complete flexibility to capture the motion that exists in your assembly, and still be able to create a realistic assembly in terms of order of assembly and connections between bodies.

 

ACCESSING MECHANISM There are several locations where you will encounter Mechanism tools.  The first is available when you go to place a component in your assembly.  When you click on the add component icon, and then select the component you are going to add, you get the following window. 

Page 6: MDX_WF2_TOC

P a g e | 6

 Traditionally, you would start to pick references on the model, and depending on what you picked (two planes for example), it would determine the best constraint (Mate, Align, Offset, Parallel, for example).  These are done in the middle section of the window, as shown in the figure above in the section entitled Traditional Constraints. Just above this section, there are three tabs.  The tab on the right is called Connect.  If you click on this tab before adding any constraints, you will have access to all of the mechanism connection types (pin, slider, etc.).  The following figure shows how the window changes once you select the Connect tab.           

 As we will learn in the next lesson, there are many different connection types: Pin, Slider, Planar, Bearing, etc.  Each of these connection types has constraints that must be satisfied for them to work.  For example, a pin connection requires two axes or cylindrical surfaces to be aligned, and two planes, points or vertices to fix the translation through the selected axes. The rotation about the axis is all that is permitted.  With a single component, you can add several different connection types until the placement is considered complete.  Each of these connections will need to be fully defined.

Page 7: MDX_WF2_TOC

P a g e | 7

 The second way to access mechanism is to go to Applications, Mechanism from the menu bar, as shown in the next figure.

This will bring up the following Mechanism menu and corresponding icons in the feature toolbar.

                                           The options and tools listed here will be discussed in greater detail in this training guide.  Finally, the model tree will contain a MECHANISM feature, listed at the bottom of the tree. Each of the possible definable entities is listed in this feature, and can be accessed from the model tree. 

Page 8: MDX_WF2_TOC

P a g e | 8

This single MECHANISM feature captures all mechanism information for the current assembly.

 

   

 

COMPONENTS OF MECHANISM 

In addition to being able to assemble components using realistic degrees of freedom, mechanism also does a lot more.  The typical progression to using mechanism is as follows. Step 1 – Assemble Components Create your assembly using mechanism connections to capture realistic degrees of freedom.  These connections are covered in great detail in the upcoming lessons. Step 2 – Modify Joint Axis Settings Control your connections by modifying the joint axes created by the connection.  This is explained in greater detail in the connection lessons individually. Step 3 – Create Slots, Cams or Gear Pairs Slots, Cams and Gear Pairs are special tools in mechanism that capture complex interactions between components.  These will each have their own lesson. Step 4 - Drag Components and Create Snapshots Dynamically pull or push on components that have open DOF to see them move in the assembly.  Take snapshots of your assembly at different states of motion to use in drawings or to come back to for reference. Step 5 – Create Servo Motors or Force Motors Servo motors and Force Motors are used to drive analysis and move your assembly on their own without using drag tools.  Each of these topics will be covered in great detail in their own lessons. Step 6 – Create and Run Analyses 

Page 9: MDX_WF2_TOC

P a g e | 9

Start your animations to calculate the results you are looking for.  With servo motors in your assembly, you will be able to produce motion animations.  With Force motors, you will be able to calculate resultant forces and other measures while the animation is running. Step 7 – View Results and Take Measurements Run the animation to create MPEG movies, or to calculate interference along the path of the moving objects.  Create and view graphs that measure certain factors over time, such as position or force.

 CONNECTION TYPES 

The table at the top of the next page lists the different connections available through the component placement window at the time you assemble in a component.  In addition, the number of translational and/or rotational degrees of freedom are shown for each connection type.

    

Connection Type Translational DOF Rotational DOF References NeededPin 0 1 2 Axes or Edges & 2

Planes, Planar Surfaces, Datum Points or Vertices

Slider 1 0 2 Axes or Edges & 2 Planes or Planar Surfaces

Cylinder 1 1 2 Axes or EdgesPlanar 2 1 2 Planes or Planar

SurfacesBall 0 3 2 Datum Points or

VerticesBearing 1 3 1 Datum Point and 1

Axis or EdgeWeld 0 0 2 Coordinate Systems There are two additional connection types in the list, but they don’t fit into the categories above.  These are the Rigid and General connections, and they allow you to use standard assembly placement constraints, such as Align, Mate, Insert, Tangent, etc.  We will see its usage in Mechanism later. 

JOINT AXES 

Every connection that you build creates a joint axis symbol that appears on the model when you are in mechanism mode.  The joint axes contains information about the connection that you can control.  For example, a pin constraint is free to rotate about an axis or edge.  The joint axis for a pin constraint contains the angle for the rotation. By modifying the joint axis settings, you can control the motion of the open DOF.  When we get into each connection type in more detail, we will also look at the joint axis settings in more detail

 

Page 10: MDX_WF2_TOC

P a g e | 10

LESSON SUMMARY 

Mechanism is the tool in Pro/ENGINEER assembly mode that allows you to capture realistic degrees of freedom in your assembly. You access mechanism in the component placement window, or through the Applications menu in the menu bar.

 

EXERCISE 

None

Lesson

Page 11: MDX_WF2_TOC

P a g e | 11

 

  Lesson Objective: In this lesson, we will learn all about the pin connection, and get introduced to the concept of dragging a mechanism to make sure it is working.    

              

Page 12: MDX_WF2_TOC

P a g e | 12

USAGE OF PIN CONNECTION 

The pin connection is used to capture one component rotating with respect to another component through a shared axis or edge.  You would use a pin constraint to capture motion for:

         Lid that opens on a hinge         Door that swings open         Wheel that turns         Rotating components (such as a desk chair)         Any hinged object (except living hinges – can’t capture these in Mechanism and still

maintain a physical connection between the two components) 

EXAMPLE – FAN ASSEMBLY 

Assembling the Blades using Connections To demonstrate a simple pin connection, we will create a fan.  Make sure your working directory is set to c:\Data\MDXTrain and open up the assembly entitled fan.asm.  It should contain a single part, and look like the following. 

 

Page 13: MDX_WF2_TOC

P a g e | 13

 We will start by clicking on the assemble component icon, and select the fan_blades.prt component in the File Open window.   When we do this, the Component Placement window appears, showing us the traditional placement constraint box, as shown at the top of the next page.   

 

 In the working window, we can see both components.

Page 14: MDX_WF2_TOC

P a g e | 14

 

 Since the fan blades rotate about the shaft on the fan body, we will use a pin constraint to capture this motion.  Therefore, we will begin by clicking on the Connect tab to access Mechanism constraints, as shown in the next figure.        

Page 15: MDX_WF2_TOC

P a g e | 15

 If the connection type is not Pin already, then change it over to PIN.  We can see that we are asked to select two axes to align.  Therefore, turn on the view of datum axes, and select the FAN_AXIS and BLADE_AXIS axes from the two components.  The blade component will line up with the body component along these axes, but the blade may be embedded within the body, as shown below.

 Use Ctrl-Alt and the Right Mouse Button (RMB) to move the component forward, and away from the body, as shown in the next figure.

Page 16: MDX_WF2_TOC

P a g e | 16

 In the Component Placement window, we are now asked to select two datum planes or planar surfaces to fix the translation.  These planes must be perpendicular to the already selected axes to fix the translation along the axes.  Therefore, select the small flat surface on the end of the blade part, as shown below. 

 Then rotate the model and select the large flat surface of the body part shown in the next figure.

Page 17: MDX_WF2_TOC

P a g e | 17

 The placement definition should be complete, as the blade part now rests up against the body part.  You will see an arrow with a curved arrow around it, as shown below. 

 This is the joint axis for a pin connection.  We will click on OK from the placement window to finish out of this placement.  Once we are out of the placement window, the joint axis symbol disappears from the model. In the model tree, we can see that the fan_blades component is packaged (little white square to the left of the name). 

 Save this assembly.

Page 18: MDX_WF2_TOC

P a g e | 18

Dragging the Blades around Now that we have our blades assembled using a pin connection, we will use the drag functionality to manually rotate our blades.  Therefore, we will need to get into Mechanism mode by going to Applications, Mechanism.  When we do this, the joint axis will appear on the model again, and we will see new icons at the right of our working window. We will start by clicking on the Drag icon, which looks like the following: 

 When we do this, we get a new window that appears, as shown in the following figure. 

 We will go into more detail about this drag window in a later lesson.  For now, we will simply pick on the blade part over one of the four blades.  Where we pick, we will see a little diamond-shaped symbol, and our fan will begin to rotate as we move our mouse cursor around, as shown below. 

Page 19: MDX_WF2_TOC

P a g e | 19

Click with the left mouse button to stop the drag command, then close the Drag window.  The diamond-shaped symbol disappears, and the joint axis symbol reappears. Pin Joint Axis Settings Now we will take a look at the joint axis settings for a pin connection.  To do this, we will place our mouse cursor over the joint axis symbol so it highlights, then click once to select it.  Once selected, hold down the right mouse button and select Joint Settings. 

A new window will appear, as shown in the following figure. 

 At the top of this window, you can select a joint axis if we hadn’t already selected one.  Just below this, there is a field that shows the current position of the joint axis.  In this case, it shows the current angle at which the blade is sitting (171.314 degrees).  This is shown in the next figure.

Page 20: MDX_WF2_TOC

P a g e | 20

  

 Rotate your model to a FRONT view, and then type in a value of “0” in the field.  The blade part will rotate back to zero degrees based on how it was originally assembled.  It will look like the following.

 Now, try typing in a value of “45” in the field.  You will see the following. 

Page 21: MDX_WF2_TOC

P a g e | 21

Suppose you want this orientation to be the absolute zero location.  All you have to do is click on the Make Zero button in the window, and this will now be the zero location for all time, as shown below.

 We will go into more detail about this joint axis settings window in later lessons.  For now, click on OK in this window.  You may notice that your blade part rotates back to the angle it was in before we went into the settings.  This is okay, because our new zero location is still saved, we just never specified that we wanted it to stay at zero.  We will see this a little later. For now, look at your model tree.  Expand the item called CONNECTIONS, and then continue to expand all the items below this until you see the following. 

 From this figure, we can see that we have one connection, called Connection_1(FAN).  We will get some information out of this model tree for this joint axis.  First, the Ground item shows us the component that remains fixed in the assembly.  Each assembly has at least one component that is not free to move, in this case the FAN_BODY.PRT component.  If you were to click on this item in the model tree, you would see the fan_body.prt component highlight on the model.

Page 22: MDX_WF2_TOC

P a g e | 22

 The body1 item shows the other component used in this joint axis, the fan_blade.prt component. Finally, the ROTATION AXIS line represents the joint axis itself.  If you were to right click on this item, you would see the Joint Settings menu item, which would bring you back into the definition for this joint axis. Save and close this assembly.

 LESSON SUMMARY 

Use a pin connection to simulate components that rotate about an axis.  Define an axis alignment and a translational constraint for this connection. Define the zero location for your joint axes to ensure you know where your starting location is. Drag your components to verify that the connection is set up the way you want it. 

EXERCISE 

Open up the assembly entitled Robot.  It will initially only contain one component (Robot_1.prt), as shown below. 

 We are going to add the rest of the components (Robot_2.prt, Robot_3.prt, Robot_4.prt, Robot_5.prt, Robot_6.prt and Robot_7.prt) to get the completed robot assembly, shown in the next figure. 

Page 23: MDX_WF2_TOC

P a g e | 23

 Be sure to use Pin connections to assemble each of these robot pieces.  Turn on the display of datum axes to see which axes to use. IMPORTANT: Each pin connection requires two axes/edges and two planes/planar surfaces.  You must remember to only select between two components.  For example, when you assemble Robot_3.prt, you will have Robot_1 and Robot_2 already in the model.  You should use an axis and a plane on Robot_3 and an axis and a plane on Robot_2.  You should not end up using Robot_1. After you assemble each component, go to Applications, Mechanism and drag the component to see the assembly update.  While dragging, click on the Middle Mouse Button to return to the original configuration, do NOT click with the left mouse button to place the assembly in a new orientation.  If you accidentally click with the left mouse button, use the upper right “Undo” arrow in the drag window to return to the original configuration.

 Lesson

Page 24: MDX_WF2_TOC

P a g e | 24

 

  Lesson Objective: In this lesson, we will look at the joint axis settings in more detail using the pin constraint that we have already learned.  We will learn about limits, regeneration settings, and zero references.  

              

Page 25: MDX_WF2_TOC

P a g e | 25

ZERO REFERENCES 

In the last lesson, we learned how to identify the default zero location of a pin joint axis.  We also learned how to type in any angle to see the pin joint update.  We even went one step further and took a non-zero location (45 degrees, for example) and turn it into the new global zero location for that pin joint (using the Make Zero button). In this lesson, we will learn how to use our surrounding geometry to define the zero location.  Therefore, open up the assembly entitled Zero_Refs.asm, which will look like the following. 

 This assembly consists of a base and a lid, which is attached using a pin connection.  We are going to start by investigating where the current zero reference is for the pin joint.  Therefore, go to Applications, Mechanism to activate mechanism mode. Next, click on the pin joint symbol on the model so it becomes highlighted in red.  Finally, right mouse click and select Joint Settings.  This will bring up the following window. 

Page 26: MDX_WF2_TOC

P a g e | 26

 We can see that the lid is currently at the zero location, but we want the lid to be completely closed when it is at zero.  Instead of trying different values in the field until we get one that looks like it mates the lid with the base (which we may never get an exact value), we are going to pick on references in the part to control this. In the middle of the Joint Axis Settings window, we see three tabs, entitled Zero Refs, Regen Value and Properties.  The Zero Refs tab is already selected, which is the one that we want.Before we do anything, we are going to look at our model, which currently has one of the parts highlighted in green, while the other is highlighted in orange, as shown below. 

 From the above figure, we can see that the base part (Zero_Refs_1.prt) is our green part, while the lid (Zero_Refs_2.prt) is our orange part.  In the window, we can see that we are going to select a reference for each of these models. Therefore, click in the little check box entitled Specify References and then you will be prompted to select the reference on the orange part.  We are going to pick the flat bottom of the rim that we want to mate up with the base part. When prompted to select the reference on the green part, we are going to select the top, flat rim of the base part.  The two references are shown below (highlighted in yellow to make it easier to see them).

Page 27: MDX_WF2_TOC

P a g e | 27

 Once both references are selected, we will now look back into our joint settings window.  We can see the angle value between them (which is currently 135 degrees).  Therefore, we know that 45 degrees separates our lid and base in its current position.  We will type in “0” and this is what we see.

 This is the opposite of what we want, so we will change the value to 180, and this is our result.

Page 28: MDX_WF2_TOC

P a g e | 28

 This is exactly what we want.  Now, we might be tempted to click on the Make Zero button, but it is not available at this time.  Therefore, if we want this to be considered the absolute zero, we can uncheck the Select References box, and then click on Make Zero.  Now, our zero value is set with the lid closed. Click on OK once you have made this the new global zero reference.  What do you notice?  The lid goes back to its open state.  We will address this in the next section. Save the assembly for now.

 

REGEN VALUE 

Go back to the joint axis settings for the pin joint again.  In the middle, click on the second tab entitled Regen Value.  This will look like the following figure. 

 We can see that our joint axis is currently at -45 degrees.  Down in the Regen Value area, we will click on the Specify Regeneration Value check box, and then keep the default of 0 in the Regeneration Value field, as shown below. 

Page 29: MDX_WF2_TOC

P a g e | 29

 What we are doing is telling Pro/ENGINEER that every time we regenerate this assembly, we want this pin joint to go back to its zero degree value, which will cause it to close.  Click on OK.  Your assembly may or may not automatically close.  If it does not, regenerate your assembly and it will close, as shown in the next figure.  To regenerate, you will need to go back to standard mode (Applications, Standard). 

 Save the assembly for now.

PROPERTIES 

There is one more thing we can define in the joint axis settings for this pin connection, and that is the properties – which allows you to control the limits of the motion of the connection. IMPORTANT: Limits should only be set to control the range of motion while dragging.  You should get in the habit of turning them off when you are ready to animate your mechanism, unless you need to simulate specific forces that arise from bodies hitting each other, where the limit assumes an impact location. To demonstrate the limits of this part, we will first rotate the assembly so we are looking at the back where it is hinged, as shown below. 

Page 30: MDX_WF2_TOC

P a g e | 30

 

We will begin by clicking on the drag icon (  ) and open up the lid past the vertical position, as shown below. 

 Click on Close to get out of the drag window.  The lid should remain open.  Return to standard mode (Applications, Standard), and then run a global interference check using Analysis, Model Analysis, Global Interference, Compute.  You should see an interference all along the back edge of the lid, as shown in the next figure. 

Therefore, we know we can’t go too far, or we will have interference.  This assembly was designed so that at 90 degrees, the back of the lid rests on the back of the base.  But, suppose, we didn’t know that it was 90 degrees.  How can we find out how far we can go?

Page 31: MDX_WF2_TOC

P a g e | 31

 We will use the Zero References again to find out the angle that we need to set as our limit.  Therefore, go back into mechanism mode using Applications, Mechanism.  Go back into the joint axis settings for the pin joint, and make sure you are on the first tab, entitled “Zero Refs”.  Start by typing in a value of “0” in the field at the top to close the lid. Next, click in the check box to “select references”, and then pick the following two entities (shown highlighted in yellow in the next figure). 

 When we do this, our joint axis settings window looks like the following figure. 

 From this window, we can see that the angle between these two surfaces when the lid is closed is -90 degrees.  Therefore, we can go from 0 to -90 degrees before the lid will start to interfere with the base at the back. Click on Cancel in this window to deselect the references that we just selected.  IMPORTANT: If you click on OK, it now sets the new zero location differently than what it was before. 

Page 32: MDX_WF2_TOC

P a g e | 32

When we click on Cancel the lid goes back to the last location we dragged it to.  Therefore regenerate the assembly (in standard mode) to get it to go back to zero (lid closed). Return to mechanism mode and then go back to the joint axis settings for this joint one more time, and this time click on the Properties tab, which will look like the following. 

 Start by clicking in the checkbox entitled Enable Limits.  This will make the other fields available, as shown in the next figure. 

 When setting joint axis limits, always remember that negative values are smaller than positive values, and therefore the smallest number is placed in the “Minimum” field.  Therefore, we are going to enter -90 in the Minimum field, and 0 in the Maximum field, as shown in the following figure. 

Page 33: MDX_WF2_TOC

P a g e | 33

IMPORTANT: The maximum range for limits is 180 degrees.  For example, if you are starting at -20 degrees, you can go to 160 degrees for a maximum.  To simulate a range over 180 degrees, you will be using servo motors (described in a later lesson). 

      

Coefficient of Restitution 

The following excerpt comes from the online help, and best describes what this field is for: “If you want to simulate impact forces for your cam-follower connection, slot-follower connection, or joint, specify a value for the coefficient of restitution. The coefficient of restitution is defined as the ratio of the velocity of two entities after and before a collision. Typical coefficients of restitution can be found in engineering textbooks, or from empirical studies. Coefficients of restitution depend upon factors including material properties, body geometry, and impact velocity. Applying a coefficient of restitution to your mechanism is a way to simulate non-rigid properties in a rigid body calculation.  For example, a perfectly elastic collision has a coefficient of restitution of 1. A perfectly inelastic collision has a coefficient of restitution of 0. A rubber ball has a relatively high coefficient of restitution. A wet lump of clay has a value very close to 0.” For our purposes, we are going to leave this with a value of 0, and then click on OK to finish out of this window. Use the drag tool and try moving your lid.  Notice that it will stop at the closed and 90 degree positions.  This is simulating a realistic range of motion for this assembly. 

CONNECT 

Page 34: MDX_WF2_TOC

P a g e | 34

In Mechanism mode, you can test the robustness of your mechanism using Mechanism, Connect.  What this will do is set any joint axes to their regeneration values, checks the body definitions to make sure you don’t have three different bodies used for a single constraint, etc. This is one way to get out of having to go back to standard mode to regenerate the model.  To demonstrate this, drag the lid back to an arbitrary location between its limits.  Then, go to Mechanism, Connect.  The following window appears. 

 With this window, you can specify certain components (bodies) that are immune to the check.  In our case, we will let all of the bodies get checked.  Therefore, click on Run, and then we will see the following. 

 At the same time, the lid closed, because it set the pin joint to its regeneration value of “0 degrees”.  Since it changed the current configuration of the assembly, it gives you the choice to accept the change or reject it.  To accept it, click on Yes.  Our assembly is back at the closed state.

 LESSON SUMMARY 

When defining mechanism constraints, you should always look at the joint axis settings for each constraint.  You can control the absolute zero location for the joint, as well as limits that the joint can travel. For consistency, you should set your regeneration value so that each time you regenerate or connect up the assembly, it goes back to the standard configuration. Use existing references on the models to find out where your zero location is, or how far you can go for a limit setting. 

EXERCISE 

Open up the Robot.asm assembly again.  If you recall from the last exercise, we created six different pin constraints.  For consistency, we’ll refer to them in the following order. 

Page 35: MDX_WF2_TOC

P a g e | 35

  

For this robot, we want to reset the zero value for joint #2 to be at the current -45 degree value.  We also want to reset the zero value for joint #3 to be at the current 45 degree value.  Then, set the joint axis settings for limits and regeneration values as the following:   

Joint Axis # Regeneration Value Minimum Limit Maximum Limit1 0 -90 902 0 -90 453 0 -90 904 0 -90 905 0 0 1806 0 -90 90

 Once you are done, try dragging your assembly around to see where everything stops.  When we run a Mechanism, Connect at the very end, and return to standard mode, we should have the following assembly configuration. 

Page 36: MDX_WF2_TOC

P a g e | 36

Lesson

Page 37: MDX_WF2_TOC

P a g e | 37

 

  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.  

                  

Page 38: MDX_WF2_TOC

P a g e | 38

POINT DRAG 

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. 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 elbow using your mouse.

 

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.)

Page 39: MDX_WF2_TOC

P a g e | 39

 

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. 

LOCK/UNLOCK BODIES 

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. 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. 

Page 40: MDX_WF2_TOC

P a g e | 40

 As you move your mouse around, you will notice two things.  The first is that all other components that came 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.

Page 41: MDX_WF2_TOC

P a g e | 41

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, 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. 

Page 42: MDX_WF2_TOC

P a g e | 42

 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.

 

ALIGN, MATE, ORIENT CONSTRAINTS 

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. 

Page 43: MDX_WF2_TOC

P a g e | 43

 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.  

Page 44: MDX_WF2_TOC

P a g e | 44

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. 

 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. 

JOINT AXIS SETTING CONSTRAINT 

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. 

Page 45: MDX_WF2_TOC

P a g e | 45

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

 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. 

Page 46: MDX_WF2_TOC

P a g e | 46

 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. 

DISABLE/ENABLE CONNECTION 

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. 

Page 47: MDX_WF2_TOC

P a g e | 47

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? 

 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.

 DELETE CONSTRAINT and ASSEMBLE 

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

using Current Constraints (  ).  

Page 48: MDX_WF2_TOC

P a g e | 48

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 – another module that works closely with Mechanism. 

ADVANCED DRAG OPTIONS 

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. 

Page 49: MDX_WF2_TOC

P a g e | 49

 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. 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.

 BODY DRAG 

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.

Page 50: MDX_WF2_TOC

P a g e | 50

 LESSON SUMMARY 

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. 

EXERCISE 

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 without adding any constraints.  Return to the original orientation using Mechanism, Connect. Next, try to isolate only the movement of the arms in the middle by locking the hinges at the base, as well as the mirror at the top.  Return to the original orientation when done. Finally, try forcing the middle arms to be parallel to the bottom arms while dragging.  Return to the original orientation when done. Save and close the assembly.

 Lesson

Page 51: MDX_WF2_TOC

P a g e | 51

 

  Lesson Objective: In this lesson, we will learn how to create snapshots of our assembly at different configurations, and how to use those snapshots for drawings.  

                  

Page 52: MDX_WF2_TOC

P a g e | 52

TRADITIONAL METHODS 

A snapshot is used to capture a particular state of an assembly based on locations of components.  To demonstrate snapshots, we will use the Zero_Refs.asm that we saw in an earlier lesson, which looks like the following. 

 If you remember from Lesson 3, the lid has some limits set at 0 degrees and 90 degrees.  At zero degrees, the lid is in the “Closed” state.  At 90 degrees, the lid is in the “Fully-Open” state. Outside of Mechanism mode, you would assemble the lid to the base using a datum plane that could be controlled by an angle.  Then, to capture the two different states of the assembly for a drawing, you would need to make a family table, and vary the datum plane from 0 to 90 in two separate instances. This is okay, but it ends up creating three different models (one generic and two instances).  We would rather save family tables for capturing different sizes in a family of parts, and leave the states to Mechanism. 

SNAPSHOTS

Page 53: MDX_WF2_TOC

P a g e | 53

 Snapshots are created in the Drag tool.  Therefore, we will begin by using Mechanism, Connect and force the lid to close, as shown in the next figure. 

 We will go to the Drag tool, and then click on the Take Snapshot icon (the little camera in the upper left corner of the Drag window.  When we do this, the word “Snapshot1” appears in the window and in the Current Snapshot field, as shown in the following figure.

 

 While the snapshot is currently highlighted in blue, we will type in a new name in the Current Snapshot field.  We are going to be very careful to remember NOT to use a space in the name, otherwise it will not work for drawing mode.

In the Current Snapshot field, type in Closed as shown below. 

Page 54: MDX_WF2_TOC

P a g e | 54

 Then, click on the Enter key on the keyboard.  The name will update out in the list of available snapshots, as we can see in the following figure. 

 

Now, we are going to click on the Constraints tab and use the  icon to set the current pin joint to -90 degrees, as shown below. 

 The lid on the model should be in the completely open state, as shown below. 

Page 55: MDX_WF2_TOC

P a g e | 55

We will now go back to the Snapshot tab, and click on the Take Snapshot icon.  When you see the generic snapshot name, type in Fully_Open in the Current Snapshot field and then hit the Enter key on your keyboard. We will now have two snapshots in our list, as show in the following figure. 

 We can toggle between snapshots by double-clicking on the snapshot name in the list, or by

highlighting one of them and pressing the Display Selected Snapshot (  ) icon.  The currently active snapshot is listed in the upper left corner of the main working window, as shown below for the Closed snapshot. 

 

SNAPSHOT TOOLS 

The icons in the Snapshots tab will be described in this section.  We already learned about

the Display Selected Snapshot icon (  ). 

Borrow Part Position From Other Snapshot (  ) 

Page 56: MDX_WF2_TOC

P a g e | 56

This tool allows you to re-use a position of one or more components within the same assembly that was saved in a different snapshot from the one that is currently active.  Start by opening up the lid to a half-way point (approximately 45 degrees).   Right now, we have two snapshots (Fully_Open and Closed).  In the “Closed” snapshot, the lid’s angle is 0 degrees.  We will start by creating a new snapshot, and then select this snapshot in the window.  Next, click on the Borrow Part Position icon, and you will see a list of all other snapshots that have been created, as shown in the next figure. 

 We want the new snapshot to have the lid in the closed position, therefore, we will select on the Closed snapshot.  When we pick the snapshot, the working window changes temporarily to reflect this snapshot. We will then pick on any component on the assembly whose position we want to copy into our new snapshot.  Therefore, pick on the lid component, and then click on the middle mouse button to accept it. Click on OK to complete this command, but don’t do anything else just yet.  We will need to click on the Update snapshot command to finish it. 

Update Selected Snapshot (  ) This tool is used to update the selected snapshot to reflect the way the model looks on the screen.  In this case, we have a snapshot that had the lid at ~45 degrees initially, and we borrowed the closed position of the lid from the Closed snapshot.  If we were to preview this snapshot now, it would go back to 45 degrees again.  We need to click on the Update icon so that the screen’s current configuration (with the lid closed) is saved as the existing snapshot. 

Make Selected Snapshot Available for Drawings (  ) Now that we have some snapshots, we want to use them in our drawing to call out the different states.  In order to do that, we first need to select the ones that we want, as shown in the following figure for Closed and Fully_Open. 

Page 57: MDX_WF2_TOC

P a g e | 57

Once you have the snapshots selected that you wish to use in a drawing, click on the Make Available for Drawings tool, and little camera symbols will appear next to the snapshot names. 

 These two snapshots can now be used in the drawing.   

Delete Selected Snapshot (  ) This is exactly what it sounds like.  Select a snapshot that you do not wish to keep (in this case – Snapshot1), and then click on this Delete tool.  The snapshot will disappear from the list. Close out of the Drag window, and save the assembly. 

SNAPSHOTS IN DRAWINGS 

Page 58: MDX_WF2_TOC

P a g e | 58

Now that we have two snapshots available for use in drawings, we will create a simple drawing to show how they work.  Therefore, create a new drawing called Zero_Refs, and make sure that the Zero_Refs.asm assembly is the model being used, and select a “C” size sheet, as shown below. 

 When the drawing opens up, change the scale to ½.  Next, click on the add general drawing view icon to start to place a new drawing view.  In the Drawing View window, select a FRONT orientation, and then click on the View States category. Check the “Explode components in view” box, and use the pull-down to select the CLOSED snapshot that we took, as shown in the next figure. 

 Snapshots are treated as exploded states in drawing mode.  That is why we select the Explode Components in View option.  Click on OK to complete this view. Repeat this process to create a second General, Exploded view representing the Fully_Open snapshot state.  Our final drawing looks like the next figure. 

Page 59: MDX_WF2_TOC

P a g e | 59

If we were to go look at the models added to this drawing, we would only see the single assembly.  If this had been a family table, we would have three different models assigned to this drawing, thus 3x the number of files to have to manage. If you make a change to one of the snapshots, it automatically updates in the drawing. 

LESSON SUMMARY 

Snapshots are a great tool to capture different states of a movable assembly.  You can then use the snapshots in your drawings to capture these different states on paper. Snapshots can also be used to determine initial configurations of animations, which will be talked about a little later. 

EXERCISE 

Open up the Robot.asm assembly, and create two different snapshots per the instructions below. Fully_Extended In this snapshot, we want to use the following settings for the pin joints shown in the following figure. 

Page 60: MDX_WF2_TOC

P a g e | 60

       

The model at these settings looks like the following. 

Page 61: MDX_WF2_TOC

P a g e | 61

Compressed For this state, we will be changing two of the settings from the last state to get the following. 

 The model at this state will look like the following.

Page 62: MDX_WF2_TOC

P a g e | 62

 

 Once you have both snapshots, make them available for the drawing, and create a new drawing called Robot.drw that uses an E size sheet with a scale of ¼.  Create two general views, one for each state, as shown in the following figure. 

 Use a Left orientation for both of these views.  Once you are done, save and close the drawing and the assembly.

Lesson

Page 63: MDX_WF2_TOC

P a g e | 63

 

  Lesson Objective: In this lesson, we will learn how to create servo motors, and run a simple animation and play back the results.  

              

Page 64: MDX_WF2_TOC

P a g e | 64

ANIMATIONS 

In Pro/ENGINEER, there are two different modules that will create animations of assemblies.  The first is Mechanism, which we are learning about in this class, and the second is Design Animation. The two packages go hand-in-hand, but the animation capability in Mechanism is really referred to as an Analysis, which we will learn about briefly in this lesson, and in more detail later on. Design Animation is designed to create complex animations, not only based on the allowable movement of an assembly as defined in Mechanism, but also exploded assembly and disassembly animations, which can not be done in Mechanism. 

TIMING for ANIMATIONS 

Out of the box, the default animation time in Mechanism is 10 seconds.  This is important to know, because the values that we will use when defining our servo motors will rely heavily on how much time we are going to animate the specific motor, and the range of motion we want it to capture in that time. To demonstrate Servo Motors and basic animation, we will start with our Fan assembly that we worked with in an earlier lesson, which looks like the following. 

 If you remember from Lesson 2, we reset the zero location so the blades would be straight up and down, but we never specified that we wanted to use “0” for regenerations.  Therefore,

Page 65: MDX_WF2_TOC

P a g e | 65

that will be the first thing we will do, just so we can always return to the absolute zero position. Enter into Mechanism mode (Applications, Mechanism), and then go to the joint axis settings for this fan.  Click on the Regen Value tab, and activate it to regenerate at 0 degrees.  Close out of this window, and then use Mechanism, Connect to set the assembly at the absolute zero, as shown below in a front view. 

Now that we have our fan ready, we’ll talk about timing again.  For this fan, we want the blade to spin.  Suppose we only want the fan to spin around one time for the entire animation, and we want the entire animation to last the entire 10 seconds (yeah, it’s a really slow fan). Therefore, we will set up a servo motor to capture the following requirement: 

360 Degrees in 10 Seconds Or an equivalent is… 

36 Degrees per Second 

SERVO MOTORS 

There are two types of motors in Mechanism, Servo and Force.  We will concentrate mostly on the servo motor in this lesson. To create a servo motor for our fan blades, we will click on the following icon in the Mechanism toolbar:

 NOTE: Be careful, because there are two icons that look similar.  The “Force” motor has a little black arrow running down the center of it. When you click on this icon, you get the following window. 

 

Page 66: MDX_WF2_TOC

P a g e | 66

You can create any number of servo motors for your assembly, and even more than one servo motor for the same constraint.  In this case, we don’t have any existing motors, so we will click on New to create one.  The following window appears. 

 The first thing I recommend is to rename the servo motor so you don’t forget which one it is.  In our example, we want the fan to spin in a clockwise motion, therefore we will rename it to CW_Rotation, as shown below. 

 Next, we need to pick which joint axis is going to be affected by this motor.  Therefore, click on the little black arrow, and then pick on the pin joint on the model.  The model should highlight and two arrows will appear, as shown in the following figure. 

Page 67: MDX_WF2_TOC

P a g e | 67

 The ground body highlights in green, while the rotating body is shown in Orange.  The magenta arrow is pointing in the positive rotation direction (based on the right hand rule).  The figure above, therefore, implies that a positive rotation is counter-clockwise. We can either accept this and enter negative rotation angles to drive the motor, or flip the direction and enter positive values.  We will flip the direction.  The window currently looks like the following figure. 

 Down in the middle of the window, we will click on the Flip button, and our model will update, as shown below.

Page 68: MDX_WF2_TOC

P a g e | 68

Profile Now that we have defined the name and the joint axis (which determines the type in this case), we are ready to continue to define the motor.  Therefore, click on the Profile tab, which initially looks like the following. 

The first thing you define is the specification of the movement of the motor.  Your three choices for this pin constraint are shown below. 

Page 69: MDX_WF2_TOC

P a g e | 69

          Position – Use this when you must control the exact angular rotation of the

component (we know we are going 360 degrees exactly).         Velocity – Use this when you know the velocity of the motor, but don’t necessarily

want to back-calculate the exact number of degrees it will go in the time specified.  This assumes a constant velocity of the motor.

         Acceleration – Use this if the motor changes velocity over the time frame specified. Because we are trying to do only one rotation (360 degrees) in the time of the analysis (10 seconds) we are controlling the position.  Therefore, we will leave the default of Position alone. The next thing we need to define is the Magnitude.  We have many different choices.  These are:

          Constant – This should NEVER be used for the Position specification, because it

holds the value at whatever degree you specify, thus preventing rotation.  Use this for Velocity or Acceleration if you know the value.

         Ramp – This is the one you most commonly use for Position specifications.  You enter a slope of position over time.  We will see this in more detail in a moment.

         Cosine, SCCA, et. al.  – The rest of these are used to define really specific motions of your motor based on your requirements.  For many of the analysis we do here, we use Constant or Ramp the most, therefore we will not go into great detail with

Page 70: MDX_WF2_TOC

P a g e | 70

examples for the rest of these.  Just be aware that you have different options to match your exact behavior of your motor.

 Ramp When you select the Ramp option, you get the following. 

 There are two fields: A and B.  These define a slope.  In this case, the x-axis of our slope represents time, while the y-axis represents angle.  Therefore, to cover 360 degrees in 10 seconds, the slope is 360/10 = 36. Had we needed to go counter-clockwise, the slope would have been -360/10 = -36.  When entering the value, it is most common to keep A=0, and then enter your slope value for B.  Therefore, we would enter 36 for B, and keep A=0, as shown below. 

 We can test to see if we got it right by clicking on the Graph icon, in the next section of the window.  Currently, the graph of Position versus time is shown below. 

Page 71: MDX_WF2_TOC

P a g e | 71

 You can see that at Time=0, we are at our starting position of 0 degrees.  As we approach Time=10 seconds, we can see an angle of 360 degrees.  Therefore, our values are correct. Click on the red X in the upper right corner to close this window.  Back in the Servo Motor window, we can see that we can also graph Velocity and Acceleration.  In the same graph, we can see what these are as well. 

 This fan maintains a constant velocity, so that is no surprise that the acceleration graph is a constant line at 0.  The velocity of the fan to rotate 360 degrees in 10 seconds is holding steady at the 36 deg/s mark, which again is no surprise.

Page 72: MDX_WF2_TOC

P a g e | 72

 Therefore, our servo motor seems to be defined properly.  Therefore, click on OK to finish out of this servo motor definition.  We are placed back at the following window. 

 We can see our server motor listed.  Click on Close to finish out of defining servo motors altogether.  On the model, we can see a new symbol that lies on the pin joint.  It looks like a little corkscrew, and represents our servo motor location and direction, as shown in the following figure. 

 Save the assembly. 

ANALYSIS (Animations) 

Now that we have a servo motor defined, we need to run an analysis to see the animation.  Therefore, we will click on the following icon in our Mechanism toolbar. 

  

This will bring up the following window. 

Page 73: MDX_WF2_TOC

P a g e | 73

 We can create multiple analyses for a single assembly.  Start by clicking on New, which brings up the following window. 

 We want to get in the habit of renaming our analysis.  Therefore, enter 1_Full_Turn in the Name field.  The next figure breaks down this window. 

Page 74: MDX_WF2_TOC

P a g e | 74

 For a simple animation, we will use a Kinematic analysis.  We will go into more detail about the different types of analyses in a later lesson. Down in the Preferences tab, we will define the timing of the analysis (animation).  We can see that the default values start the analysis at 0 seconds and end at 10 seconds.  The default method for defining the timing is using Length and Rate, which we will leave alone for now. The Frame Rate defines the frames per second calculated in the animation.  The larger the frame rate, the smoother the animation, but the longer the time it will take to get the results.  We will leave 10 as the default for now. In the next section, we can use the familiar Lock/Unlock bodies constraint that we saw in the drag window.  Most of the time, unless you are just testing a servo motor, you will let the entire assembly run through the animation. Finally, you can specify how the analysis starts.  The reason we set the regeneration value at 0 for our joint axis is so we could use Mechanism, Connect to define our starting position for our animation.  That would correspond to Current in the selection box. Be careful, however.  If you do not “Connect” up your assembly, the animation will start at the exact location it is currently sitting, which could cause a problem if you have limits set.  You can also use an existing snapshot to define the starting position of the components in the assembly. We will leave the defaults alone, so our Preferences tab will look like the following figure. 

Page 75: MDX_WF2_TOC

P a g e | 75

 Motors Once you have defined the timing for the overall animation, you can specify how you want the motors to perform.  Click on the motors tab, and you will see the following. 

 If you remember, we have one servo motor defined for this assembly, called CW_Rotation.  It is automatically listed in the window.  It is currently set to start at the beginning of the time sequence (Start), and set to stop at 10 seconds (End).  You can click anywhere in those fields and type in a numerical time.  For example, suppose you only wanted the fan to spin clockwise for 5 seconds.  Therefore, you could start it at the Start position, and end it at 5, instead of End.  Be aware, however, that your velocity will not double just because you specified a shorter running time.  You can only control the speed of the motor in the Servo Motor tool.

Page 76: MDX_WF2_TOC

P a g e | 76

Once you have your motors set up, click on Run at the bottom to view the analysis calculation.  You should see your assembly animate.  Depending on the calculations necessary, it may not animate it fluidly.  It may animate small blocks of frames at a time.  You can watch the progress in the lower right corner of the Pro/E window. In our case, you should see the fan rotate one complete turn just as it hits 100% complete.  Once it is done running, click on OK to close out of this window, followed by Close to get out of the definition of analyses. 

PLAYBACK RESULTS 

The next step is to review the results of the analysis (playback of the animation).  To do this, click on the following icon in the Mechanism toolbar. 

 This brings up the following window. 

 We will go into the playback tools in greater detail in a later lesson.  For now, click on the upper left icon (the one that looks like the same icon that we pressed to get into this window).  This brings up the play window, which looks like the following. 

Page 77: MDX_WF2_TOC

P a g e | 77

Use the controls described above to watch back your animation.  NOTE: It may not actually be in real time.  Once you have watched your movie over and over, go ahead and close out of this Animate window.  Back in the Playbacks window, click on the Save icon in the top row of icons.  This will create a playback file (1_Full_Turn.pbk) in your working directory. If you don’t save your results, you will have to re-run the animation.  Saving your assembly saves all servo motors, animations, etc., but not the playback file.  Click on Close to get out of playback mode, and then save your assembly. To view an already saved MPEG movie, open up the Fan_Demo.mpg file in your training directory.

 LESSON SUMMARY 

To create animations for your assemblies, create servo motors.  Remember to determine the specifications and magnitudes of your motors to accurately simulate your real motors. Use a Position specification along with Ramp when you want to animate a component going through a specific range of motion, such as a total number of degrees. Create an analysis for your assembly and specify start and stop times, as well as the motors that will be running. Play back your analysis to view the results, and save any results files to avoid having to re-run the animation unless you make changes. 

EXERCISE 

Go back to this fan assembly and redefine the servo motor to run at a velocity of 1200 RPM.  Create an animation for 10 seconds based on this new motor.  Save your results that you get from the playback. HINT: Make sure that it is still going clockwise, and you may need to bump up your frame rate to 100 frames per second to see any movement. Zero_Refs Create an animation for this assembly to open the lid from the closed position over a span of 5 seconds, then completely close it over another 5 seconds, thus creating a 10 second animation. HINT: You will need two different motors to accomplish this task, one that moves in a CW direction, and another that moves in a CCW direction.

 Lesson

Page 78: MDX_WF2_TOC

P a g e | 78

 

  Lesson Objective: In this lesson, we will go into more detail into the playback tool, looking at interferences, trace curves, etc.  We will also learn about creating MPEG movies and considerations for this.  

              

Page 79: MDX_WF2_TOC

P a g e | 79

MPEG-1 FILES 

When you are playing back an animation from an analysis, you have the ability to create a movie file.  This movie file is created in the MPEG-1 format, a widely accepted format.  Windows Media Player, Real Player, Quicktime, etc. will all play this type of file. The only thing you have to consider is the default playback frames per second that these applications use.  For this lesson, we will concentrate on Windows Media Player files, because that is the most commonly used player with computers today. Windows Media Player plays MPEG-1 files back at a rate of 24 frames per second.  This will have a significant impact on the time your movie takes to run.  For example, suppose we create a movie that is supposed to realistically capture an exact motion of a robot loading and unloading an item from a shelf. If you remember, the default settings for an analysis are: 

         Start Time = 0         End Time = 10         Frames Per Second = 10         Minimum Interval = .1         Frame Count = 101

 If we play this movie back in Windows Media Player, it won’t run for 10 whole seconds.  In fact, it will only run for 4.2 seconds.  How do I know this?  The total number of frames in our movie is 101.  The playback speed of Windows Media Player is 24 frames per second, therefore: 

 To get a true 10 second animation out of Windows Media Player, you need to have 240 frames in your animation, or in other words, you need to set your frame rate to 24 frames per second. We will demonstrate this now. 

Page 80: MDX_WF2_TOC

P a g e | 80

EXAMPLE – FRAME RATE 

Open the assembly entitled Frame_Rate, which will look like the following. 

This assembly already has a snapshot created called Starting_Position, that marks the beginning of our animation.  We will create a new servo motor, analysis and generate a movie from the playback results. 30 Second Animation The goal for this first attempt is to create an MPEG movie that captures one complete rotation of the arrow in 30 seconds.  Therefore, at 24 frames per second, we need to have 720 frames in our analysis. The first thing we need to do is create the servo motor that will generate 360 degrees in 30 seconds.  Therefore, go to Applications, Mechanism and click on the Create Servo Motor

tool (  ).  Create a new servo motor called One_Rev, and select on the pin joint.  For the Profile, set the Ramp magnitude to A=0 and B=12, and then click on the graph icon.  We should see the following. 

Page 81: MDX_WF2_TOC

P a g e | 81

 The default range for the “Time” scale is 10 seconds.  At Time=10 seconds, we can see the magnitude is 120 degrees.  Therefore, at 30 seconds, it should be 360 degrees.  To know for sure, we can go to Format, Graph from the menus at the top of the graph window, which looks like the following. 

 On the Y Axis tab (which is already selected), we will change the Maximum Range value from “120” to 360, as shown below. 

Page 82: MDX_WF2_TOC

P a g e | 82

 On the X Axis tab, change the Maximum Range value to 30, as shown below. 

 Then, click on OK to update the graph, which will now look like the following figure. 

Page 83: MDX_WF2_TOC

P a g e | 83

 We can clean this up more if we want to using the graph settings, but we can see from this graph that at Time=30, we have a magnitude of 360 degrees.  Close out of this graph window, and then click on OK in the servo motor definition window.  Close out of the Servo Motors window. 

Now, we need to create an analysis.  Therefore, click on the Analysis tool (  ).  Rename the analysis to 30Sec_Spin, and change the following settings: 

         Start Time = 0         End Time = 30         Frame Rate = 24

 This should automatically create the frame rate of 721 (note – it will actually turn out to be 720 when the animation is created). Set the start condition to use the Starting_Position snapshot.  The window should look like the following. 

Page 84: MDX_WF2_TOC

P a g e | 84

 Go to the Motors tab, and make sure your servo motor is set to go from the start to the end, as shown below. 

 Then, click on Run.  The animation should go through one complete turn.  Once the animation is done, click on OK to close out of the Analysis Definition window, and then click on Close to close the Analyses window.  Before we do our playback, we will re-orient the model.  Go to a FRONT view, and zoom out so that if you were to drag the arrow around, you would see it all the way around.  The reason we are doing this is because when we create an MPEG from Mechanism, it takes a snapshot of the working window at each frame.  If your model goes off the screen, it will go off the screen in the MPEG movie that you create.  Once your model is in the FRONT view and zoomed properly, we can go to the results window. 

Page 85: MDX_WF2_TOC

P a g e | 85

Go to the playback tool (  ) and press the play button in the upper left corner.  You will get the following window. 

 At the top, you can see the total number of frames for this animation is 720.  Down in the lower left corner, there is a button entitled Capture.  Click on this button.  It will bring up the following window. 

 At the top of this window, you can enter a new name for the MPEG movie.  It defaults to the name of the assembly.  We will call our movie 30_second.mpg.  The image size of the movie is automatically selected based off of the aspect ratio of your working window.  I would leave this alone. In the Quality section, you have the ability to render your movie.  This will enable Pro/PHOTORENDER to render each frame individually.  It creates a nicer movie, but it takes a long time (the amount of time it takes to render one frame times the total number of frames – 720 in this case).  We will leave this unchecked for now. Finally, you can specify a frame rate at the bottom.  You have three choices: 25, 30 or 50.  Honestly, you are better off for Windows Media Player leaving it at the default of 25.  It will get you closest to the playback rate of 24 frames per second. Once you are ready, click on the OK button. 

Page 86: MDX_WF2_TOC

P a g e | 86

IMPORTANT: It is a good idea to turn off any screen savers or power settings that may interrupt the recording of the MPEG movie.  Since it does a series of “screen captures” (unless you use the Photorender option), any files you open, and windows that pop up in front of the screen, etc. will be incorporated into the movie. Once the movie is done, click on Close from the player.  Save your results file, followed by Close from the results playback window.  Go to your working directory and play the movie.  It should open up in Windows Media Player, as shown below. 

 If you notice, the total time listed in Windows Media Player is 29 seconds instead of 30 seconds.  This might have something to do with the fact that we record the 720 frames at 25 frames per second, and then play it back at 24 frames per second, but it is very close to what we need. 

TRACE CURVES 

One of the helpful tools in Mechanism is the ability to create a trace curve to capture a particular point’s path on the model as it goes through the motion.  We will use this same assembly to demonstrate this. To get to the trace curve functionality, we will go to Mechanism, Trace Curve from the menu bar.  It will bring up the following window. 

Page 87: MDX_WF2_TOC

P a g e | 87

 The way a trace curve works, is you first specify a “Paper Part”.  This is one of the parts in the assembly that the datum curve will be created in.  It can not be the same part that contains the point or vertex that is creating the curve.   It is a good idea to use a non-moving part, such as the ground for this.  Therefore, we will select the Frame_One.prt part (the green handle).  Then, we are asked to pick a datum point, vertex or curve endpoint on a different part that will create the curve.  We are going to pick the front vertex at the end of the arrow, as shown below. 

 Considering that our arrow stays in a two-dimensional plane, we can leave the default of 2D curve.  Otherwise, we would need to pick 3D curve if this vertex were traveling in more than two directions. The last thing we need to do is specify the results set that contains the animation information.  We already saved our set for the 30Sec_Spin animation, so we can select that one, as shown in the next figure. 

Page 88: MDX_WF2_TOC

P a g e | 88

 If you were just opening up the assembly, you could retrieve in an existing set.  If you did not have a results set, you would first need to run an animation, and then generate a results set to pick. Once we have the result set picked, click on OK.  It will (transparently) go through the motion and generate the curve, which looks like the following. 

 If we show features in our model tree, and expand the Frame_One.prt component, we can see the feature that it now contains for this trace curve. 

Page 89: MDX_WF2_TOC

P a g e | 89

 Go ahead and save this assembly. So what does a trace curve do for us?  It gives us a physical representation of the motion of a vertex or point on a component.  That curve can be used to generate other parts, or help us define the shape of a cam, etc.  It can even help us identify space necessary to work around our moving assembly. Now, we will look at another tool that also helps us identify space claim information, called a Motion Envelope. 

MOTION ENVELOPE 

A Motion Envelope is a lightweight part that gets created in the context of a mechanism assembly.  It can be assembled into other parts to help work around the necessary space required for that assembly as it is in motion without having to bring in the whole assembly itself. 

The way it works is pretty simple.  First, go back to the playback tool for our assembly (  ).  At the top of this window, there is an icon at the right end of the toolbar that looks like a blue envelope.  The tool-tip that appears if you leave your mouse over it says Create a motion envelope. Click on this and you will see the following. 

Page 90: MDX_WF2_TOC

P a g e | 90

 By default, all the components in the assembly are selected.  We will leave this alone.  We can also see that it automatically ignores skeletons and quilts.  This is good, because we might have large surface or datum features in our assembly that are only there to help us build geometry, but doesn’t actually appear in the real assembly that is manufactured.  Therefore, we will leave these checked. The default type of part created is Part, which is a basic Pro/ENGINEER part.  We will leave this alone as well, but you can see that you can create a light-weight part (LW Part), an STL file or a VRML. The file name given to the part is listed in the field at the bottom.  We will leave this name alone.  The last thing we will talk about is the Quality field at the top entitled Level.  It is currently set to 1. For now, let’s accept this and click on the Create button at the bottom.  A new window will open indicating which part we are going to use as the basis to create this part, and we should see startpart (or our current start file – depending on division) selected by default, which is what we want. 

Page 91: MDX_WF2_TOC

P a g e | 91

Click on OK to continue, and it will create the part in the background.  Once it is finished, the message window will say “FRAME_RATE_ENV0001 has been saved.”  Close this window, and then close the playback window.  We will open up this part, which will look like the following figure.  NOTE: You may get a message saying that you have not saved your results before exiting Mechanism.  That is okay. 

 This is really a rough representation of the assembly as it goes through the motion.  In some cases, this is adequate, in others – not so much.  It really depends on the level of detail you need up close to the assembly. Just for fun, go back to the assembly, re-enter mechanism mode, and then go back to the results window again.  If you do not see the Create a motion envelope icon, you may need to re-read in your results file.  If you do not have a results file, you will need to re-run the analysis. In the motion envelope window, click on the up arrow next to the level 1 field.  You will get the following message. 

 We will go ahead just to show you that it really does take a long time to generate a high-quality motion envelope.  Once you click on OK, bump up the quality level to 10, and create the Frame_rate_env0002 part.  After a good length of time (probably up to 10 minutes

Page 92: MDX_WF2_TOC

P a g e | 92

depending on the speed of your computer), the part is created, and when you open it, it looks like the following. 

 NOTE: I turned the display to no-hidden line to see it easier when zoomed out.  If you zoom in while shaded, you can see the part that is created.  It obviously had a harder time generating the triangular surfaces for the greater detail, but you can see that the overall shape of this part is a lot closer to the assembly than the first one. Go back to the assembly and save it, and then close it.

 INTERFERENCE DETECTION 

Perhaps one of the most useful things about mechanism is the ability to identify interferences through a complex range of motion that might not be easily detected otherwise. If you think back to how you traditionally do interferences without mechanism, you would have to modify an angle or dimension to update the location of components, run an interference detection, and then continue on with this process. You hope that you manage to pick a dimensional increment that happens to put the assembly into a configuration where an interference occurs, but not always does this happen. The mechanism animation tool has an interference check built into it that you can run to test the range of motion.  Granted, it is still only calculating per frame, but your chance of finding the interference is greater than without it. 

Page 93: MDX_WF2_TOC

P a g e | 93

To demonstrate this, we will go back to the fan assembly. Fan.asm In the fan assembly, enter into Mechanism mode.  Go to the analysis tool and delete the existing analysis.  Then, go to the servo motor tool and we will edit it to contain the following values: 

 We are going to have this fan go through one complete rotation for the 10 second animation.   Next, go to the Analysis tool and create a new analysis called Interference, and set it up as follows. 

 

Page 94: MDX_WF2_TOC

P a g e | 94

Then, click on Run.  Do not worry if the fan is moving counter-clockwise.  That is okay for this demonstration.  Once the analysis is complete, click on OK, followed by Close, and then go to the results window. In the results window, we have some options at the bottom, as shown below. 

 The Mode options are as follows: 

         No Interference – Does not perform any interference check during playback.         Quick Check  - Performs a very low-level check for any interference (would work

well in this case, because we have very obvious interference)         Two Parts – Check interference between only two parts (we only have two parts in

our current assembly, but this would be good if we know that out of a larger assembly, there is only potential to have interference between two parts)

         Global Interference – Check the entire assembly for interference – full check. 

The Options selections are as follows:         Include Quilts – Include any quilt surfaces into the interference check.         Stop Playback – Automatically stops the animation in the playback at the first sign

of interference.  This is useful if the interference is so slight that you might not see it during the playback because the parts go fast enough to pass right through it in a short duration of time.

 We are going to perform a Global Interference for this playback.  We will leave the other options unchecked for this demonstration.  When you click on the play arrow, it will calculate the interference for each frame, and then bring you the player controls. As you play the animation, you will be able to see the areas of interference as they are encountered highlighted in red, as shown in the following figure. 

Page 95: MDX_WF2_TOC

P a g e | 95

 You can even use the Capture button to get an MPEG file that shows the interference.  To see this, open up the FAN_Interference.mpg file in your training directory. Go ahead and save the playback file for this analysis, and then save and close this assembly.

 

LESSON SUMMARY 

You can create MPEG-1 movies of your animations that can be played with Windows Media Player or other popular media players.  The key to getting your animation to run for the exact amount of time is to use a frame rate of 24 frames per second.  If the total animation time is not important, you will not need to worry about this. Some important tools that you can use in conjunction with playback are trace curves, motion envelopes and interference detection. You can even create Photorealistic animations of your assembly.

 

EXERCISE 

Go back to the Zero Refs assembly.  Delete the existing analyses and servo motors.  Create a new servo motor (called Open_up) and analysis (called 15Sec_Run) to open the lid 90 degrees over a span of 15 seconds. Create an MPEG movie of this analysis.  Next, generate a motion envelope at a quality level of 5 to see the entire space claim for this part during its animation.      

Page 96: MDX_WF2_TOC

P a g e | 96

 Lesson

 

  Lesson Objective: In this lesson, we will look at some advanced servo motor functions, such as table-driven motors.  

              

Page 97: MDX_WF2_TOC

P a g e | 97

SERVO MOTOR RECAP 

Before we talk about some more of the advanced servo motor functions, we’ll take a moment to recap the basics that we have learned about already.  The first thing you have to decide when you are creating a servo motor (besides the name and the joint being used) is whether you are driving the motor based off of position references, velocity or acceleration. Position Servo Motors When defining position servo motors, you do not want to use Constant for the magnitude, otherwise, the motor won’t do anything.  The most commonly used magnitude for performing basic motion, such as opening and closing the lid of an assembly, is to use the Ramp option. When you use Ramp, you are defining a slope that determines magnitude over time.  Therefore, if you are trying to open a lid 90 degrees in 10 seconds, you would have values of A=0 and B=9 (90/10). The key is to identify the starting value for magnitude and whether you are going in a positive direction or negative.  If you recall from the example where we created two servo motors to open and close a lid, the first servo motor was starting from 0 degrees and going to -90 degrees over a 5 second time. Therefore, our values were A=0 (starting position) and B=-18 (slope = -90/5).  The second motor was starting at -90 degrees and going in a positive direction back to 0 degrees over another 5 second time interval.  Therefore, its values were A=-90 (starting position) and B=18 (slope = 90/5). The value for the slope is the total distance traveled divided by the total time you are trying to do it in.  Therefore, to go -120 degrees in 4 seconds, starting from 0 degrees, your “A” value would be 0, and your slope would be -120/4 = -30. Multiple Servo Motors for Single Constraint If you also recall from the same example of the lid and base assembly, we had to place a small time gap in between the end time of the first servo motor, and the start of the second servo motor.  The analysis motors portion looked like the following: 

Page 98: MDX_WF2_TOC

P a g e | 98

Servo Motor Start Time (sec) End Time (sec)Open_Lid Start 5Close_Lid 5.0001 End

  The reason is because we placed two servo motors back-to-back in the time sequence that were affecting the same pin constraint.  We can overlap servo motors as long as they are not on the same constraint (which also means we can do back-to-back with no time gap, as long as they are not on the same constraint). If we had a 15 second animation for this lid where the first servo motor opened the lid in 5 seconds, and then the lid stayed open for 5 seconds, and then finally closed using the second servo motor the last 5 seconds, then we could have set our analysis motors using the following convention. 

Servo Motor Start Time (sec) End Time (sec)Open_Lid Start 5Close_Lid 10 End

Rotating Parts with Position Servo Motors When you are trying to simulate a rotating part, such as the blades on our fan assembly, you have to decide two things when setting up the servo motor. The first is, “How long do you want your animation to be?”  The second is, “How many times do you want the object to go around in this time frame?” If you are just going to perform a playback to view the results, you may only want it to go around one full revolution (360 degrees) in the total animation time.  If you plan on creating an MPEG movie of your animation, you may want it to go around several times to get the idea across to your audience. The trade-off will be related to the number of frames in the animation you want to use.  If you recall the example where we created a motor to run at 1200 RPM, you needed to use a larger frame count to capture different positions as it went around.  Therefore, the more times you want it to go around, the larger the frame count, and the longer the animation time will be. 

TABLE-DRIVEN SERVO MOTORS 

To demonstrate this concept, we will go back to the Zero_Refs.asm assembly.  Open up this assembly, go to a default view, and enter into Mechanism Mode.  Your assembly will look like the following. 

Page 99: MDX_WF2_TOC

P a g e | 99

 Delete any existing Analyses and Servo Motors you may have in the model.  We are now ready to discuss table-driven servo motors. We are going to re-create the motion of opening and closing this lid over a 10 second time frame, but we are going to do this with one servo motor.  You might be saying to yourself: “Hold on a minute.  Earlier, you told us that we can not reverse the direction (magnitude) of the servo motor in a single motor!”  You are correct.  In the way that we have been developing servo motors using Ramp, you can not change the direction of the magnitude with a single motor. The same is not true with a Table servo motor.  Go to your servo motor tool and create a new servo motor called Lid_Motion.  Select the existing pin constraint to use for the servo motor. On the Profile tab, we are going to select Position and then use the Magnitude pull-down to select Table.  Our window should currently look like the following. 

Page 100: MDX_WF2_TOC

P a g e | 100

 

Out in the middle of the window, there are two icons.  The top one (  ) is used to add rows to our table.  The second one is used to delete selected rows from the table.  We will add 5 rows to the table, therefore, click on the Add Row icon 5 times.  Your window will now look like the following. 

When entering the values in the table, you must think of it in absolute terms.  Therefore, we know that at Time=0, we will be at 0 degrees.  At Time=2.5 seconds, we will be at -45 degrees.  At Time=5 seconds (halfway into our animation), the magnitude should be -90 degrees.  As it gets to Time=7.5 seconds, we are closing the lid, so our position should be -45 degrees again, and finally at Time=10 seconds (the end of the animation), the lid is closed again at a magnitude of 0 degrees. This is exactly how we will enter this data into the rows, as shown below. 

Page 101: MDX_WF2_TOC

P a g e | 101

 Just below the table, we have some options for importing or exporting table data into this window without having to type it. Just below that, we have some Interpolation options.  Linear Fit produces a line graph between the points we entered, therefore, if we graph magnitude versus time (Position) for our table data, we would see the following figure. 

Page 102: MDX_WF2_TOC

P a g e | 102

 Even though we are not able to graph velocity versus time for the Linear Fit option, we can assume that the velocity will be constant as it opens, and equal (but negative) when closing. If we were to select the Spline Fit, option, it graphs a spline through the points, making a different Position graph, as shown below. 

 For the Spline Fit option, we can graph velocity as a function of time, and we can see what it is doing, based on the next figure. 

Page 103: MDX_WF2_TOC

P a g e | 103

 This will cause the motor to speed up and slow down over the entire range of motion.  For our first analysis, we will select the Linear Fit option and then click on OK to finish defining this servo motor.  Close out of the servo motors window. Go to the analysis tool, and create a new analysis, called Lid_Animation.  Change the starting configuration to use the Closed snapshot, as shown below. 

Page 104: MDX_WF2_TOC

P a g e | 104

We will leave the timing and frame options in their default values.  Click on Run to view this analysis.  The lid should open and then close using a constant velocity.  Click on OK to finish out of the definition of this analysis, followed by Close to get out of the Analyses window. Go to the playback tool and create an MPEG movie called Lid_Linear.mpg.  Now, go back and edit the servo motor that we just created and change the option from Linear Fit to Spline Fit.  Click on OK to finish this, followed by Close.  Then, go back and re-run the analysis (you will click on Yes to overwrite the existing results file).   Go to the playback tool and create another MPEG movie called Lid_Spline.mpg.  Play both movies from your working directory.  Notice any difference?  There isn’t one.  This is because it is always assuming a smooth fit when it runs the analysis, and the spline fit option actually is more realistic for what it is doing. Save and close this assembly without saving the results file.  If you would like to see a side-by-side comparison of these two options, play the Lid_Comparison.mpg file located in your training directory.

 

OTHER MAGNITUDE SETTINGS 

There are additional magnitude settings to choose from.  So far, we have learned about Constant (for Velocity or Acceleration profiles only), Ramp and Table.  The others are outlined below, but only the Cosine function will be demonstrated, as it somewhat relates to similar analyses that we have performed. The following comes directly from the Pro/HELP documentation. 

Magnitude Type

Description Required Settings

Cosine Use if you want to assign a cosine wave value to the motor profile.

q = A*cos(360*x/T + B) + C A = AmplitudeB = PhaseC = OffsetT = Period

SCCA Sine-Constant-Cosine-Acceleration – Use to simulate a cam profile output.  Can only be used with Acceleration profile and Servo Motors (not Force Motors).

See Next Section entitled SCCA

Cycloidal Use to simulate a cam profile output. q = L*x/T – L*sin(2*pi*x/T)/2*Pi L = Total RiseT = Period

Parabolic Can be used to simulate a trajectory for a motor q = A*x + 1/2*B(x2) A = Linear CoefficientB = Quadratic Coefficient

Polynomial Use for generic motor profiles Q = A + B*x + C*x2 + D*x3

 

A = Constant term coefficientB = Linear term coefficientC = Quadratic term coefficientD = Cubic term coefficient

User Defined

Use to specify any kind of complex profile defined by multiple expression segments

See Section entitled User Defined

 

Page 105: MDX_WF2_TOC

P a g e | 105

  Cosine We are going to demonstrate the cosine servo motor magnitude by going back to the Frame_Rate.asm assembly. Open up this assembly, go to Mechanism Mode and delete any analyses and servo motors that exist.  Then, create a new servo motor called Cosine.  For the profile, select Position and Cosine from the available fields. We are going to enter values for the different options based on making the arrow start at 0 degrees, travel an entire 180 degrees clockwise and then back to 0.  Therefore, we will enter the following values: A=90 degrees, B=0, C=-90 (to start at 0) and T=10 seconds, as shown below.

 Click on the graph icon to see how this will affect our position, as shown in the next figure. 

Page 106: MDX_WF2_TOC

P a g e | 106

We can see that we will start at zero degrees at Time=0.  We will then travel -180 degrees (clockwise direction) and then come back to 0 at Time=10.  Click on OK, followed by Close and then go to the analysis tool. Create a new analysis called Arrow_Cosine, and start the analysis at the Starting_Position snapshot.  Leave all other fields in their default values, as shown below. 

 Run this analysis, and you will see that it goes through the entire 180 degree motion clockwise before returning back to the zero degree mark.  You could use this Magnitude option to open and close the lid with one servo motor, instead of using a table-driven motor. To see the result of this analysis, open up the Arrow_Cosine.mpg movie in your training folder. Save and close this assembly without saving the results file.

 

SCCA 

This is a separate topic, only because there was not enough room in the previous table to define the constants and equations for this type of Magnitude.  As mentioned before, this type of motion profile is only available for the Acceleration option with Servo Motors. The parameters for this setting are: 

         A = Fraction of normalized time for increasing acceleration         B = Fraction of normalized time for constant acceleration         C = Fraction of normalized time for decreasing acceleration

 Where: 

A + B + C = 1

Page 107: MDX_WF2_TOC

P a g e | 107

 The values of A and B must be entered, as well as the following. 

         H = Amplitude         T = Period 

The overall value for SCCA is calculated based on the conditions shown in the following table. 

for 0 <= t < A y = H*sin[(t*pi)/(2*A)]for a <= t < (A + B) y = Hfor (A + B) <= t < (A + B + 2*C) y = H*cos[(t – A – B)*pi/(2*C)]for (A + B + 2*C) <= t < (A + 2*B + 2*C) y = -Hfor (A + 2*B + 2*C) <= t <= 2*(A + B + C) y = -H*cos[(t – A – 2*B – 2*C)*pi/(2*A)]

 Where t is the normalized time and is computed by: 

t = t_a * 2/T 

Where: 

         t_a = Actual Time         T = Period of the SCCA profile

 USER DEFINED 

A User Defined function enables you to specify Magnitude as a set of expressions and domain constraints.  These expressions are a function of time.  When you enter into this Magnitude you can add rows (just like we did for the Table option), where you can enter expressions as a function of t (NOTE: “t” must be in lowercase). There are two types of rows you can create, Expressions and Domains.  For “Expressions”, a default expression as a function of t appears and you can edit it.  For “Domains”, you enter time domains.  For example, to enter a time range from Time=0 to Time=5, you would type: 

0 < t < 5 There are other options to this Magnitude, and it is outlined well in the online help system. EXAMPLE: Suppose you want to create a servo motor that starts an object off at 0 degrees at Time=0.  Between Time=0 and Time=5, we want to rotate the object 90 degrees.  Then, it holds at 90 degrees for another 5 seconds.  At T=10 seconds, the object starts to rotate back to the starting position, and ends up at 0 degrees at T=15 seconds. If we try to do this with a Table-Driven motor, we might have the following servo motor definition.

Page 108: MDX_WF2_TOC

P a g e | 108

 Plotting a Linear Fit graph gives us the following. 

 This looks okay, but what does the Spline Fit graph look like?  The following figure shows us. 

Page 109: MDX_WF2_TOC

P a g e | 109

 From this graph, we can see that it never really stops for 5 seconds, instead it just gradually approaches the top of the graph.  The other thing we notice is that it goes well beyond 90 degrees.  It has to do this to make a smooth curve (spline).   If you remember from our example with the lid, we saw no difference between the animations created by the linear fit and spline fit options.  Therefore, we will need to alter our table to include more points.  We might add intermediate points between our original values, and our servo motor profile now looks like the following. 

Page 110: MDX_WF2_TOC

P a g e | 110

The Spline Fit graph for this table now looks like the following. 

 This graph looks better, but it is still exceeding 90 degrees and not holding steady at 90 degrees for the 5 second in the middle of our animation.  We can continue to add more points, but it will be easier to make a User-Defined profile. Therefore, we change the option from Table to User Defined, and add three rows.  In the Domain column, we enter the three time domains as follows. Domain 1:   0 <= t < 5 (time goes from 0 (including zero) to 4.99999999999999)Domain 2:   5 <= t <= 10 (time goes from 5 to 10 (including 5 and 10))Domain 3:   10 < t <= 15 (time goes from 10.00000000000000001 to 15 (including 15)) As you start to type, your “t” may appear as a “T” (uppercase).  If you accept this, Pro/E will give you a warning about a bad expression.  You must make sure that the “t” is lowercase. Our window will currently look like the following: 

Page 111: MDX_WF2_TOC

P a g e | 111

In the Expressions column, we need to write three functions to describe what is happening in these different time domains. Domain 1: In this domain, time is going from 0 to 5 (approximately), and it covers a range of 90 degrees.  Therefore the slope of this function is 18.  Our equation y = 18t + b is what we will use to determine the function for y (magnitude).  At t=0, y=0.  At t=1, y=18.  At t=2, y=36.  At t=5, y=90.  Therefore, b=0, based on these observations. This leaves us with the following expression for y: 

Y = 18 * t 

Therefore, the expression that we will enter in this first row is 18*t.  If you want to enter into an Expression Definition Wizard, pick on the little icon on the right side of the window that looks like a pencil writing on paper.  It will bring up the following window. 

 We can already see the “t” in the field, just add “18*” in front of it, or click on the icons at the top for additional assistance.  NOTE: You can also define your time domains here as well.

 Domain 2: In this domain, we are holding at 90 degrees.  Therefore, the slope(m) is 0.  Our expression Y = mt + b therefore becomes just Y=b.  Therefore, we will enter 90 for the expression field for this row. Domain 3: In this domain, we are starting from 90 degrees and going back to 0.  The problem with this one is that we are starting from t=10 and ending at t=15.  We know that the slope(m) is -18, so we can solve for b by the following: At t=10, y=90 90 = -18(10) + b90 = -180 + b270 = b Therefore, our expression for this domain is y = -18 * t + 270.  In the field provided, we will enter -18*t + 270. 

Page 112: MDX_WF2_TOC

P a g e | 112

Our servo motor window would now look like the following. 

 We can only create one graph type, and it will look like the next figure. 

 This looks exactly like our first Linear Fit graph, but it is accurate to what the analysis will follow.    

Page 113: MDX_WF2_TOC

P a g e | 113

LESSON SUMMARY 

There are several different ways to approach the same problem using the different Magnitude options.  We learned about the Table and Cosine approach in this lesson as an alternative to Ramp when trying to create a motion that will change magnitude in the middle of its animation. Try using a User Defined profile if you must hold for a certain length of time.  Just be aware that everything is based on the current time value (t). 

EXERCISE 

We are going to create an animation for the Robot assembly called Robot_Motion that will start the robot when all joint axes are at their zero values, and then follow the convention laid out in the following table.   Use the next figure as a reference to know which joints we are referring to. Joint Magnitude Range Time Frame (seconds)

1 0º to -45º Start to 52 0º to -90º 5 to 103 0º to 90º 5 to 104 0º to -90º 5 to 105 0º to 90º 10 to 156 0º to 720º 15 to 251 -45º to 0º 25 to 302 -90º to 0º 25 to 303 90º to 0º 25 to 304 -90º to 0º 25 to 305 90º to 0º 25 to 30

 

Page 114: MDX_WF2_TOC

P a g e | 114

 Once you are done, save an MPEG movie (in the actual time of 30 seconds) called Robot_Motion.mpg. NOTE: You can use whatever Magnitude option you want to try to achieve this result. Save and close your assembly once you are completely done.

Lesson

Page 115: MDX_WF2_TOC

P a g e | 115

 

  Lesson Objective: In this lesson, we will continue to learn about the other types of mechanism constraints, starting with the Slider.  

              

Page 116: MDX_WF2_TOC

P a g e | 116

USAGE OF SLIDER CONNECTIONS 

The slider connection is used to capture one component moving in a straight line.  The component is not allowed to rotate in any direction, and can only translate in the single direction specified. You would use a slider connection to capture motion for:

         Drawer opening and closing         An object dropping straight down         Object riding along a straight track         Any object moving in a straight line

 

EXAMPLE 1 – CRANK 

In this example, we are actually going to see a combination of slider and pin connections to accomplish our assembly motion.  Therefore, begin by opening up the assembly called Crank.asm.  It will initially look like the following. 

 We are going to assemble a series of sliders that will ride in the two “T” shaped tracks.  At the top of both of these sliders will be a connecting arm that will rotate, causing the two sliders to ride forwards and backwards in their respective tracks.

Page 117: MDX_WF2_TOC

P a g e | 117

 Therefore, the physical motion of each individual slider component will best be captured using a slider constraint (as each is moving in a single linear direction with no rotations). To start, assemble in the Crank_Slider_1.prt part.  When the Placement window appears, we are going to click on the Connect tab to get to the Mechanism constraints.  It will most likely default to a Pin constraint, so we will need to change that to a Slider, as shown below. 

 The Placement window looks like the following once you select the Slider option. 

 We can see that we need to pick two axes or edges to define the Axis Alignment, and we also need to pick to planes or planar surfaces to define the Rotation constraint. Therefore, we will start by picking the following datum curve and edge for the Axis Alignment constraint. 

Page 118: MDX_WF2_TOC

P a g e | 118

  We created a datum curve because we want an edge that runs the entire length of our base part.  We could have easily created an axis as well.  When we pick these two references, they should automatically line up with each other. Next we need to define two planes or planar surfaces that will fix the rotation about the selected edges.  It is easier to use two surfaces that already intersect the edges that we picked, but you can also use ones that don’t touch and set an offset distance. In this case, we will pick a surface on each part that the selected edges already lie in, as shown below. 

 These surfaces should automatically line up.  Now, we will click on OK to finish the placement, and then go to Applications, Mechanism to test the movement of this slider. Slider Joint Axis

Page 119: MDX_WF2_TOC

P a g e | 119

 When we enter into Mechanism mode, we can see the joint symbol for a slider constraint (a cube with an arrow sticking out of it, showing the positive direction for motion), as shown in the following figure. 

Go to the drag tool (  ) and select anywhere on the green slider part.  As you move the component, you notice that it will only slide along the “T” shaped groove, but it is free to leave the confines of the base part. We can set absolute zero locations for any joint axis, just as we had done for the pin joint.  Therefore, click on the Arrow in the joint symbol, hold the right mouse button down, and then select Joint Settings, we will see the familiar window. 

 Go ahead and type in 0 in the value field and then press the Enter key.  You will notice that the default zero location places the slider in the middle of the assembly.  Knowing this, we can now type in a value of -4.375 to get it to go to the edge of the assembly, as shown below. 

Page 120: MDX_WF2_TOC

P a g e | 120

 Once it is at the edge, we will click on the Make Zero button, and then go to the Regen Value tab and enable the regeneration to be at 0.  When we click on OK, to exit out of the window, the slider moves back to its last drag position, but we can use Mechanism, Connect to get it to go back to the edge.

 Slider 1 Servo Motor Before we finish bringing in the rest of our components, we will take a little bit of time to demonstrate a servo motor for moving this first slider.  Therefore, go to the servo motor tools

(  ) and then click on New to create a new servo motor. Call this servo motor Front_2_Back and pick on the arrow in the joint symbol.  For the Profile tab, we will use a Position setting, and use the Ramp magnitude with a value of A=0 and B=0.875, as shown below. 

 When we click on the graph, we will see the following.

Page 121: MDX_WF2_TOC

P a g e | 121

 

 Obviously, the reason we chose 0.875 is because the total distance we want it to go is 8.75 inches (the width of the block minus the width of the slider) in a total of 10 seconds.  Therefore our slope is 8.75/10 = 0.875. Click on OK to finish this servo motor, and then click on Close to exit out of the Servo Motors window.  We will now create a simple analysis to check the motion. Slider 1 Analysis 

Click on the Analyses tool (  ), and then click on New to create a new analysis.  Call this analysis Slider_Move, and accept the default timing settings.  Make sure your slider is still sitting at the front end of the block.  If not, you will need to use Mechanism, Connect to get it back to its zero position. Then, click on Run, and watch the slider move from the front to the back of the part and then stop.  Click on Ok followed by Close to get out of Analysis mode.  Then, use Mechanism, Connect to bring the slider back to the starting position. Now, we will assemble in the second slider component. Slider 2 Assemble in the Crank_Slider_2.prt part.  When the placement window appears, we are going to use another slider constraint, but this time pick the datum curve that crosses over the one that we used for the last slider part.  All other references should be the same, as shown below. 

Page 122: MDX_WF2_TOC

P a g e | 122

 Slider 2 Joint Axis Settings For this slider, we do not want to control the joint axis settings.  We will ultimately have a crank arm installed that will force this second slider into its position based on the location of the first slider.    Slider 2 Servo Motors As with the joint axis settings for this second slider component, we will not need to create a servo motor.  We will be creating one on a future pin constraint to drive the motion of the assembly. Crank Arm Therefore, we will assemble in the last component for this assembly, which is the Crank_arm.prt part.  We will use two Pin connections to assemble this arm into the existing assembly, as shown below.

Page 123: MDX_WF2_TOC

P a g e | 123

Pin 1 Show datum axes, and select on the two axis shown above.  For the translation alignment, pick the top of the green cylinder on the slider part, and the top, flat surface of the yellow arm part. The placement window will look like the following when this pin is created. 

The assembly will look like the following. 

 Pin 2 In the placement window, click on the Green “+” button to add another constraint.  Then, select the appropriate axes and planar surfaces to finish the placement of this arm.  Click on OK to finish the placement, and then go to Applications, Mechanism to view the result.  The second slider should snap into place automatically, as shown below. 

Page 124: MDX_WF2_TOC

P a g e | 124

 Animating the Crank Go to the servo motor tool, and delete the existing servo motor.  We will create a new one called Arm_Rotate, and pick on the following pin joint axis. 

 For the profile, use a Ramp setting with A=0 and B=36 to complete one full rotation.  Next, go to the Analysis tool, and delete the existing analysis.  Create a new one called Crank_Motion, and accept all defaults.  Click on Run and the crank should complete its motion. When completed, view the playback results.  Save and close this assembly when done. So, why didn’t we use the servo motor on the first slider?  We could have, but we might not have gotten a complete 360 degree rotation of the arm.  Even if we had modified the servo motor to go forward and then backwards, the arm may have just reversed its original direction, thus only completing a 180 degree rotation before going in reverse.

Page 125: MDX_WF2_TOC

P a g e | 125

 By using the pin constraint, we could force the arm to rotate a full 360 degrees, and the sliders would follow as necessary to produce the motion.  The trick when setting up animations where more than one connection type is used is to understand how the motion will be affected. Try to chose joint axes that will produce the result in as little effort as possible, as we did in this example. 

LESSON SUMMARY 

Sliders are used to simulate motion in a single direction (without rotation).  You must select two axes, edges, or curves to define the direction, and then two planes or planar surfaces to fix the rotation of the part. Sliders are typically used in conjunction with other constraints.  You can set up servo motors to drive the sliders along their direction. 

 

EXERCISE 

Open up the assembly, entitled Storage_Drawer.asm, which contains a single component, as shown in the next figure. 

 Assemble in the Drawer.prt file four times using slider constraints.  The final assembly in the connected state is shown below. 

 Then, set up an animation to open each drawer from left to right, and then close them in the reverse order over a 30 second time frame.  Each drawer should open up 4 inches. 

Page 126: MDX_WF2_TOC

P a g e | 126

 Lesson

100 

 

  Lesson Objective: In this lesson, we will learn about the Cylinder connection type.  

               

Page 127: MDX_WF2_TOC

P a g e | 127

USAGE OF CYLINDER CONNECTIONS 

The cylinder connection is used to capture a component moving in a single direction, and able to rotate about that direction. You would use a cylinder connection to capture motion for:

         Bolt on a rifle         Cylindrical tube inserted into another tube, where the one being inserted is axially

symmetric         Simulation of a threaded cap going onto a bottle, or the insertion of any threaded

object, such as a nut on a bolt.         Any item that can move along a direction, and able to rotate about that direction.

 

EXAMPLE – NUT ON A BOLT 

Generally, you do not model the threads on common fasteners.  You may, however, want to simulate the assembly instructions of a product, and therefore, might want to capture the realistic motion of a threaded object moving along that thread. The “Nut-Bolt” example is a great one for figuring out the correct speed and motion. In this example, we will capture this motion purely by mathematics.  In a later lesson, we will learn about slot followers, and you may see a better application for this example. Suppose we have the following thread information: ¼-20 UNC (1/4” nominal diameter, with 20 threads per inch) A typical hex nut contains about 4 complete threads, and each thread can be engaged for every complete revolution of the nut. Now, suppose we want to screw on the nut over a 1” distance onto the bolt in 10 seconds.  Therefore, we must cover 20 threads in 10 seconds (2 threads/sec).  Therefore, our rotation speed must be 2 Revolutions per second, or 720 degrees/sec. 

Page 128: MDX_WF2_TOC

P a g e | 128

To demonstrate this, open up the Bolt_Nut.asm assembly in your working directory.  It will initially look like the following. 

Hex_Nut Assemble in the Hex_Nut.prt part into this assembly.  When the part comes in, click on the Connections bar to enter into Mechanism constraint mode.  Choose the Cylinder constraint, which changes the window into the following. 

 We only have to pick on two axes, edges or datum curves to line up.  Turn on the display of Datum Axes, and then pick on the A_1 axis on both parts.  We should see the nut line up with the bolt, and we can see the joint axis symbol for the cylinder connection, as shown below. 

Page 129: MDX_WF2_TOC

P a g e | 129

 Click on OK to finish this placement, and then go to Applications, Mechanism to enter into mechanism mode. We will start by talking about this joint axis.  There are two components to this joint axis, a translation (denoted by the straight arrow that goes down the axis of the part), and a rotation (denoted by the curved arrow). When we define joint axis settings for this component, we can set each independently.  For example, we may have the part located properly along the axis at the “zero” location, but its rotation might not be what we want, therefore, we can change that independently. We will need to use Query Select (using the right mouse button) to select the one that we want to change. Joint Axis Settings Therefore, start by clicking with the right mouse button until just the straight arrow is highlighted in blue.  Once it is highlighted, click on it with the left mouse button to select it (in red).  Then, use the right mouse button and select Joint Settings.  We will get the following window.

Page 130: MDX_WF2_TOC

P a g e | 130

 On the assembly, we can see two datum planes highlighted.  These are the two references that the distance is measured from, as shown below.

 

 To confirm this, enter a value of “0” in the field, and then go to a RIGHT orientation and turn on “Hidden Line” mode, as shown below. 

 At this point in time, we will use the zero references tab to figure out what it would take to move the nut all the way to the outside.  In this example, a value of 0.9844 will move the nut to the following location. 

 Once we have the nut at the end, we will click on the Make Zero button, and then turn on the regeneration value to always regenerate at “0”.  Click on OK to finish the definition of this joint axis setting and then use Mechanism, Connect to regenerate the assembly.  The nut should be sitting at the very outside of the bolt, as shown in the next figure. 

Page 131: MDX_WF2_TOC

P a g e | 131

 Now, we will highlight the entire joint axis, and go into the joint settings to set the rotational component for this cylinder connection.  It should already be at the zero value, so we will want to make sure the Regen Value option is set to regenerate the model at “0” degrees.  Then, click on OK to finish this setting.  

 Servo Motors We can now define the servo motors that will drive this nut onto the bolt at the right rotational and translational speed to move the nut 1 inch in 10 seconds. To start, create a new servo motor called Translate, and pick on just the straight arrow portion of this joint axis.  Once selected, use a Ramp profile where A=0 and B=-0.1.  This will allow the motor to translate the nut onto the bolt a value of 1 inch in 10 seconds. Click on OK to complete this motor.  Now, create a second servo motor called Rotate, and pick on the entire joint axis.  Once selected, use a Ramp profile again, but this time A=0 and B=-720.  This will enable a clockwise rotation of the nut so it completes 7200 degrees in 10 seconds. Use the graph tool to check both of your motors as you create them to be sure it is set correctly. Analysis We only have to create a single analysis, however.  Therefore, create a new analysis called Nut_Travel, and leave the default time settings alone (we won’t worry about getting the frame rate exactly right). For the motor tab, make sure both motors are on and run from Start to End in timing, as shown below. 

Page 132: MDX_WF2_TOC

P a g e | 132

 Run the analysis, and you should see the nut rotating and translating simultaneously.  Run the playback and create an MPEG movie.  To see the result, open up the Nut_Travel1.mpg movie in your directory. Save and close this assembly.

 LESSON SUMMARY 

The Cylinder constraint allows a component to translate and rotate about the translation axis.  There are two components to the joint axis that can be defined independently.  Be sure to use Query Select to pick which part of the joint axis you are going to define.

EXERCISE 

Open up the assembly called Locking_Arm.asm, which should initially look like the following. 

 We are going to insert the Cyl_Handle.prt component into the assembly so the initial placement will look like the following. 

Page 133: MDX_WF2_TOC

P a g e | 133

HINT: 36 degrees from the center is where the notch is placed.  Use Zero Refs to locate the handle part at the correct translation location.   We are then going to create an analysis to rotate the green part back to the center over a span of 5 seconds, then translate down to the lower notch over 10 seconds, and then rotate the tab on the green part into the notch at the bottom to lock it in place over another 5 second interval. Therefore, our total animation time will be 20 seconds.

 Lesson

Page 134: MDX_WF2_TOC

P a g e | 134

110 

 

  Lesson Objective: In this lesson, we will learn about the Planar connection type.  

               

Page 135: MDX_WF2_TOC

P a g e | 135

USAGE OF PLANAR CONNECTIONS 

A Planar connection is used to ensure that a datum plane or planar surface always touches another plane or planar surface.  The object is then free to move in two translational directions within that plane, and it is able to rotate around the free axis that is normal to the plane. You would use a planar connection to capture motion for:

         A computer mouse moving on a mouse pad         A box sliding across a floor         Any object that rests on a flat surface, but can be moved about that surface.

 Generally, the planar connection is used in conjunction with other connections that ultimately fix some of the other open degrees of freedom. 

EXAMPLE - DRAWER 

Typically, when simulating a drawer that is able to open and close in a single direction, a Slider connection is best, but we will demonstrate how you can set this up with two planar connections.  In an exercise, you will create an assembly motion that requires a planar connection. To see this drawer example, open up the assembly called Drawer_Pln.asm, which initially looks like the following. 

Page 136: MDX_WF2_TOC

P a g e | 136

We are going to start by assembling in the Drawer_Pln.prt part file.  Make sure your datum planes are visible.  In the placement window, click on the Connect tab, and change the connection type to Planar.  The window will look like the following. 

 We only have to pick two planes or planar surfaces.  Therefore, we will pick the RIGHT datum plane on both models.  When we do this, the drawer snaps over and lines up horizontally with the drawer body. Use Ctrl-Alt and the Right Mouse Button to move the drawer out in front of the body, as shown below. 

Page 137: MDX_WF2_TOC

P a g e | 137

Click on the green plus “+” button to add a new planar constraint, and then pick the TOP datum planes on both models.  The drawer should now fully line up with the opening in the drawer body, but it still sits out away from it.  Click on OK to complete the placement, and the assembly will look like the following. 

 Now go to Mechanism mode using Applications, Mechanism and try dragging the drawer.  You will notice that it will go in and out.  The joint axis symbol for each planar connection is shown on the model. 

Page 138: MDX_WF2_TOC

P a g e | 138

 Each individual joint axis symbol contains a rectangular block, two straight arrows, and one straight arrow with a rotational arrow around it.  The two straight arrows are used to define the two open translational degrees of freedom.  The straight arrow with the rotated arrow about it is used to define the rotation about the axis normal to the plane. You can create motors that act on one or more of these individual degrees of freedom.  We will not create one for this example, but you will for the exercise.

LESSON SUMMARY 

A planar connection simulates an object that rests on a flat surface, but is able to translate in that planar surface and rotate about an axis normal to that surface. Use other connection types (pin, slider, etc.) to control the other three open degrees of freedom, or connect up the component to others that have more fixed degrees of freedom (as we will see in the exercise). 

EXERCISE 

We are going to create a robot whose motion will be driven by one of its components that sits on a plane.  Therefore, open up the Planar_Robot.asm assembly, which initially has only one component (a flat plate with a base for the rotating robot arm), as shown below. 

Page 139: MDX_WF2_TOC

P a g e | 139

 The final assembly (prior to running the animation) is shown below. 

  The goal will be to have the blue wheel (PRobot_6) move in the plane in the following way.

Page 140: MDX_WF2_TOC

P a g e | 140

 Where the values in the parenthesis represent the following: 

( dx, dy, dt)Where: dx = incremental change in the X direction from the last position.dy = incremental change in the Y direction from the last position.dt = incremental time change for the motion from the last position. Therefore, (8,0,3) means that the wheel moves 8 inches in the X direction, and 0 inches in the Y direction for a span of 3 seconds.  The X and Y directions are shown in the following figure.

Page 141: MDX_WF2_TOC

P a g e | 141

HINT: You will only need to create servo motors for one component.  PRobot_4’s position must be reset to be completely embedded into PRobot_3’s cylinder.  All other components can remain at their default assembly location while bringing them in. To view a movie of this animation as it should look from a TOP view, open the file Wheel_Travel1.mpg in your training directory. 

Page 142: MDX_WF2_TOC

P a g e | 142

 Lesson

120 

 

  Lesson Objective: In this lesson, we will learn about the ball connection.  

               

Page 143: MDX_WF2_TOC

P a g e | 143

USAGE OF BALL CONNECTIONS 

A ball connection is used to simulate a joint where the translation is completely fixed, but all rotational degrees of freedom are available. You would use a ball connection to simulate:

         A shoulder/arm joint         Vehicle suspension connections         Toggle switches         Any type of connection where all rotational degrees of freedom are enabled.

 The ball connection is often used with other connection types in order to minimize the rotational degrees of freedom. 

EXAMPLE – Toggle Switch 

For this example, we will start an assembly that will be completed when we get to the lesson about cams.  To demonstrate the ball connection, we will open the Toggle_Switch.asm assembly, which looks like the following. 

Page 144: MDX_WF2_TOC

P a g e | 144

 Turn on the display of datum points, and assemble in the TS_Switch.prt component.   When it comes in, click on the Connections section of the placement window, and change the connection type to Ball, as shown in the next figure. 

 

Page 145: MDX_WF2_TOC

P a g e | 145

You only have to pick two datum points, or two vertices as references.  Therefore, we will pick on the BALL_POINT and SWITCH_POINT datum points in the two models, as shown below. 

When we do this, the points will align with each other.  Click on OK to complete this placement, and then go to Applications, Mechanism. We can see the symbol for this ball connection, and it looks like one of those “atomic” symbols, as we can see in the next figure. 

 

Page 146: MDX_WF2_TOC

P a g e | 146

Click on the Drag tool, and try moving it around.  Be sure NOT to stop it during the dragging, but use the middle mouse button to cancel the drag operation.  We want it to stay upright for now. You probably noticed that as you dragged the handle, it was free to rotate in any direction, even through the part.  We will control this later in the Cam lesson. Click on the joint axis symbol to highlight it in red, and then hold down the right mouse button.  What do you notice?  There are no joint settings for this connection type.  Therefore, you will not be setting an absolute zero, and you won’t be adding any servo motors to this joint. Any animation that will move this will have to be done by other components.  Unfortunately, we will not have any other components in this assembly, so we will not be performing any analyses on this assembly. Assemble in the TS_TOP.prt component.  Use a Default placement for this last component.  The completed assembly (for now) will look like the following. 

 Save and close this assembly.  We will come back to it in the lesson on Cams. 

LESSON SUMMARY 

Ball connections are the simplest, easiest to use and set up.  They only require two points or vertices to be aligned, and they have no joint settings. 

EXERCISE

Page 147: MDX_WF2_TOC

P a g e | 147

 We will not have any exercises for this lesson, as it is simple enough.

Page 148: MDX_WF2_TOC

P a g e | 148

 Lesson

130 

 

  Lesson Objective: In this lesson, we will learn about the bearing connection.  

               

Page 149: MDX_WF2_TOC

P a g e | 149

USAGE OF BEARING CONNECTIONS 

A bearing connection is kind of a mix between a ball joint and a slider.  It has 1 translational degree of freedom, and 3 rotational degrees of freedom.  Do not confuse this with a typical ball bearing assembly, although each individual ball in that assembly might behave in this way. There are very few real-world examples that come to mind when you think of this connection type.  In most cases where a ball joint may be used, there are other components and connections that can provide for translational degrees of freedom. You could use bearing connections to simulate in one object what multiple objects might accomplish when combined together. Because of this, we will demonstrate how to set up a bearing connection with two components in an assembly that do not represent an actual object. 

EXAMPLE – HOW TO 

Open up the assembly entitled Bearing_Connection.asm.  It consists of a single component, shown below. 

Page 150: MDX_WF2_TOC

P a g e | 150

Assemble in the Bearing_Slide.prt component.  Be sure to turn on the display of datum axes and datum points.  In the placement window, click on Connect, and then select a Bearing connection type.  The placement window looks like the following. 

 This window is a little misleading.  The only thing is says for references is “Point Alignment”.  This looks like you would align a datum point or vertex to another datum point or vertex.  In actuality, you align a datum point or vertex to a datum axis, curve or edge.

Page 151: MDX_WF2_TOC

P a g e | 151

 In this case, we will pick on the BEARING_POINT datum point and the BEARING_AXIS axis, as shown in the following figure.

When we do this, the point snaps over to the axis.  Click on OK to complete this assembly, and then go to Applications, Mechanism.  We can see the symbol for a bearing connection looks like the one for a cylinder, except it only has a single straight arrow. 

Page 152: MDX_WF2_TOC

P a g e | 152

 Click on the Drag tool and pick on the small sphere at the end of the Bearing_Slide component.  You will see that as you drag the component, the large sphere stays on the track (follows the axis), but the end is free to rotate in all directions, centered on the datum point. Close this assembly when you are done dragging. 

SERVO MOTORS WITH BEARINGS 

Unlike the Ball connection, you can create a servo motor for the translational component of the Bearing connection. Again, the ability to control any rotation for this component would have to be done by connecting it up to another component that provides this motion.  If you remember from the Planar exercise, we have the ability to set up motors on a variety of components to control motion, but we want to limit the number of motors to components that will directly carry out our motion. In the case of a Bearing or Ball, you will have to rely on other components to provide rotational motion. 

   

LESSON SUMMARY 

Page 153: MDX_WF2_TOC

P a g e | 153

A Bearing connection has four degrees of freedom – 1 translational and 3 rotational.  You can control the translational joint axis settings and create servo motors for this translation.  Rotational degrees of freedom can not be controlled directly. 

EXERCISE 

There are no exercises for this lesson.

Page 154: MDX_WF2_TOC

P a g e | 154

 Lesson

140 

 

  Lesson Objective: In this lesson, we will learn about the rigid and weld connections, which are very similar to each other, but have special circumstances when you would use one over the other.

               

Page 155: MDX_WF2_TOC

P a g e | 155

DIFFERENCE BETWEEN RIGID AND WELD CONNECTIONS 

Rigid and Weld connections are both used when you want to connect two components so they do not move relative to one another.  There are no open translational or rotational degrees of freedom. Weld connections take two coordinate systems and completely align them (x axis on x, y axis on y, and z axis on z).  There is only the single joint that exists. A Rigid connection allows you to use typical assembly constraints (such as align, mate, insert, etc.) and group them into a single mechanism connection constraint.  Rigid constraints can still leave a component “packaged”, while a weld constraint completely fixes the component. Okay, so that’s nice, but what does it really mean?  The biggest difference is how it treats sub-assemblies that also contain mechanism connections.  Up to this point, we have only worked in top-level assemblies.  We will now get into a sub-assembly condition, and really see the difference between the two connection types. 

EXAMPLE – Robot Assembly 

We will look at a robot assembly that is very similar to the one we saw in the lesson on planar constraints.  Therefore, open the RW_0.asm assembly.  It will look like the figure below. 

Page 156: MDX_WF2_TOC

P a g e | 156

 We have intentionally modified the wheel part in this assembly so the cylindrical assembly that connects the left and right sides will not have to rotate downwards as it did in the planar robot example. Now, open up the RW_3.asm assembly.  It will look like the following. 

 In this assembly, the gray part (RW_3b) is initially completely seated into the purple part (RW_3a).  There is a slider connection used on the RW_3b part so that it can slide in and out of the RW_3a part. Close this assembly, and go back to the RW_0 assembly.  Assemble in the RW_3 assembly but leave don’t select any placement constraints yet. Mechanism Constraints - Pin Technically, we could assemble this assembly in using two pin connections (one for the end of the RW_3a component, and one for the RW_3b component.  This would be acceptable, and would allow for a full range of motion. 

Page 157: MDX_WF2_TOC

P a g e | 157

We, however, are not going to do this, and to avoid having to do this, I modified the wheel part to make it higher so the axis of the RW_3 assembly will be completely horizontal when assembled. Rigid Connection We will start this demonstration by using rigid connections.  Therefore, click on Connect to activate mechanism constraint mode, and then change the connection type to Rigid.  The window will look like the next figure. 

 When you select on Rigid, you see the traditional placement constraint window in the middle.  We will now select on the model to add inserts, aligns, mates, etc. Therefore, start by picking on the following references to create an insert and a mate respectively (for the mate use an offset of 0.0). 

Page 158: MDX_WF2_TOC

P a g e | 158

 Once we select these two sets, the cylinder assembly will snap into place, and we will still have one additional constraint to add.  We will choose an Insert constraint, and select the following two references. 

 We might be expecting to see the RW_3b component slide out to complete the constraint, but it does not.  Instead, we get a warning in our window that the placement constraints are invalid, as shown below. 

Page 159: MDX_WF2_TOC

P a g e | 159

 This is one of the main distinguishing factors of a Rigid connection.  It temporarily disables any mechanism connections within the sub-assembly being assembled.  Therefore, it treats the entire RW_3 assembly as a single blob, and that blob is not long enough to validate the last insert. Click on Cancel to return to the assembly. Weld Connection We will go ahead and click on the assemble component again, and pick on the same RW_3 assembly.  When it comes in, click on the Connections tool, and change the placement type to Weld.  The window will look like the following. 

Page 160: MDX_WF2_TOC

P a g e | 160

 We are required to select two coordinate systems to align.  We will pick the ones labeled (1) in the following figure. 

 The assembly will snap to reflect this, as shown in the next figure. 

Page 161: MDX_WF2_TOC

P a g e | 161

 Now, click on the green “+” button to add a new weld connection, and pick on the two coordinate systems labeled (2) in the previous figure.  In this case, the end of RW_3b will slide out to connect up to the top of the wheel, as shown in the next figure. 

 The other thing you might have noticed is that there is an actual joint symbol for the Weld, where there wasn’t one for the Rigid connection.  This means that not only will it update the sub-assembly mechanism connections, but you can also calculate reaction forces at the weld points. The key is to use a coordinate system on the components that you want to weld together. If you want to test this to make sure it worked, go to Applications, Mechanism, and run the Testrun1 analysis.  It should go through the correct motion.

 WHEN TO USE WHICH ONE 

The general rules of thumb are as follows: 

         If you are assembling in a single component that does not move relative to any component in the top-level assembly, then any method will work.  I recommend using the Rigid connection for consistency.

Page 162: MDX_WF2_TOC

P a g e | 162

         If you are assembling in a single component that must move, then use one of the traditional mechanism connections (pin, slider, etc.).

         If you are assembling in a sub-assembly that does not have any mechanism connections within it, then a Rigid connection or a Weld connection will both work, but the Weld connection will allow you to also calculate reaction forces.  A Rigid connection will not.

         If you are assembling in a sub-assembly that has mechanism connections within it, and where it connects at the top level must be able to move, then you should use traditional mechanism connections (pin, slider, etc.).

         If you are assembling in a sub-assembly that has mechanism connections within it, and where it connects does not have any motion, then you should use a Weld connection.

 

LESSON SUMMARY 

Rigid and Weld connections both assume that no motion is necessary at the location in which the component is assembled.  For sub-assembly usage, the choice of using Rigid versus Weld will depend on whether there are internal mechanism connections. Any time a component (whether it is a sub-assembly or a single part) is assembled at locations where motion will occur, you should use traditional mechanism connections, such as pin, slider, planar, etc. To use the Weld connection, you must have a coordinate system for the component and the assembly.  These coordinate systems will be aligned. 

EXERCISE 

Open up the assembly entitled RWEX.asm.  It currently contains a sub-assembly that represents a completely welded frame, called RWEX_CABINET, as shown in the next figure. 

 We are going to assemble some additional sub-assemblies and some individual screw components until we get the following completed assembly. 

Page 163: MDX_WF2_TOC

P a g e | 163

 

 The top-level BOM would look like the following: 

         RWEX.ASMo        RWEX_CABINET (QTY 1)o        RWEX_LHINGE (QTY 2)o        RWEX_RHINGE (QTY 2)o        RWEX_PANEL (QTY 2)o        RWEX_SCREW (QTY 8)

 The two hinge sub-assemblies (RWEX_LHINGE and RWEX_RHINGE) contain pin constraints that allow them to rotate.  The panel sub-assembly (RWEX_PANEL) does not contain any mechanism connections.Use only Rigid or Weld constraints to assemble the individual components and sub-assemblies.  Use the drag operation to validate that all of the hinges rotate properly. 

Page 164: MDX_WF2_TOC

P a g e | 164

Lesson

150 

 

  Lesson Objective: In this lesson, we will learn about the Slot-Follower.  

               

Page 165: MDX_WF2_TOC

P a g e | 165

USAGE OF SLOT-FOLLOWERS 

There are many times when you need to move a component along a path that does not fall into a straight line, or a revolved trajectory.  Using traditional mechanism connections learned so far, we are unable to accomplish this. To be able to do this, we will need a Slot-Follower.  A slot-follower works by aligning a datum point to a datum curve.  The point rides along the curve.  You can define the ends of the curve to limit the travel of the point. A slot-follower is generally used in conjunction with other mechanism connections, as the slot-follower itself can not have servo motors attached to it. You would use a slot-follower to simulate such conditions as:

         A roll-top desk         A car moving along a non-straight path         The center rails of an accordion-type mount (such as the one we saw with the mirror

assembly)         Capturing a three-dimensional path for the end of a robot         Any component that must move along a non-straight path

 

EXAMPLE 1 – BEVEL GAUGE 

This is a simple example that shows how you might use a slot-follower in parallel with a planar connection.  To demonstrate this, open up the assembly entitled Bevel_Gauge.asm, which should initially look like the following. 

Page 166: MDX_WF2_TOC

P a g e | 166

 We are going to turn on the view of datum points to reveal a datum point that lies in the middle of the screw where the blade will go, as shown in the next figure. 

Little red flags may be going up in your mind right now.  If the datum point is supposed to follow a curve, then shouldn’t the curve reside on the stationary part of the assembly?  That assumption might seem logical, but it does not matter for this tool.  The curve can (in effect) ride along the point.  Therefore, it does not matter which component has the point and which one has the curve. Now, we are going to assemble in the BG_Blade.prt component.  When we are in the placement window, we will go to Connect to activate mechanism connections, and then select Planar from the connection type. We will select the two planar surfaces shown below. 

Page 167: MDX_WF2_TOC

P a g e | 167

 Once both are selected, click on OK to complete the placement.  Then, go to Applications, Mechanism.  We can see the planar connection symbol on our assembly, as shown in the following figure. 

 If you recall from the lesson on planar connections, this blade is now free to rotate about an axis normal to its large flat surface, and it is also free to move within the plane that goes through its large flat surface. We will need to limit its motion so that the slot in the center of the blade rides along the shaft of the wing screw (where the datum point is).  You will notice that the blade part has a datum curve through the slot. Slot-Follower Definition 

Page 168: MDX_WF2_TOC

P a g e | 168

To create a slot-follower, we will click on the following icon in our feature toolbar. 

 When we do, we get the following window. 

 This looks like the same window we saw for creating servo motors or analyses.  We will create a New slot-follower, and call it Gauge_Slot, as shown in the new window that appears. 

 We are now prompted to select the Follower Point.  Pick on the datum point.  Then, we are asked to select the Slot Curves.  If you need to pick more than one curve, you can use the Ctrl key, or the Shift key to get curve chains.  We will pick on the datum curve in the middle of the slot. At this time, the window should now look like the following. 

Page 169: MDX_WF2_TOC

P a g e | 169

 Defining the end points is optional, so we are not automatically prompted to select them.  Therefore, we will click on the button with the arrow for the Start point, and select the end of the datum curve closest to the rounded edge of the blade. Next, we should be prompted for the End point, so we will pick the other end of the curve (closest to the sharp edge of the blade).  There really is no apparent reason for the order in which you pick the points.  The window should look like the following figure.

 Our selection of the objects corresponds to the following figure. 

Page 170: MDX_WF2_TOC

P a g e | 170

 Click on OK to complete the slot-follower, and we should see the following. 

 The blade snapped over to the handle at the closest endpoint selected.  Click on Close to complete the defining of slot-followers.  The symbol for the slot-follower can be seen in the figure below. 

Page 171: MDX_WF2_TOC

P a g e | 171

 Now, click on the drag tool, and pick anywhere on the blade part.  Notice that as you drag it around, it is limited in its motion.  You should be able to simulate opening and closing the blade.  The following shows an example of the blade completely closed. 

 Save and close this assembly. 

ANIMATING SLOT-FOLLOWERS 

In the example of the Bevel_Gauge, would we be able to create a servo motor?  Technically, we had the planar connection which had three different components (two translations, and one rotation), so we could have created a servo motor that might have been able to animate the blade. To see a demonstration, look at the BEVEL_GAUGE.mpg movie in your training directory.  This movie was done by creating two servo motors, one for the rotational component of the planar connection, and the other for the translational component that extends from the side of the handle. On your own, try to duplicate this animation with your bevel gauge assembly. 

EXAMPLE 2 – WHEEL ROLLING DOWN SLIDE 

Here’s a great example of how you can animate a slot-follower connection.  We will simulate a car tire rolling down a slide.  We want to simulate not only the wheel following the contour of the slide, but we also want to have the wheel turning. 

Page 172: MDX_WF2_TOC

P a g e | 172

Therefore, open up the assembly entitled Rolling_Wheel.asm.  It will contain the slide component, as shown in the next figure. 

 Turn on the display of datum planes and assemble in the Wheel.prt component.  Use a Planar connection and select the FRONT datum planes on both models.  The wheel will snap to the center plane of the slide. 

 

Page 173: MDX_WF2_TOC

P a g e | 173

Next, we will go to the slot-follower tool (  ) and create a new slot-follower called Wheel_Slot.  When prompted for the different entities, pick the ones shown in the figure below. 

 Once the slot-follower is created, use the drag tool and move the wheel to the top of the slide at the end of the curve.  Do not worry if the tire rotates as you move it up, because we will adjust the settings for the planar connection. Joint Settings – Planar Connection We will start by clicking on the rotational component of the planar connection symbol, as shown in the next figure.

 Right click and go to Joint Settings.  We should see its current rotation value in the field.  Type in 0 and then go to the Regen Value tab to set the model to regenerate using the “0” value.  From a FRONT view, our wheel should look like the following. 

Page 174: MDX_WF2_TOC

P a g e | 174

 Next, we will click on the “X” axis component of our planar connection, as shown in the next figure. 

Go to the Joint Settings for this component and type in 0 in this field.  It should keep it at the very left side of the curve.  Go to Regen Value and make sure the box is checked to always regenerate at “0”.  Then, go back to the field and type in 120.  The wheel should move all the way to the end of the slide (even though it won’t graphically follow the curve at this time), as we can see in the following figure. 

Page 175: MDX_WF2_TOC

P a g e | 175

 Click on OK to complete these settings.  The wheel should be back at the left end of the curve.  Now we can set up servo motors to control the motion.    Rotational Servo Motor The first servo motor will be used to rotate the tire.  We will create a new servo motor called Tire_Rotate.  Be sure to pick on the rotational component of the planar connection symbol, and then click on the Flip button to rotate the tire clockwise.   We will use a Ramp value to control the rotation, but we need to figure out what our B value will be. To do this, we will have to do some calculating.  The outside diameter of the tire is 24 inches.  Therefore, the perimeter of the wheel is pi*24 ~ 75.3982 inches.  The total distance that the tire will travel (based on a curve sitting right on the slide where the wheel touches it) is 158.177 inches. Therefore, the total number of rotations the tire will make in that distance is: 

# Rotations = Distance / Perimeter = 158.177 / 75.3982 = 2.098 rotations 

Since we have to enter the value in terms of degrees over a time frame (assuming a 10 second animation), we will have our value of B. 

B = (# Rotations)*(360 Degrees/Rotation)/10 Seconds = 2.098*360/10 = 75.528 In other words, the tire will rotate 755.28 degrees over the 10 second animation.  Therefore, enter A=0 and B=75.528 in the fields provided.  Check the graph to make sure it is correct.  Click on OK to complete this first servo motor. “X” Vector Servo Motor

Page 176: MDX_WF2_TOC

P a g e | 176

 We will create a second servo motor called X_Motion, and pick on the “X” vector of the planar connection symbol as we had done before. This one is a little trickier, but we already saw the answer in the joint settings.  We know the total horizontal travel from the start point to the end point is 120 inches.  To be safe, we will assume 119.5 inches (to give us some room for error).  We don’t actually need to know the curve length that the slot-follower uses.  We could have just as easily used the “Y” vector data instead, but we already set the “X” vector. Therefore, we want to travel 119.5 inches in 10 seconds.  So we will use a Ramp setting for this motor, and set A=0 B=11.95.  Check the graph to make sure it is set properly, and then click on OK to complete this motor. We should see two servo motors on our Planar joint connection, as shown in the following figure. 

 Analysis We are now going to set up our analysis.  First, run Mechanism, Connect to put our wheel back at its starting position. Create a new analysis called Rolling_Tire, and keep the timing options at their defaults.  On the Motors tab, make sure both servo motors are present and going from Start to End for both of them. Run this analysis, and you should see the tire rotate while it travels down the slide.  When you are done, capture an MPEG movie.  To see a completed movie, look at the Tire_Roll.mpg movie file in your training directory. Save and close this assembly. 

LESSON SUMMARY

Page 177: MDX_WF2_TOC

P a g e | 177

 A Slot-Follower is used to capture a path an object travels that lies outside of a straight line (as you would get with a slider), or even a plane (as you would have with a planar connections). You specify the point, curve and endpoints of the curve (if desired).  To create animations, you must have at least one other mechanism connection to control. 

EXERCISE 

Open up the assembly called SLEX.asm (SLot EXercise).  It contains a base with a track cut out in it, as shown in the next figure. 

 The goal for this exercise is to assemble in the SLEX_Ball.prt component, and have it follow the track.  We want to have the ball start from the long straight section (on the left) and end back at the front on the smaller straight section (on the right). Try to create an animation that will smoothly move the ball around the track.  When I say smoothly, I mean to try to keep the ball at a reasonably consistent velocity when moving around the track. HINT: You will need to break up the servo motors at locations that are not a sharp transition for either the X or Y axes of the planar connector. To see an already created movie, open the SLEX.mpg movie file in your training directory.

 Lesson

Page 178: MDX_WF2_TOC

P a g e | 178

160 

  Lesson Objective: In this lesson, we will learn about Cam Followers.  

                

Page 179: MDX_WF2_TOC

P a g e | 179

USAGE OF CAM-FOLLOWERS 

A Cam-Follower is used to simulate an object moving along the surface of another object, or when the motion of an object must be stopped at the surface boundary of another object.  A cam-follower can be used when other mechanism connection types fail to capture the way in which the objects touch each other. For example, a planar connection always assumes two planar surfaces will remain co-planar.  This will not allow the components to separate from each other, or allow one surface to rotate away from the other while still touching. You will still need to create other mechanism connections, such as a Planar connection to control the motion of the component that is free to move, and to create any servo motors. 

EXAMPLE 1 – SIMPLIFIED CAMSHAFT 

To demonstrate a traditional cam-follower application, we will look at a simplified version of a camshaft that you would find in an automotive engine.  Therefore, open up the Camshaft.asm assembly.  It will look like the following. 

Page 180: MDX_WF2_TOC

P a g e | 180

 This assembly consists of four components.  There is one shaft that contains three green extruded features.  These three green extruded features will (as the shaft turns around) contact the magenta levers, causing them to rock up and down. Go to Applications, Mechanism, and you will see that we already set up some initial connections and servo motors, as shown in the next figure. 

 The main shaft has a pin connection, and a servo motor on this pin connection.  The servo motor will rotate the shaft 1440 degrees (4 complete rotations) in 10 seconds.  Each magenta lever has a slider connection allowing it to move up and down. We will now need to add three cam-followers to get the magenta levers to touch the three green extrusions. Cam-Follower 1

Page 181: MDX_WF2_TOC

P a g e | 181

 To create a cam-follower, you click on the following icon in the Mechanism toolbar. 

 This brings up a similar window to what we have seen before. 

 Click on New and when the next window appears, give this a name of Lever1_Cam.  The window will look like the following: 

 When you define a cam, you must pick surfaces or curves/edges on two different components.  In this window, there are three tabs – Cam1, Cam2 and Properties.  Cam1 is used to pick all of the surfaces for the first component.  Cam2 is used to pick all of the surfaces for the second component, and the Properties tab is used to define additional properties of the entire cam. It does not matter which component is cam1 or cam2, therefore, we will pick all of the surfaces that go around the green protrusion closest to the servo motor end.  You could hold down the Ctrl key and select each surface, or you can click in the checkbox called Autoselect, and then pick one of the tangent surfaces.  All other tangent surfaces to that surface should get selected, as shown below.

Page 182: MDX_WF2_TOC

P a g e | 182

 Once all of the surfaces have been selected, click on the middle mouse button to accept them.  A light blue outline of the cam 1 geometry will be shown on the model, as we can see in the next figure. 

 A purple arrow points towards the outside surface of the cam geometry.  You can flip it if it is not going in the right direction. Once you have this outline, the window looks like the following. 

Page 183: MDX_WF2_TOC

P a g e | 183

 We can see the surfaces on the CAM_SHAFT component listed, but the depth display setting is currently set to Automatic.  Whenever you have a completely closed boundary of tangent surfaces, like we do in this case, it is always better to let the depth of the cam be generated automatically.  We will see how to set other depth options in the next tab.

 Pick on the Cam2 tab.  We will now select the two curve segments that form a half-circle on the top of the magenta cam that sits underneath the first set of surfaces that we used for Cam1.  Both curve segments should highlight in a bold red when selected, as shown in the next figure.

 Once we have both curve segments selected, click with the middle mouse button to create the second cam.  A cam symbol appears between the two components, as we can see in the following figure. 

Page 184: MDX_WF2_TOC

P a g e | 184

 When we click on OK, the two components will snap together, as shown in the next figure. 

Cam-Follower 2 & 3 Repeat this same process to create the second and third cam-followers (called Lever2_Cam and Lever3_Cam).  When done, our model will look like the following. 

Page 185: MDX_WF2_TOC

P a g e | 185

 We will now click on the analysis icon, select the Cam_Motion analysis that was already created, and then hit the “Run” button.  You should see the rod rotate that contains the three cams.  As each cam goes around, the magenta part beneath it will move up and down to maintain contact with the cam at all times. Watch your playback and save your results.    

EXAMPLE 2 – LIFTOFF (KEY AND LOCK) 

In our first example, we forced the two cams to always touch each other.  This is not always realistic, or even possible.  In cases where the cams must stop when they encounter each other, but not have to always touch, we will enable liftoff for our cams. To demonstrate this, we will open up a model called Lock_Cam.asm, which initially looks like the following.

In this model, the green key will slide into the lock (half-model) and then exit again.  As the key moves into the lock, the 10 individual little gold bits should slide up their respective tracks just enough to stay in contact with the key surface as it moves under them. 

Page 186: MDX_WF2_TOC

P a g e | 186

Therefore, we need to set up cams for each of the bits so that when the green key comes into contact with it, the bit will move up.  But, as you can easily see, we can not force them to touch at all times, because the farthest bit from the key won’t come in contact with the key until it is all the way in the lock. To start, go to Applications, Mechanism.  We should see that we already have some slider connections set up, as well as a servo motor.  The servo motor is using a table-driven profile to move the key in and out in 6 seconds.  An analysis is also set up to save some time.  Now it is time to create the cam followers. Cam Follower 1 We will start by clicking on the cam tool in the feature toolbar, and then click on New to create our first cam.  Accept the default name to save some time.  For Cam1, we will select the wavy surface of the key and the smaller rectangular one to its right, as shown in the next figure. 

 Note: Using AutoSelect will not work in this case, as the surface is not a completely closed, tangent chain of surfaces.  Once selected, click on the middle mouse button, and you will see the surface mesh in blue with a purple arrow pointing up from it. Now, click on the Cam2 tab, and select the half-circle curve at the bottom of the first bit, as shown in the next figure. 

Click on the middle mouse button to complete this second cam reference.   Now, click on the Properties tab.  At the top, there is a check box to enable liftoff.  Click in this box, and the window will look like the following. 

Page 187: MDX_WF2_TOC

P a g e | 187

 We will not enter a coefficient of restitution at this time, so leave it at zero.  Click on OK to complete our first cam follower.  What you will notice this time is that it does not automatically snap the two cam parts together, like it did in the camshaft.  This is due to the liftoff, and we can see our final cam in the next figure. 

 Cam Followers 2-10 Repeat this same process for the remainder of the cams that we need to define.  For each cam, use the same surfaces on the key, and the corresponding half-circle curve on the bit.  Our final cam definition for this assembly is shown in the next figure (from a FRONT, No Hidden view). 

 There are actually 10 cam symbols, but they are on top of each other.  You should be able to see the 10 individual dashed lines going to the individual bits.  Now, click on the analysis tool, and edit the existing Key_Insertion analysis.  It will look like the following figure. 

Page 188: MDX_WF2_TOC

P a g e | 188

 You might notice that I’m using a Dynamic analysis instead of a Kinematic, as we have all along.  This is not necessary for cams, but will be in a later lesson.  Turn on shading of your model, and click on Run to watch what happens. What do you notice?  Pretty weird, isn’t it?  It actually makes sense if you understand what is going on.  First of all, the cams are doing what they are supposed to do – as the key comes in contact, the bit gets pushed upwards.  Unfortunately, because we are running a dynamic analysis, impact forces are causing the bits to react to this upwards motion.  This wouldn’t necessarily be a problem except that we have nothing to bring the bit back to the key.  The key continues upwards until it runs out of energy, and then hangs, as shown in the next figure.

Page 189: MDX_WF2_TOC

P a g e | 189

 Now, if we had enabled gravity (which we will learn in a later lesson), the bits would have come back down, but would have passed through the bottom of the lock never to be seen again.  If the key were in the way, the bits would come back down, bounce off the key, to the best of their ability – based on the coefficient of restitution, and continue this process until all of the dynamic energy was spent. Suffice it to say, that we are not done with our model, but we will have to wait until a future lesson.  For now, change the analysis type to Kinematic, and then use Mechanism, Connect to bring the parts back to their starting position.  Re-run the analysis, and what do you see?

 This time, the bits were pushed up, out of the way of the key as it moves, and then stopped at their highest location.  The Kinematic analysis does not force a collision reaction with the bits and the key, and gravity (or lack thereof) is not even factored in – the bits simply move using the cams.  We will start to see dynamic analyses a little more in the upcoming lessons.  For now, set the analysis type back to Dynamic, and then save and close this assembly for later. 

FRICTION 

In addition to coefficient of restitution, we have the ability to specify any frictional coefficients that may exist based on the two cam materials.  You would specify the coefficient of friction based on the two materials that are in contact.  For example, if one part is brass and one is steel, you would have one coefficient.  If another part were plastic and it hit the same steel part later on, you would define a second cam with a different coefficient of friction. Any dynamic analysis performed on this cam would take these coefficients into account to give the most realistic animation possible. We could have actually used this for our rolling tire down the slide (in Lesson 15), instead of defining a rotational servo to simulate the tire rolling.  Friction is accessed on the Properties tab in the cam definition, as shown in the next figure. 

Page 190: MDX_WF2_TOC

P a g e | 190

 You can define a static (s) coefficient, as well as a dynamic (k) coefficient.  The static coefficient must be larger than the dynamic – which is based off of valid empirical data.   

CAM DEPTH 

In mechanism, you are only allowed to pick on flat or cylindrical-like surfaces for cams.  Spherical or surfaces that bend in two or more directions are not permitted. Similarly, you can pick straight curves, or rounded curves, as long as they line in a single plane. When you select a flat surface or a straight edge/curve for the cam, the system does not automatically calculate the depth of the cam.  Therefore, you must select a point/vertex that represents the front of the cam surface/curve, and one that represents the back of the surface/curve.  You can also specify a depth other than the distance between the two points.   

LESSON SUMMARY 

Cams are used when two components must collide or remain touching each other during the motion.  You must be careful picking references for cams, as they are a bit touchy.  In addition to specifying liftoff, you can also enable friction and coefficient of restitution for the collision of the bodies.               

Page 191: MDX_WF2_TOC

P a g e | 191

EXERCISE 

Open up the Maze.asm file.  It should look like the following. 

The obvious objective for this exercise is to capture a realistic set of constraints that will allow you to move your game piece around the maze without cutting through any internal walls.  Test your cam(s) with the drag functionality.  We will not be creating an analysis for this assembly. Save and close the assembly when done. 

Page 192: MDX_WF2_TOC

P a g e | 192

  

Lesson

170 

 

  Lesson Objective: In this lesson, we will learn about adding gravity to our mechanism models. 

               

Page 193: MDX_WF2_TOC

P a g e | 193

USAGE OF GRAVITY 

Up to now, we have driven our assemblies using servo motors that define a distinct range of motion.  Gravity has never come into play, but in order to model some mechanism connections, you will need gravity to create a realistic analysis and animation. 

EXAMPLE 1 – BOUNCING BALL 

Nothing demonstrates gravity as much as an object being dropped, and falling to earth of its own free will.  We will now demonstrate how to set up a simple mechanism assembly to capture a ball bouncing. Therefore, open up the assembly called Bouncing_Ball.asm, which looks like the following. 

Yes, the assembly contains a single, ball part.  We could have created a floor part, but that would have complicated things more than we needed.  Instead, we defined the travel of this ball using a slider constraint. Go to Applications, Mechanism, and you will see this slider, as shown in the next figure. 

Page 194: MDX_WF2_TOC

P a g e | 194

This slider is set up by taking an axis and plane from the ball and lining it up with an axis and plane on the assembly.  So, you might be asking what prevents this ball from going through our “supposed” floor – or for that matter, where is the floor? The answer is as simple as setting limits.  If you look at the joint settings for this ball, you will see the following. 

 The ball is set to be dropped 9.25 inches off the floor, which is defined by the zero location (zero limit).  Try dragging this ball around, and you will see that it truly does stop between two invisible planes.  Why 9.25?  The height we are starting at is actually 10” off the ground, but since the location of the ball is specified at its center, we needed to adjust our drop to ensure the diameter of the ball didn’t sink into the floor.  The ball is 1.5” in diameter, hence the 9.25 drop to account for the .75 radius. Make sure that the ball is set at the top of the limit (at the maximum height) – which in this case is “0”.  NOTE: The positive direction of the slider is downwards, so 9.25 represents a drop of 9.25. In the joint axis settings window, you will also see that a Coefficient of Restitution (e) has been set for this joint.  If you recall from a much earlier lesson, an “e” value of 1.0 is completely elastic.  A value of 0.0 is completely plastic – similar to dropping a ball of clay. 

Page 195: MDX_WF2_TOC

P a g e | 195

Therefore, we want to use something closer to the elastic range, but not perfectly elastic, or this ball will continue to bounce forever.  Instead we chose 0.89. Click on Ok to exit out of the joint settings.   Notice that we did not have a servo motor defined?  For a purely gravity induced analysis, no servo motor is needed, as long as we are using a Dynamic analysis, and we define gravity. Gravity On the feature toolbar, there is an icon that looks like the following. 

 We will click on this to reveal the following. 

 The value of gravity must be entered.  It is approximately 386.4 in/sec2.  The direction fields determine which direction the gravity is applied.  In our model, gravity would go in the opposite as the positive “Y” direction, that is why it has a “-1” in this field. Click on OK to finish out of this gravity definition. Analysis Now, we will go look at our analysis.  Edit the Ball_Drop analysis, and you will see the following.

Page 196: MDX_WF2_TOC

P a g e | 196

 To capture a smooth motion of the ball bouncing, you will want to increase your frame rate.  I also initially set the length of the analysis longer than I needed to determine how long the ball continued to bounce.  It turned out that 4 seconds was enough time to see the ball lose its energy.   Click on the Ext Loads tab, and you will see the following figure. 

 Here is where we enable gravity for this analysis.  Note – we are using a Dynamic analysis in this case. 

Page 197: MDX_WF2_TOC

P a g e | 197

Click on Run to watch the ball move.  Play your results back in slow motion to really see what is going on.  To view a photo-rendered movie of this ball bouncing, open up the Bouncing_Ball.mpg file in your training directory. Save and close this assembly. 

EXAMPLE 2 – NEWTON’S CRADLE 

Another perfect example of gravity is the Newton’s Cradle – a desktop toy that people have loved for years.  Therefore, open up the assembly entitled Newton_Cradle.asm.  It will look like the following. 

This assembly consists of a base part (the frame of the cradle), and a ball (with simulated string), assembled five times. The string is actually a swept protrusion that looks like the following. 

Page 198: MDX_WF2_TOC

P a g e | 198

Setting Up The Assembly Each ball part is assembled using a pin connection that takes one of the free ends of the swept protrusion and inserts it into a hole on the base frame.  Each ball is free to rotate.  There are no server motors set up, but we did create four cam followers, one to allow for impact between each of the five balls. Each ball has a circular sketch feature that was selected for the cam curve.  If we go to Applications, Mechanism and look at a front view, we can see the pin connections and the four cams.

 The right-most ball is set out at an initial starting angle on the pin constraint as if we had pulled it out. Cam Followers 

Page 199: MDX_WF2_TOC

P a g e | 199

Each cam follower has the following Properties tab defined. 

 We enable liftoff so the balls can separate and bounce off each other, and we set a coefficient of restitution to 0.95 to try to get as close to an elastic collision as possible (force is nearly completely transferred from the moving ball to the ball it impacts). We also set some friction coefficients to allow some of the energy to dissipate as the balls rub against each other. Analysis Definition If we look at the analysis (NC_Motion), we see the following. 

A snapshot was created that is used for the starting position.  The trick in getting the energy to pass to each of the balls is to provide for a very slight separation of the balls, which is captured in this snapshot.  In the real Newton’s Cradle, the balls hang in such a way that they touch each other.  In Mechanism, if we did this, all of them would act like a single mass. 

Page 200: MDX_WF2_TOC

P a g e | 200

If we click on the Ext Loads tab, we see the following. 

 We can see that we have enabled gravity and all friction definitions.  If we don’t enable friction, then it will ignore the friction coefficients that were set up in the cam followers. Last Considerations We need to make sure that we define the density for our balls, as the impact force of the falling ball will vary greatly if we use the default density of 1.00.  We used the density of 304 Stainless Steel. Run the analysis, and you will see the simulation of Newton’s Cradle.  This demonstrates a great use of cams, friction and gravity combined to give a realistic animation.  If you would like to see a photorendered movie for this analysis, open up the Newton_Cradle.mpg movie file in your training directory. Close this assembly when you are done. 

 

LESSON SUMMARY 

Gravity can be used to enable dynamic analyses when no servo motor or external force can be defined. 

EXERCISE 

Open up the assembly called Ferris_Wheel.asm.  All of the mechanism connections have been set.  All you need to do is create an analysis that will run for 60 seconds that simulates the ferris wheel going around.  Use the existing servo motor.  To see a completed movie, open the Ferris_Wheel.mpg file in the training directory. 

Lesson

Page 201: MDX_WF2_TOC

P a g e | 201

180 

 

  Lesson Objective: In this lesson, we will learn how to create springs in Mechanism.  

               

Page 202: MDX_WF2_TOC

P a g e | 202

USAGE OF SPRINGS 

Springs in Mechanism are exactly what they sound like.  You have the ability to create a spring object in your assembly that will calculate extension and compression forces, and provide a more accurate analysis for your assembly. If you create springs in part mode, you will have nice models to use for bill of materials, but these springs can’t dynamically update as your parts move.  Therefore, PTC created the ability to model springs in your assembly that are representative of the models, but are dynamic. For BOM purposes, you will still want to model your springs, but suppress them before running your mechanism analysis, or they might affect your results. 

DEFINING SPRINGS 

There are two different types of springs you can create in mechanism mode.  These are:            Joint Axis – The spring definition is associated with a created connection, such as a

pin connection, or a slider, etc.  The physical representation of the spring does not appear in the model.

            Point-to-Point – This method creates a spring between two vertices or datum points in the model.  A physical representation of the spring appears in the distance between the points/vertices.

 Springs work off of the basic equation for force (F): 

F = k ( x – U ) Where k is a spring stiffness, x is the current location of the spring, and U is the unstretched/uncompressed length of the spring. When defining a Joint Axis spring, the unstretched location is assumed to be at the defined joint axis zero location.  “X” is then measured away from this location.  When you are working in a defined space between two objects, it is often better to use Point-to-Point spring, because the distance “x” is measured between the two points, and “U” is merely specified.

 

Page 203: MDX_WF2_TOC

P a g e | 203

EXAMPLE – CAM FOLLOWER  

For this training guide, we are going to concentrate on creating Point-to-Point springs, as they are probably more common.  Therefore, open up the assembly called Spring_Example, which looks like the following.

We will start by going to Applications, Mechanism.  When we do this, we can see that we currently have a cam follower created between the green roller and the orange cam part, as shown in the next figure.

We also have a servo motor defined for the cam that will rotate it counter-clockwise at a constant velocity of 72 degrees per second.  Therefore, over a 10 second analysis time, the cam will have completed two full revolutions. If we go to the Drag tool, we can see that we have two snapshots defined (Bottom and Top).  We will use the Bottom snapshot for our analysis starting point.  For now, however, go ahead and drag the cam around and you will notice that the green roller will follow the contour of the cam, and it always touches (the cam does not enable liftoff). Kinematic Analysis We will test our assembly right now by creating a new analysis called Cam_Rotate.  Use the default timing options, but change the starting position to the Bottom snapshot.  Make sure you are using a Kinematic analysis.  When you run this analysis, the cam should behave as we expect it to.

Page 204: MDX_WF2_TOC

P a g e | 204

 Creating a Spring Now, in reality, we have a spring that sits at the top of the roller assembly that connects the roller up to the square platform at the top.  Therefore, we will go ahead and create a spring.  Click on the following icon in your feature toolbar. 

 When the familiar create window appears, click on New.  You will now get the following window. 

 We will go ahead and leave this default name alone.  In the Reference Type section, click on Point-to-Point, turn on the display of datum points, and then select the following two datum points: BASE_PNT and FOLLOW_PNT.  Once we do this, our window will look like the following.

 The U value automatically fills in with the distance between the two selected points.  Also, the Icon Diameter section shows a diameter of 11.3345 mm.  The Icon Diameter specification is what makes the spring look right on the screen, but has no bearing to the actual Force or deflection calculations.  We are going to enter the following values:

Page 205: MDX_WF2_TOC

P a g e | 205

 K = 100 N/mmU = 60 mmIcon Diameter = 15 mm Once we have entered these values, our window will look like the next figure. 

 Click on OK to complete the definition of this spring, and you should see the spring appear on your model, as shown in the next figure. 

 REMEMBER: This spring is for graphical and analytical purposes only, it will not be visible when you leave mechanism mode, and therefore will not appear on a BOM. Initial Conditions 

Page 206: MDX_WF2_TOC

P a g e | 206

Before we run our analysis, we need to create an initial condition.  An Initial Condition is similar to a snapshot, but it is used primarily with Dynamic Analyses, where snapshots are not able to be specified. To define an initial condition, we will click on the following icon in our feature toolbar. 

Click on New, and this brings up the following window. 

 In this window, we can define our initial condition from a snapshot, and we can also define initial velocities of different entities.  We will use the pull-down field to select the Bottom snapshot that we already have in the model, and then click on OK to complete the definition of the InitCond1 initial condition. Dynamic Analysis Go back to our Cam_Rotate analysis that we already created.  Change the type from Kinematic to Dynamic, and then select the InitCond1 initial condition at the bottom of the screen, as shown in the next figure. Make sure that the motor is still set to run from Start to End, and then run this analysis – overwriting the existing results set. This time, when the analysis runs, you should see the spring compress and extend as the cam moves around. Click on the Results tool, and save your playback results file to your local directory.  We will come back to this in a later lesson to learn about graphing measures.  Save your assembly.

 

LESSON SUMMARY 

Springs are used to simulate physical springs in the model.  You can apply them to joint axes to simulate a torsion spring (on a pin connection, for example), or you can apply them directly between two datum points/vertices. 

EXERCISE 

Page 207: MDX_WF2_TOC

P a g e | 207

Open up the Lock_Cam.asm assembly that we started in Lesson 16.  If you recall, we had a key that was being inserted into a lock that had bits that moved up and out of the way of the key as it entered. The problem was that the bits did not remain in contact with the key once they were pushed out of the way – or were pushed too far away (when we ran a dynamic analysis).  Your goal is to create ten separate Point-to-Point springs that will have the following characteristics: k = 2.5U = 0.125Icon Diameter = 0.05 In case you are wondering, the “k” value is being derived from the following information.  The current mass of each individual bit is 0.000735g.  The acceleration of gravity (g) is 386.4 in/sec2.  We are assigning the Unstretched length (U) the value of 0.125”, and the current location of the top of each bit is 0.2375”.  Therefore, we can solve the following equation to get “k”: F = mg = k(x-U) (0.00735)(386.4) = k(0.2375-0.125) k ~ 2.5  When completed, our springs should look like the following. 

 Edit the existing Key_Insertion analysis, and enable gravity.  Run the analysis, and this time, you should see the bits behave more realistically.  Capture a movie for this analysis called Key_Springs.mpg.  To see the completed movie, open up the Key_Example.mpg movie in your training directory. Save your results playback file, and then save and close your assembly when completed.     

Page 208: MDX_WF2_TOC

P a g e | 208

         

Lesson

190 

 

  Lesson Objective: In this lesson, we will learn how to create a damper in Mechanism.  

               

Page 209: MDX_WF2_TOC

P a g e | 209

USAGE OF DAMPERS 

A Damper is used to dampen the energy of a mechanism.  For example, an air cylinder on door hinge is a great example of a damper, as it forces the door to close at a controlled rate, rather than just slamming shut. In Mechanism, a damper is created similarly to the spring entity, and like springs, will not appear on your BOM outside of Mechanism mode. 

DEFINING DAMPERS 

There are three methods you can use to define dampers.  These are:            Joint Axis – The damper definition is associated with a created connection, such as a

slider or cylinder.            Point-to-Point – The damper is created between two specified points or vertices in the

model.            Slot – The damper is created on a slot-follower connection.  The body that contains the

point is acted upon by the damping force from the curve.  The force remains tangent to the curve at all points, and opposite the direction the body with the point is moving.

 When you define a damper, you use the following equation: 

F = C * V Where F is the damping force, V is the velocity of the body in motion, and C is a damping coefficient.  C can not be a negative value, and generally comes from manufacturer’s specifications or from empirical data. 

EXAMPLE – CAM FOLLOWER 

Open up the Spring_Example assembly that we worked on in the last lesson, and go to Mechanism mode.  It looks like the following. 

Page 210: MDX_WF2_TOC

P a g e | 210

To create a damper, click on the following icon in the feature toolbar. 

 The familiar create entity window appears, and we will click on New.  This will bring up the following window.

 We will select the Point-to-Point option and then pick the same two datum points that the spring goes through (BASE_PNT and FOLLOW_PNT).  For our “C” value, use 100.  Our window will look like the following. 

Page 211: MDX_WF2_TOC

P a g e | 211

 Click on OK to complete this damper definition, and you will see it on the model, as shown in the next figure.

It may be difficult to see the symbol embedded in the spring, so I’ll show you what it looks like in the next figure.

 Close out of the damper window.  We will now run our analysis again to view the results.  From an animation standpoint, we don’t see anything different.  The reason for this is because the servo motor spinning the cam is running at a constant velocity, and the amount of distance the piston is moving has not changed. Where we would see a difference is in any calculated forces for the assembly during the analysis.  We will see how to calculate forces in a later lesson.  This exercise was mostly to demonstrate how to create the damper.

 

LESSON SUMMARY 

Use dampers to simulate real dampening mechanisms in your assemblies.  Create them on joint axes, between two points/vertices, or on slot followers.

Page 212: MDX_WF2_TOC

P a g e | 212

 

EXERCISE 

None 

Lesson

200 

 

  Lesson Objective: In this lesson, we will learn how to generate measures from our Mechanism analyses. 

               

Page 213: MDX_WF2_TOC

P a g e | 213

DEFINING MEASURES 

In Mechanism, we can create realistic degree of freedom animations of our assemblies.  That is a nice feature, but is not the most powerful feature we have.  As we mentioned numerous times in the past, this tool is an analysis tool, used to simulate loads and forces on your assembly components as they are in motion. We will now take the opportunity to learn how to get information out of the part that may be useful in our design efforts by gathering measures from our analyses.  To define measures in mechanism mode, you first have to run an analysis on your assembly, and save your results playback file. Once you have that, you can enter into the measures tool using the following icon in the feature toolbar.

 

EXAMPLE 1 – CAM FOLLOWER 

We will continue with the cam follower assembly that we started in Lesson 18, called Spring_Example.  If you recall, we added a spring and a damper to this assembly that already has a servo motor, several pin connections, a slider connection, and a cam follower. We are going to create some measures to calculate forces, and also visually watch these measures on the animated assembly. Run Analysis and Save Playback Results The first thing we are going to do is re-run the dynamic analysis, just in case we forgot to save our playback results.  Once you run the analysis (Cam_Rotate), go to the results tool, and click on the save icon to save your playback file (cam_rotate.pbk) to your working directory. Create Measures

Now, we will close out of the results window, and click on the Create Measures icon (  ).  This will bring up the following window.

Page 214: MDX_WF2_TOC

P a g e | 214

 

At the top, there is a pull-down field with two options.  These are:            Measure vs. Time – Calculates the results as a function of analysis time.            Measure vs. Measure – Calculates the results as a function of another result.

 We will keep the default of Measure vs. Time, and move on to the next section.  In the middle there is a large field that will list any measures defined for this assembly.  Currently, we have no measures defined.  To the left of this window are four icons.  From top to bottom, these icons are:            Create new measure            Edit selected measure            Copy selected measure            Delete selected measure Just below this field, is a check box used to graph the selected measures separately.  We will see this a little later. Finally, at the very bottom is a list of available result sets.  There should be one for each analysis defined.  We currently only have one available. Measure 1 – Spring Load The first measure we are going to create is the load from the spring as a function of time.  Therefore, we are going to keep the option of Measure vs. Time, and then click on the Create new Measure icon.  This will bring up the following window. 

 

Page 215: MDX_WF2_TOC

P a g e | 215

In the Name field, enter Spring_Load.  For the type of the load, we have a variety of options to choose from.  These are:            Position – Measure the location of a point, vertex, or joint axis during the analysis.            Velocity – Measure the velocity of a point, vertex or joint axis during the analysis.            Acceleration – Measure the acceleration of a point, vertex or joint axis during the

analysis.            Connection Reaction – Measure the reaction forces and moments at joint, gear-pair,

cam-follower, or slot-follower connections.            Net Load – Measure the magnitude of a force load on a spring, damper, servo motor,

force, torque or joint axis.  You can also confirm the force load on a force motor.            Loadcell Reaction – Measure the load on a loadcell lock during a force balance

analysis.            Impact – Determine whether impact occurred during an analysis at a joint limit, slot

end, or between two cams.            Impulse – Measure the change in momentum resulting from an impact event.  You can

measure impulses for joints with limits, for cam-follower connections with liftoff, or for slot-follower connections.

            System – Measure several quantities that describe the behavior of the entire system, including: Degrees of Freedom, Redundancies, Time, Kinetic Engergy, Linear Momentum, Angular Momentum, Total Mass, Center of Mass and Total Centroidal Inertia.

            Body – Measure several quantities that describe the behavior of a selected body, including: Orientation, Angular Velocity, Angular Acceleration, Mass, Weight, Center of Mass and Centroidal Inertia.

            Separation – Measure the separation distance, separation speed, and change in separation speed between two selected points.

            Cam – Measure the curvature, pressure angle, and slip velocity for either of the cams in a cam-follower connection.

            User Defined – Define a measure as a mathematical expression that includes measures, constants, arithmetical operations, and algebraic functions.  You can use saved analysis features in this analysis as well – such as calculating the volume of liquid per time pushed from a syringe under a certain load, for example.

 For our Spring_Load, we will use the Net Load option.  Next, select the spring entity.  The last step for this measure is to determine how the measurement will be taken.  The pull-down at the bottom has the following options.            Each Time Step – The measurement will be calculated for each time interval of the

analysis, and the last time step measurement will be shown in the measure window.            Maximum – Gives the maximum value for the measure over the entire analysis.            Minimum – Gives the minimum value for the measure over the entire analysis.            Integral – Graphs the integration of the function up to a given point in time.            Average – Calculates the average value of the measure up to each time step of the

analysis.            Root Mean Square – Gives the root mean square value of the measure up to that point

at a given time step.            At Time – Gives the value of the measure at a specified time. We are going to keep the Each Time Step option, and then our window will look like the following.

Page 216: MDX_WF2_TOC

P a g e | 216

 Click on OK and now you will see this measure listed in our main window, as shown in the next figure.

 To view the graph, we must first select the measure (already selected in the figure above), followed by the result set, and then we will be able to select the graph icon in the upper left corner of our measure window.  When we do this, we see the following graph. 

Page 217: MDX_WF2_TOC

P a g e | 217

From the graph, we can see that our spring starts out with a force of approximately 339N.  This makes sense, because the “U” value that we specified was 60mm, but our spring was initially compressed about 4mm. Then, as the spring is compressed, the force by the spring goes up to about 3513N at time 1.3sec.  It then goes back to the original force when it extends again.  This repeats, because our analysis goes through two complete revolutions. Animate the Measure Close out of the graph, and close out of the measure tool.  We will return to this in a few minutes.  Now, go to the results tool.  Up to now, we have been playing back our animation, but we want to look at a different playback tool.  On the main window, we can see three tabs.  The third tab is entitled Display Arrows, and looks like the following. 

Page 218: MDX_WF2_TOC

P a g e | 218

 We can see a list of defined measures (in this case just our Spring_Load).  We will select this measure by placing a check in the box.  Down in the bottom we will enter a value that will scale the arrow.  100% gives us a default arrow size that may disappear into the model.  We will enter a value of 150 to make the arrows easier to see.  NOTE: We are not actually changing the value of the force that is calculated, only making the arrows bigger. Our window should look like the following when ready. 

 We should be able to see the arrows on the model at this time. 

Page 219: MDX_WF2_TOC

P a g e | 219

 Now, click on the play button in the upper left corner of our results window, and you will be able to watch the arrows grow and shrink as the force increases/decreases over the analysis time. Now, we are going to try a few more measures. Piston_Velocity Now, we are going to measure the velocity of the piston as it is being pushed up and down.  To do this, return to the measures tool, create a new measure and call it Piston_Velocity. For the type, select Velocity, and then pick the FOLLOW_PNT datum point on the model.  At this time, our window looks like the following. 

Page 220: MDX_WF2_TOC

P a g e | 220

 By default, it wants to use a world coordinate system (WCS), but we will turn on the display of coordinate systems, and click on the black arrow to re-select the ASM_DEF_CSYS coordinate system (which is behind the topmost CSYS in our model).  Once we select this coordinate system, change the Component field to show the Y Magnitude, and leave the evaluation method at Each Time Step, as shown in the next figure. 

At this time, we can also see an arrow on our model. 

Page 221: MDX_WF2_TOC

P a g e | 221

 Click on OK, and then graph this measure alone.  It looks like the following. 

Page 222: MDX_WF2_TOC

P a g e | 222

Close this graph window, and then select both measures from the list.  Check the box to graph measures separately, and then click on the graph button.  You will see a single window with both graphs in it as separate graphs, as shown in the next figure. 

 Close out of this, and uncheck the box to graph them separately.  Click on the graph button again, and now both graphs appear in the same grid. 

Page 223: MDX_WF2_TOC

P a g e | 223

Based on the magnitude values, this may or may not be a useful graph to read.  In this case, the magnitude for the Spring Force is much higher than the magnitude for the velocity, so the velocity graph becomes very flat. Close out of this window, and play back your results with the velocity arrows present.  Once you are done checking this out, go ahead and save and close your assembly.  

LESSON SUMMARY 

Measures are very useful for identifying the behavior of your moving assemblies.  With the ability to visually watch the magnitude of your measures in the animation, you really get a sense for what is going on. You can then use these measurements in design optimization, behavior modeling, etc.  Because there are numerous measurement types, I highly recommend using the online help center for more information for specific measure types. 

EXERCISE 

Open up the Lock_Cam assembly that we worked on before, and play around with taking different measures for the different bits/springs.  Animate your assembly with the arrows showing. You will not need to save your assembly when done.

 Lesson

Page 224: MDX_WF2_TOC

P a g e | 224

210 

 

  Lesson Objective: In this lesson, we will learn about the 6DOF connection type.  

               

Page 225: MDX_WF2_TOC

P a g e | 225

USAGE OF 6DOF 

There are times in an assembly definition, when you need to leave a component completely free to translate and rotate in any direction.  Normally, you might consider just leaving a component unplaced, but then no other components will react with it.  Therefore, this connection type will allow you to define this type of freedom, but still tie it into the assembly using a datum coordinate system. 

EXAMPLE – BOUNCING BALL IN CUBE 

We are going to simulate a ball bouncing in an enclosed cube where all the collisions between the ball and the cube walls are perfectly elastic.  Therefore, we are going to start by opening up the assembly called 6DOF_ASSY, which initially looks like the following. 

 Currently this assembly consists of a transparent cube.  We will now assemble in the 6DOF_Ball component.  When we get to the assemble component window, we will click on the Connect tab to define mechanism connections.  Change the connection type to 6DOF.  The window will now look like the following. 

Page 226: MDX_WF2_TOC

P a g e | 226

Select the coordinate system on the ball and the coordinate system on the cube, then select OK to complete this connection.  Go to Applications, Mechanism and you will see the connection, as shown in the next figure. 

 We can see a straight and curved arrow for the x, y and z axes.  We are now going to set the zero location and limits for this ball. Joint Axis Settings We will start by query selecting until we get the straight arrow for the “X” direction.  Once you have that arrow selected, right click and go to Joint Settings.  When the joint settings

Page 227: MDX_WF2_TOC

P a g e | 227

window appears, we will click on the Regen Value tab and check the box to regenerate at 0.  The “0” location for all three axes should set the ball at the center of the cube. Once you have turned on the regeneration of the ball at “0”, click on the Properties tab, enable limits, and set the following: Minimum Limit: -5.5Maximum Limit: 5.5Coefficient of Restitution (e): 1.0 Joint Axis Position: 0.0 Repeat this process for the “Y” and “Z” axis as well.  The ball should snap to the center of the cube, as shown in the next figure. 

 So, why did we set the limits and coefficient of restitution?  We might be tempted to set up cams to stop the ball at the inner walls of the cube, but we won’t be able to.  A limit of cams is that you can not use “spherical” surfaces as cam surfaces.  Only planar or cylindrical surfaces will work for cams.  Therefore, we use the limits (6 inches from the center of the cube to any wall – minus ½” for the radius of the sphere) to define the maximum travel for each axis. The coefficient of restitution at 1.0 defines an elastic condition at the limits of the ball travel.  This way, when the ball reaches one of its limits in an analysis, it will elastically bounce back the other direction. We will not have any servo motors defined for this analysis, because the ball’s travel is not going to be in any one particular direction. Initial Conditions Once you have the ball sitting at the center of the cube, we will define a snapshot called Start.  Once you have your snapshot defined, click on the define initial conditions tool (  ).  When this window comes up, select the snapshot, as shown in the next figure, but do not close out of this window.

Page 228: MDX_WF2_TOC

P a g e | 228

    

Down the left side of this window, there are some additional icons.  These icons are:            Define velocity of a point            Define joint axis velocity            Define angular velocity            Define tangential slot velocity            Evaluate model with velocity conditions            Delete highlighted condition

 We will select the Define Velocity of a Point icon, and select the datum point at the center of the ball, which brings up the following window. 

Page 229: MDX_WF2_TOC

P a g e | 229

 The first thing we are going to do is use the arrow button to select the DEF_CS coordinate system of the ball model.  Be sure to use Query Select to get the one with the ball, as both the ball and cube are right on top of each other. Next, enter a magnitude of 3.0 in/sec in the field provided.  Finally, we are going to define the vector values for the force.  Use the following:X: 0.4Y: -0.5Z: 1.0 Our window should now look like the following. 

Page 230: MDX_WF2_TOC

P a g e | 230

 On the model, we can see a magenta arrow indicating the direction of the applied force, as shown in the next figure.

 Click on OK to complete the velocity definition, and our initial condition window looks like the following figure.

 

Page 231: MDX_WF2_TOC

P a g e | 231

What we are doing here is saying that when the analysis starts, the ball is going to be traveling at 3 in/sec in the direction specified by our vector.  Where the ball goes from here is all up to the conditions in the assembly (mostly the joint axis settings in this case).  Click on OK to close this window, followed by Close to complete defining initial conditions. Analysis We will now define a new Dynamic analysis.  Be sure to set the initial condition at the bottom of the first screen, and change the analysis time to 60 seconds.  There are no motors, and we will not enable gravity or friction to start. Run the analysis, and you should see the ball bouncing off the inner walls of the cube.  To see a captured movie for this motion, open up the 6dof_motion.mpg movie in your training directory.

 

LESSON SUMMARY 

Use a 6DOF connection to simulate an object that has a completely open set of translations and rotations.  You may need to be creative in defining joint axis settings and initial conditions to simulate motion for the object if it is not tied to any other object. 

EXERCISE 

Continue with this same assembly and create a trace curve for the ball at the current settings.  Next, try changing the coefficient of restitution to a more plastic value (0.3, for example) and see how this affects things. Save and close your assembly when done. 

Page 232: MDX_WF2_TOC

P a g e | 232

 Lesson

220 

 

  Lesson Objective: In this lesson, we will learn about the General connection and redundancies in the mechanism model. 

               

Page 233: MDX_WF2_TOC

P a g e | 233

USAGE OF GENERAL CONNECTIONS 

A general connection is one in which no specific degree of freedom is explicitly set.  You will be able to fix degrees of freedom one-by-one with this connection by using regular placement constraints, such as Align, Mate, etc. Once you have defined some constraints, Degrees of Freedom will start to be eliminated.  Any open DOF will still be available for the mechanism.  The resulting DOF will be shown on the symbol for the connection. 

REDUNDANCIES 

Before going any further with the general connection, it is a good time to talk about redundancies in the model.  What are redundancies?  Any time you add two or more connections to a model that provide for the correct motion of an assembly but do not further constrain the model, you have redundancies.  A great example is a door assembled using two pin connections for each hinge. Once you add the first pin connection, you have fixed the door to having only one rotational degree of freedom.  Adding a second pin connection will not prevent the door from swinging properly, but it does not restrict any additional movement at all, and therefore is not necessary. Why do we care?  Unfortunately, redundancies in the model can lead to incorrect calculations of load reactions and forces in a dynamic analysis.  The goal then, should be to evaluate other potential combinations of connections that will give the same overall DOF restrictions, but not cause redundancies in the model. So, with the door example, an alternative might be to use a planar connection that restricts 3 DOF (1 translational and 2 rotational) and a bearing that restricts 2 DOF (2 translational).  This leaves one rotational DOF, which is what a pin connection gives us. 

EXAMPLE - ROBOT 

Open up your Robot.asm assembly that we worked with a while back.  Use Mechanism, Connect to return it to its starting position, and then delete all of the servo motors and the

Page 234: MDX_WF2_TOC

P a g e | 234

analysis.  Create a new servo motor on the pin joint that connects Robot3 to Robot 2, and use a Ramp with the following values: A = 0, B = 6.  This will move Robot 3 60 degrees in 10 seconds. Once you have this defined, create a new kinematic analysis where this motor runs from Start to End, and run the analysis to make sure that the arm is moving up 60 degrees during the analysis.  If it is, we are ready to add our general connection to Robot 4.  Use Mechanism, Connect to go back to the starting position. Return to Application, Standard to get back to regular assembly mode.  We will start by editing the definition of Robot4.  When we do this, we see the following. 

 We can see the current pin connection.  We will click on the green “+” button to add another connection.  Change the type to General, and we will see the following. 

Page 235: MDX_WF2_TOC

P a g e | 235

Before we pick any references, we are going to explicitly define an Align and Oriented condition, as shown in the next figure. 

 Then, select the top flat surface of Robot2 and the top flat surface of Robot4, as shown in the next figure.

Page 236: MDX_WF2_TOC

P a g e | 236

 When we do this, we will be removing two rotational degrees of freedom from this robot component.  If we look at our model tree and expand the connections, and drill down into our general connection, we can see that we still have three translational and one rotational degree of freedom open on this connection. 

Return to Mechanism mode, and re-run the analysis.  This time, the robot 4 component does not rotate up, instead it remains parallel to the ground. Close this assembly without saving.

 

LESSON SUMMARY 

A general connection is used to allow for traditional placement constraints, while still allowing for motion of the component (unlike the rigid connection), but does not have a completely open DOF state, like the 6DOF connection.

Page 237: MDX_WF2_TOC

P a g e | 237

 Remember to watch out for redundancies when you run a dynamic analysis.  Use the DOF measure to check how many degrees of freedom are still open and use the redundancies measure to determine if you have redundancies in your assembly connections. 

EXERCISE 

None 

Page 238: MDX_WF2_TOC

P a g e | 238

  

Lesson

230 

 

  Lesson Objective: In this lesson, we will learn about the Gear Pair entity.  

               

Page 239: MDX_WF2_TOC

P a g e | 239

USAGE OF GEAR PAIRS 

Gear pairs are used to simulate two gears in your mechanism.  Many times, you may wish to avoid having to model gears and figure out (either using Cams, or some other method) a way to get them to work properly.  This mechanism entity will not only provide you with a way to simulate the gears working together, but can calculate forces and loads as well. There are two different types of gear pairs that can be created:            Standard – Use this when you want your two gears to rotate in the same or opposite

directions, such as a spur-spur or worm and wheel gear.            Rack and Pinion – Use this when you want to be able to translate rotational motion into

translational motion. 

EXAMPLE 1 – STANDARD GEAR PAIR 

In this first example, we are going to create a system of planetary gears, like you might find in an electric screwdriver.  Therefore, open up the model entitled Planetary_Gear.asm, which initially looks like the following.

 

Page 240: MDX_WF2_TOC

P a g e | 240

This assembly consists of two sub-assemblies.  The first sub-assembly is the motor assembly, which consists of the motor base, and the motor shaft (which also represents our small gear). The second sub-assembly represents the planetary gear which consists of a fixed plate, three medium gears, and one large gear, which represents our chuck. The following figure shows the five different gear representations in our model.  Please note which medium gear number identifies which gear, as we will refer back to this when defining our gear pairs. 

 I intentionally put holes in the small and medium gears so we can see the actual motion of them once we are done.  Other than the holes, we did not have to worry about modeling gear teeth.  We could have modeled gear teeth, but they would not have contributed to the final mechanism we create. We will now go to Applications, Mechanism to look at the current connections.  The motor sub-assembly has a pin connection for the shaft which allows the small gear to rotate.  The planetary gear sub-assembly contains four pin connections that allow the three medium and one large gears to spin. These sub-assemblies were placed together using two general connections to offset the plate from the motor.  These general connections do not prevent the pin connections from working, unlike a rigid connection.  The following figure shows the different pin connections. 

Page 241: MDX_WF2_TOC

P a g e | 241

Finally, the last thing to point out on this assembly are some datum points that are built into the gear models.  When we define gear pairs, we need to have a datum point or vertex that we can use to graphically show the outline of the gear.  We place this datum point right on the circumference of our gear model to define the diameter.  The following figure shows the different datum points. 

 Servo Motor Definition Before we define our gear pairs, we will define a servo motor that will drive the motor rotation.  Therefore, create a new servo motor called Motor_Turn, and use the pin connection for the small gear.  For the profile, we will use Velocity at a constant value of 600 deg/sec, which equates to 100 rpm. 

Page 242: MDX_WF2_TOC

P a g e | 242

The servo motor window will look like the following. 

The following figure shows the servo motor on the model once it is complete. 

Circular Pitch One more thing to discuss before we create our gear pairs.  If you recall from gear 101, a gear ratio can be defined as the diameter of one gear to another.  It is often defined by the number of teeth of one gear to another, but since we don’t have actual teeth on our model, we use the Circular Pitch (or in Pro/E referred to as the Pitch Circle). The following are the pitch circles for the different gears:            Small Gear = 0.3            Medium Gear = 0.9

Page 243: MDX_WF2_TOC

P a g e | 243

            Large Gear = 2.1 

Therefore, our large gear should be reduced down from the small gear by 7 (2.1/0.3).  If the velocity of the small gear is 600 deg/sec, then our resulting velocity for our large gear ought to be 600/7 = 85.7143 deg/sec.  We will take measures at the end to confirm this. We are now ready to define our gear pairs.  Just like cams, we have to have a gear pair for every two gears that come into contact.  Therefore we will need 6 gear pair definitions.  One for each of the interactions between the small gear and the three medium gears (3), and one for each of the interactions between the medium gears and the large gear (3). Gear Pair 1 – Medium Gear 1 to Small Gear To create a gear pair, click on the following icon in the feature toolbar. 

 This brings up the familiar “create entity” window.  Click on New to create a new gear pair.  This brings up the following window. 

 The first thing we are going to do is enter a new name for this gear pair, called Sm_Med_1 to signify that it is between the small gear and the medium gear 1 listed in one of the previous figures. For the type of gear, we will leave the Standard value alone.  Next, we are defining Gear 1, indicated by the Gear1 tab.  For the joint axis, we will pick on the pin connection for the small gear (see previous figure).  When we do this, it should automatically determine which body is the gear versus the carrier.  The Carrier is typically the body that remains stationary.  Since a pin connection is made from two bodies (the motor and the shaft), the motor is selected as the carrier, and the shaft is selected as the gear. 

Page 244: MDX_WF2_TOC

P a g e | 244

If we had two bodies that moved (such as two links in a bar linkage), we could flip which body is the gear and which is the carrier. Once we select the pin connection, we should see the following on the model. 

We can see the gear symbol and two magenta arrows.  In our window, we will type in 0.3 for the Pitch Circle, and then select the SM_GEAR datum point to determine the Icon Location.  Once we do this, the gear symbol moves to the plane where the datum point is located, as shown in the next figure. 

 The data for Gear1 looks like the following at this point. 

Page 245: MDX_WF2_TOC

P a g e | 245

 Now, click on the Gear2 tab, and select the pin connection for the Medium Gear # 1, as defined in a previous figure in this lesson.  Once we select this, enter 0.9 for the Pitch Circle, and pick on the MED_GEAR datum point for this gear to location the icon. The model will now look like the following. 

 Our Gear2 window looks like the following.

Page 246: MDX_WF2_TOC

P a g e | 246

 

 When we click on the Properties tab, we see the following. 

 We can see that our current definition for the gear ratio is determined by using the pitch circle diameters.  The other option is to create a user-defined pitch, in case we didn’t model our circles at the correct diameters. We will leave it at the current value, and we can see that the ratio of D1 (small gear) to D2 (medium gear) is 1:3. 

 On the model, the outline of the gear pair adjusts to the correct diameters, and we can see straight lines on each gear symbol, indicating the location of the joint axis zero location for each gear, as seen in the next figure. 

Page 247: MDX_WF2_TOC

P a g e | 247

 Click on OK to complete this first gear pair definition, and our model will now show a connecting line between the two gear pairs, as we can see in the next figure. 

 Sm_Med_2 and Sm_Med_3 Gear Pair Definitions The easiest way to create the next two gear pairs between the small gear and the remaining two medium gears is to copy the first gear, and then select a different pin connection and datum point for Gear2 for each.  We will not need to redefine Gear1 because it is the same for the other two. Just make sure that you rename the gears to Sm_Med_2 and Sm_Med_3, and pick the appropriate pin connection and datum point based on the figure early in this lesson. Once all three gear pairs are defined, you should see the following on your model. 

Page 248: MDX_WF2_TOC

P a g e | 248

Lg_Med_1, Lg_Med_2 and Lg_Med_3 Gear Pair Definitions To create the three gear pairs that go between the large gear and the three medium gears, copy the existing three small gear/medium gear pairs.  For each copy, rename it to the appropriate LG_ name, and then redefine Gear1 to select the pin connection and datum point that correspond to the large gear.  Don’t forget to enter a pitch circle value of 2.1. Once all six of the gear pairs have been completed for the assembly, it will look like the following.

Page 249: MDX_WF2_TOC

P a g e | 249

 Save your assembly, and we are now ready to create our analysis. Analysis Create a new kinematic analysis, called Spinning_Gears.  Keep the timing options the default values, and make sure that the servo motor is running from start to end.  Run the animation, and you should see all of the gears spinning. To see a captured movie of these gears spinning, open up the Planetary_Gear.mpg movie in your training directory.   Measures The last thing we are going to do for this assembly is confirm that our gears are working properly.  The easiest way to do this, is to check the velocity for the large gear.  To do this, click on the create measures tool, and create a new measure called LG_Gear_Velocity.  Set the type to Velocity, and pick on the pin connection for the large gear.  Keep the default of Each Time Step selected. 

Page 250: MDX_WF2_TOC

P a g e | 250

Back in the measures window, we should see a value of 85.7143, as we can see in the next figure.

 This is exactly 600/7, which we said it should be, therefore, our gear pairs are doing exactly what they should be doing.  

EXAMPLE 2 – RACK AND PINION GEAR 

We’ve all heard of rack and pinion steering, where a rotational turn of the steering wheel causes a linear translation of a rod connecting the wheels (simplified).  This is what a rack and pinion type of gear pair is doing, and we will define one now. To demonstrate this, open up a model called Sitting_Duck, which will simulate an arcade-style duck hunting game.  It looks like the following. 

 We have two duck models sitting on sliding rails that have gear teeth at the bottom (not modeled).  The two rails are touching two gears, one of which is driven by a servo motor to move the ducks across the field in 5 seconds, and the other has a standard gear set up between them.

Page 251: MDX_WF2_TOC

P a g e | 251

 If you go to mechanism mode, you can see this initial setup, as shown in the next figure. 

 For consistency, we will use the following convention. 

We are going to be creating two rack and pinion gear pairs between Rail 1 and the small gear, and between Rail 2 and the large gear. Sm_Rack_Gear We are going to click on the gear pair icon.  When we do, we will see the current gear pair that is defined, as shown in the next figure. 

 

Page 252: MDX_WF2_TOC

P a g e | 252

Click on New, and when the window opens, enter Sm_Rack_Gear for the name, and change the type from Standard to Rack and Pinion, as shown in the next figure. 

 This changes the tabs to say Pinion and Rack instead of Gear1 and Gear2, respectively.  The Pinion tab is used to define the rotational gear.  We will click on the black arrow under the Joint Axis section, and pick on the pin connection that sits on the small gear.  Enter 1.0 for the Pitch Circle Diameter, and then pick on the SM_GEAR_2 datum point for the Icon Location. The model should look like the following. 

Page 253: MDX_WF2_TOC

P a g e | 253

 Now, we will click on the Rack tab, and for the joint axis, pick on the straight arrow on the slider connection for Rack 1.  When asked to pick the Pitch Line, we will pick on the following vertex. 

 Click on OK to finish this gear pair, and you will see the following in your model. 

Page 254: MDX_WF2_TOC

P a g e | 254

 Lg_Rack_Gear Create a second gear pair using the Rack and Pinion option, and this time for the Pinion, pick the pin connection on the large gear model, and use a diameter value of 1.0.  For the datum point, pick on the LG_GEAR_2 point. For the Rack, pick on the slider connection on the Rail 2 model, and pick on the equivalent vertex for the pitch line, as shown in the next figure. 

 One of the last things we are going to do for this definition, is to flip the positive direction of the rack using the button shown below. 

Page 255: MDX_WF2_TOC

P a g e | 255

 This will make the magenta arrow for this rack body look like the following. 

 Now, click on OK to complete this gear pair, and our model will look like the following. 

Page 256: MDX_WF2_TOC

P a g e | 256

Before we run the analysis, go to your drag tool, and take a snapshot of the assembly with the ducks at the end positions.  Call this snapshot Start.  We will now go into our analysis. Analysis Open up the analysis tool, and edit the existing analysis (Duck_Move).  Change the starting position to use the Start snapshot, and then run the analysis.  If everything is defined correctly, the ducks will move towards each other and stop in the middle. To see a captured animation, open up the Sitting_Duck.mpg movie file in your training directory. Save and close this assembly.  

LESSON SUMMARY 

Gear pairs are very powerful, and very useful for representing different types of gears without having to worry about modeling gear teeth and trying to create cams to get the gears to connect. Be careful to check the positive direction of rotation and translation for your different gear bodies. 

EXERCISE 

Open up the model entitled Hand_Mixer.asm, which looks like the following.

 

Page 257: MDX_WF2_TOC

P a g e | 257

The goal for this exercise is to be able to animate the crank wheel going around and see the mixer blades spin in the correct direction.  In this case, you have bevel gears, but the Standard gear pair should work nicely. To see a completed movie of this hand mixer in action, open up the Hand_Mixer.mpg movie file in your training directory. Save and close this assembly when finished. 

Page 258: MDX_WF2_TOC

P a g e | 258

   

Lesson

240 

 

  Lesson Objective: In this lesson, we will learn about defining Force and Torque.  

               

Page 259: MDX_WF2_TOC

P a g e | 259

USAGE OF FORCE AND TORQUE 

With the Force/Torque tool in mechanism, you can introduce external forces or torques into your model that are not due to impact or forces caused by servo/force motors. When you apply a force/torque, you have three different options:            Point Force – The force is applied to a datum point on a body, at a specified magnitude

and direction.            Body Torque – The torque is applied at the center of mass on a specified body.  The

magnitude and direction of torque is then specified.            Point to Point Force – The force is applied equally and opposite two selected points. 

If the two points are coincident, the value is zero. 

For the magnitude of the force/torque, you have additional options for how you specify it:            Constant – A constant force is applied to the object.            Table – Use a table to define force as a function of time.            User Defined – Create your own function to define the force using an equation editor.            Custom Load – Write special programs to define your forces.  This is not standard out-

of-the-box functionality, and will not be covered in this course. 

TOPIC 2 

TOPIC 3 

TOPIC 4 

LESSON SUMMARY 

A

Page 260: MDX_WF2_TOC

P a g e | 260

 

EXERCISE 

Lesson

250 

 

  Lesson Objective: In this lesson, we will learn about Force Motors.  

               

Page 261: MDX_WF2_TOC

P a g e | 261

USAGE OF FORCE MOTORS 

TOPIC 2 

TOPIC 3 

TOPIC 4 

LESSON SUMMARY 

EXERCISE 

Page 262: MDX_WF2_TOC

P a g e | 262

  

Page 263: MDX_WF2_TOC

P a g e | 263