How to create expanding andcontracting spring in Bongo

Bongo_ How do I create an expanding and contracting spring with Bongo?

I can create a spring using helix-surface-rail-section and then use “make solids”.
With Bongo2 I can animate it to expand and contract BUT the cross-section shape
of the wire becomes ellipitcal along the stretch axis(Y).

Requirements: 1) Spring stretches and contracts along
the Y axis WHILE The cross-section diameter of the wire
remains constant as does the diameter of the spring.

          2a) The spring stretches and contracts along the Y axis
              WHILE both the diameter of the spring and the
              wire diameter vary.

There are two approaches I can think of:

  1. Make your spring out of a curve, and then use ApplyCurvePiping to create the actual thickness to the spring. Then scale the curve using Bongo - the pipe will remain circular.

  2. Use history - make sure history is on when you create your sweep. Then apply the scale animation to the spring. The history should regenerate the rail sweep every frame, again keeping the spring section circular.

No. 1 is way easier - if you can do it that way, use that.

  • Andy

Hi Andy,
First of all thank you for your helpful reply. As a newby I was beginning to feel very much on the
remote(undiscovered?) edge of the Bongo Universe. Just a reply was very reassuring.
I did try both methods as suggested but for reasons of my own inexperience I was unable to get
the animations to function in any manner. Obviously the constraints/joints that I used on my original
model did not apply on the two new models. Will have more time on the weekend to experiment.

In order to facilitate your experiments, a little addition:
because ApplyCurvePiping is a render tool the result (your spring) doesn’t show up in WireframeDisplayMode. The command doesn’t truly create a polysurface but merely a render mesh. Nevertheless (strangely enough) the mesh won’t show up in RenderedDisplayMode either, only when you effectively render. So you better select any of the other display modes (Shaded, Ghosted, X-ray) to see what’s going on.
Secondly the deformation of the mesh (due to the animation transform) isn’t updated in any viewportdisplay when you ‘Play’ the animation. You should constantly press the next-tick-button on the timelineslider instead.

Same remark in connection to ‘Play’ concerns the second technique: objects based upon history-recording are likewise not updated in the viewportdisplay when you ‘Play’ the animation. Again use the “press-next-tick-timelineslider-button’ technique.

As a bonus a sample model: Spring.3dm (245.1 KB) For Andy’s second option I used the pipe command (with History) instead of a sweep. Only the stretching along the Y axis is animated but a diameter stretch is easily made (just add Scale X or Z). The ‘wire diameter vary’ aspect of your 2nd task is feasible but requires some (advanced :dizzy_face:) trickery.
Have fun.