North America's Leading Siemens PLM Partner

Designfusion Blog

How to create an adjustable coil spring

John Pearson - Wednesday, September 18, 2013
How to create an adjustable coil spring

If you wish to create an adjustable part, you must build a part that is adjustable. Sounds obvious, but sometimes what seems adjustable to the eye is not adjustable in the CAD system. For example, let’s look at this coiled spring.


New users may look at the part and model it using the helical protrusion command to make the coil. Then use protrusion and/or swept protrusion to complete the part. This will look good but will not be adjustable. Why? Let’s look at the part in an adjusted or deformed state.


Notice that the coil deforms as the part adjusts. If you model this with a helical protrusion, the rules of the helix will prevent you from deforming the coil. So how do you model this to get the adjustable results?

There may be other ways to model this part, but I find this method fairly easy to create while giving me the control I need. I start by creating a flat sketch of my part, on the Top reference plane.



Notice the 2 lines labeled A. These lines represent my wrapped coil center lines. My wire will be 7.5 mm in diameter, so I’ve made the opposite ends 8 mm wider, to avoid any body intersection. The 157.1 mm length of these lines is equal to the perimeter of the initial coil size. I‘ve used two tangential arcs to create the lines, because it generates a nice smooth flowing coil.

I then create a second sketch on the Right reference plane to represent the initial coil position.


The top quadrant is connected to the (0,0,0) point with the center of the circle horizontally aligned beneath it.

I then create an extruded surface, which I will use to wrap the coil around. The Extruded Surface command is found on the Surfacing Tab, in the Sufaces group.



Next, I use the Wrap Sketch command to wrap the arcs around the extruded surface. This command is found under the Surfacing tab, in the Curves group.



I am first prompted to select the face that you will wrap around. I select and accept the extruded surface.





I am then prompted to select the sketch that I wish to wrap. I set the selection filter to single and pick the four arcs from the sketch.



Once I accept the selection, the arcs wrap around the extruded surface.




To make it easier to visualize the next steps, I hide the extruded surface. I then create a sketch, to represent the diameter of my wire, centered on the top of the flat wire, on the Front reference plane.



I then use the Swept protrusion command to create 3 features. Note: I use the following options when creating all 3 features.




The first swept feature looks like this:



The second swept feature looks like this:


The third swept feature looks like this:





Finally, I hide all sketches and curves, and then I create the last two wire sections. I could use several different methods to create these sections, but for simplicity I used the Thicken command, and simply thicken the end faces the distance that I need.


I now have the modeled part which I can make adjustable.

In this model we want to adjust the tilt angle of the legs, which is actually controlled by adjusting the diameter of the coil.

To simplify the process I open the Variable Table and rename the variable that controls the diameter of the coil, to Coil_diam.



I then create an associative sketch, on the Right reference plane, to allow me an easy way to monitor the tilt angle of the legs.



Note: I used the Include command to create this associative line.
In the Variable table, I located  the 90 degree variable and renamed it to Tilt_angle.



If I change the Coil_Diam  value, I will notice that the Tilt_angle  value changes because of the associativity between the Sketch and the model.

For example, if I change the Coil_Diam to 55 mm the Tilt_angle changes to 57.27 degrees.




Now that I have this relationship, I can use the Goal Seek command to get the exact Tilt_angle  value, that I need. 

I select the Goal Seek command from the Evaluate group, under the Inspect tab.



On the command bar I input the following information;


Goal: Tilt_angle
Target: My desired Tilt_angle (e.g. 45 degrees)
Variable: Coil_diam





When I accept this input, the Goal Seek will run through a series of iterations, until it finds the exact Coil_Diam value, to give me the desired Tilt_angle value. 

In the example, the results are as follows:



I now have a part that can easily be adjusted, without having to create any complicated formulas.

Note:  Clearly the deformation of the coil has it limits. If you enter in too large of a Tilt_angle, the model may fail. I have also kept this example simple; therefore if you try too many different angles, without resetting back to the original angle, the model may fail.

It is important to note that this example could be created in several different ways and still provide you with similar results. The main thing here is that the model must have the flexibility to adjust. If I had used the Helix command instead of the Wrap Sketch command, I would not be able to adjust the coil. I can also obtain the desired results using the Goal Seek command. This saves me from having to derive complicated mathematical formulas. 




comments powered by Disqus