What's new

How to create a dynamic spring

MainJet

Member
Is there a way to create a dynamic spring that will compress/expand in an assembly ?
I can draw a fixed spring just fine
 
Is there a way to create a dynamic spring that will compress/expand in an assembly ?
I can draw a fixed spring just fine
Not really as that would require a dynamically linked reference Plane set to control the Helix definition. What I do is to create Configurations for Free Length, Initial Compressed Length, Fully Compressed Length, and at least one Intermediately Compressed Length. It is then only an "issue" to activate the correct Configuration within the Assembly. [Not, mind you, that this has not neen part of my List of Requested Improvements for quite a while.]
 

MainJet

Member
Thanks, I was afraid it would be something like that.
I need to figure out the absolute minimum clearance required for the spring, but the spring is also bending a bit.
Aware of any software around that will do this sort of stuff ?
 
Thanks, I was afraid it would be something like that.
I need to figure out the absolute minimum clearance required for the spring, but the spring is also bending a bit.
Aware of any software around that will do this sort of stuff ?
Have you noticed my Spring Design "resource?" There's one for coil compression springs and another for hairpin double torsion springs. Both meet SAE and DoD requirements.
 

bigseb

Alibre Super User
I do this using configurations in some mould assemblies. Its not dynamic but close enough for my purposes.
 

MainJet

Member
Thanks for the above.
Lew, where is the Spring design resource ?
I usually draw it myself but it is always good get something which is easier :)

The issue I had was to bend the spring inside the the assembly to ensure enough clearance.
Bugger all wall thickness to work with so the more I can leave in the better
 

B Castle

Member
A dynamic spring is out of my price range. But if anybody would like a pretty quick and dirty spring creator, I made this.
Find a spring on MSC or equivalent.
Open sample spring.
Set as read only. So Save As (SPRING PART #)
Open equation editor
Fill in the "A" lines (Spring OD, Wire Dia, Solid Spring Height, Desired Height for assembly)
Does fine for 95% of everything I need, Inserts a reference plane at base and desired height for easy mating.
 

Attachments

  • SAMPLE SPRING.AD_PRT
    1.1 MB · Views: 10

TimoCAD

Senior Member
Since you want to have a deformable Part, what about FEA? There are OpenSource Softwares like Calculix or Z88Aurora or Elmer. It's a static problem if you have low velocity and low accelerations.
 
A dynamic spring is out of my price range.
In essence what you would need is a Constraint with a variable range of values that allows the Helix Feature to vary based on some other Component's position. Give us that ability (angular as well as linear) and quite a few things become bettter with the Constraint system!
 

B Castle

Member
In essence what you would need is a Constraint with a variable range of values that allows the Helix Feature to vary based on some other Component's position. Give us that ability (angular as well as linear) and quite a few things become bettter with the Constraint system!

Seems both simpler and more complex than that. You would need the centerline (axis) of your helix to be a variable spline. Then you would need to constrain each end of the spline to mate to the center point of the spring pocket I would think.
 
Seems both simpler and more complex than that. You would need the centerline (axis) of your helix to be a variable spline. Then you would need to constrain each end of the spline to mate to the center point of the spring pocket I would think.
B -- My point is that Variable (within limits) Constraints are a needed improvement. Applying it to a Spiral Feature should be fairly obvious. Making that Variable Constraint driven Component as something driven by a Constrained Relationship should be equally obvious.
 
Maybe there's something in this old tutorial that will help -- or maybe not.
Harold -- One problem associated with using S[line Entities to approximate a Compression Spring is that a spring's mean diameter increases as it is compressed. Thus, one needs to know the amount of compression to know how the mean diameter is affected. If you look at my "Coil Compression Springs Library Rev New.7z" entry under Resources you will see that being accounted for through Configurations.
 

idslk

Alibre Super User
Hello colleagues,

here only a little thing for your ideas...
springmove.zip is a very little video
Spring_Move.AD_PRT is a little spring
upload_2019-6-14_20-5-54.png
and here is the little script for the "move" (should be also in the partfile)
Code:
Win = Windows()
WT = 'IDSLK'
ScriptName = 'Springmove'
springtravel = 20
CP = CurrentPart()
for i in range(len(CP.Parameters)):
  if CP.Parameters[i].Name == 'D4':
    M = i
Posi_x = CP.Parameters[M].Value
for r in range(springtravel):
  Posi_x = Posi_x - 1
  CP.Parameters[M].Value = Posi_x
for r in range(springtravel):
  Posi_x = Posi_x + 1
  CP.Parameters[M].Value = Posi_x
print 'done'
It dynamically edits the length(D4) of the spring (it does not do any FEA)
The variable "springtravel" is to control how much the spring will be compressed and released.

It could be made more comfortable, shiny and professional but it's only to start thinking about it...

Regards
Stefan
 

Attachments

  • springmove.zip
    183.1 KB · Views: 7
  • Spring_Move.AD_PRT
    831.5 KB · Views: 7

idslk

Alibre Super User
Hello Miles,

nice too bring this back to the light...;)
This time it's done with only one part (helix) and using AlibreScript instead of Motion(which is no more available:()
The smoothness from the demo today can be adjusted with the step size...

Regards
Stefan
 
Top