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


















Text Box: 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.




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.




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.


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:


K = 100 N/mm

U = 60 mm

Icon 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


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.




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.




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

U = 0.125

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