Animate spring compress and stretch



I’ve created some springs in SketchUp and need to animate them. I have to be able to show the spring decelerating or accelerating when it compresses or releases. Is SketchUp is capable of this kind of animation? If not, what other animation programs would you recommend I export to. My animation skills aren’t sufficient for something like Maya but I can deal with Adobe Animate. Can I export from SketchUp to Animate successfully for this? Other suggestions? Thanks in advance for your help.


There are plugins for Make that let you export DXF, like this one:

If you have Illustrator you can open the DXF in there, select everything and copy, and paste into Adobe Animate. It will just be a 2D image that is like the view you had in SketchUp, but you can then squish it with the Animate tools, and it is still vector.

There are online converters from DXF to SVG, which you could use to skip the Illustrator step.

Do you have an example scene that I can try, to see if it works out for me?

Adding another thought…

You could export Collada and use Photoshop to create a 3D layer from the file, and then squish the spring. It won’t look exactly right though, because the spring would become thinner.




I tried uploading a sample file but it’s too big.


You might consider trying @Fredo6’s Animator extension, available on SketchUcation. I’ve used it to make animations. It can alter the scale of components, such as springs (which I’ve animated). I’m not sure how to do a non-constant-rate compression of an object; for me a constant liner compression was OK. You might need to approximate it with two or three or four etc. stages of constant-rate compressions, which progressively operate at higher rates.

Another note: Animator’s scaling applied to my spring component caused the originally-circular cross-section “wire” (from which the spring was wound) to progressively deform into an oval cross-section (as a simple result of directly scaling all the component’s geometry). For me this too was OK, not terribly noticeable. If you actually want to continuously bend the round wire in order to represent the true compression of the spring (maintaining the wire’s circular cross-section), that will need a fancy tool.


Thanks Tom. I was thinking of keyframes to create a series of segments approximating acceleration or do you celebration. I think that’s the same as what you’re suggesting. I’m a bit more concerned about the shape change since I’ll be using still images of the springs too. I’ll have to try it to see. When you did this were you using a model created in the sketch up or in animator or illustrator?
Thanks, David


My experience was with a model created entirely in SketchUp and animated in SketchUp via the Animator extension mentioned previously. To see an example of one of my springs in action within this 18-minute video look at 9:58 into the video.


Thanks. I misread that initially thinking you were working in Animate with an extension.


The springs in your video look similar to the ones I’ve created. However, the compression is less visible than will be the case for me.

By the way, I had an interview to work on Viking as a programmer. I was very enthusiastic in the interview since I’ve always love astronomy and space science. The enthusiasm almost got me the job but someone else got it because he had previous experience with the particular language. I think it was something called Mark IV although it has been quite a lot of years and would be a miracle if I remember it correctly.

The project I need the springs for is an effort to explain chemical thermodynamics in a clearer and more interesting way. It’s turned out to be much harder than I expected but I think I’ve made some progress finally.


As a test of how badly the pure geometric compression of the spring wire cross-section might be, try making a copy of one of your springs and simply using SketchUp’s Scale tool to squash it about the compression axis. That’s effectively what fredo6’s Animator extension does.

Wow, amazing coincidence! You’ve been around a long time, then. :slight_smile: I’ve only been a professional software engineer since 1981.


SketchUp > Maya is a big jump, there are loads of methods in between. If the Animator plugin does not work then an easy but potentially time consuming method is to:

  1. Create a fixed view in SketchUp
  2. Make a notched scale on either side of the spring, the length you wish it to animate. With a notch for each ‘frame’. If you want a smooth animation you aim for 24fs, so if you want a 3 second animation you would have to create 72 notches.
  3. Physically compress the spring manually by deforming the mesh from it’s largest position (top notch 72) all the way down to the last notch (taking a screenshot or exporting an image each frame).
  4. Composite the frames in an image editor to make a move or GIF.

Iv’e used this method several times I will look for an example to send you.


I’ve tried the scale tool so I have some idea of what it might do. I was hoping for a good quality tweening process that could handle compression and stretching more faithfully but I don’t know what program might do this and whether I can deal with the time needed for the learning curve if I could identify the program.

By the way, I haven’t found the extension you mentioned. I see a number of Fredo6 extensions but nothing that looks like animation.


Thanks. An example would be great. Perhaps I could adapt this method to get acceleration or deceleration of spring stretching and compressing.


Do you have Photoshop? I could send you an animation PSD created via SketchUp, or I could make a SketchUp file, but the latter would have to wait until tomorrow? These rotors are moving around a central point by 15 degrees each time (for 24 frames for a single revolution). Although the mesh is not modified the production process is the same.

Edit: Or you could send me the spring and I could make that into the example. However I think @TDahl had a better solution with the plugin.


That would be Blender. Not that easy to learn, but not much you can’t do with it.
This guy is a bit annoying but he animates a spring

There’s loads more on youtube.


The Animator extension (link in one of my earlier replies to general discussion of the usage, and –>here<– that goes directly to the download page) will create very smooth per-frame motion. I just recalled that the Animator extension supports non-constant rates. In addition to constant-rate scaling, you should be able to do sine-curve type rates, exponential rates, and a number of alternatives (all with user-settable “gain” factors). I used one of the non-linear rate modes a lot for various things in that video (camera motion, object-translation).

There is definitely a learning curve for Animator. It has an amazing set of capabilities, but it does take practice.


this was an Scene Animation from 8yrs ago…

I think I used 3 sizes of spring…



Nice, was that just the scale tool or did you use a plugin?


no scaling, I made three helix with a plugin and used follow me to create the ‘wire’…

it was a test for this one…



Thanks for the example. Quite a little scene you created! Would the end result of the “notch” method be the same as TDahl’s plugin method? I don’t have Photoshop, btw.