I am trying to assembly a spring with Dia0,7mm wire dia of 5,75 coils. The first and last coil pitch is 0,7mm and other 3 coils has 3,07-mm-pitch. I cannot assembly it to the subassembly with flexible varied items. I used relation for to keep constant of pitch however during assembly it cannot be regenareted. Does anyone know what the solution is?
Solved! Go to Solution.
Take a look at the attached model. It automatically calculates the proper pitch to maintain the intended coil count. I also tied the spring geometry to the first sketch, so you can directly edit that instead of the helical sweep. Total number of turns is still controlled by the "N" parameter.
Figuring out the equation was quite challenging due to the transition zone between the initial collapsed coil and the center section. Basically the pitch of the first coil is known (pitch = wire diameter) and the pitch of the transition area is an average of the first coil pitch and the center section pitch (pitch = [first coil pitch + center coils pitch] / 2). The trick is finding a value for the center section pitch that when combined with the first coil pitch and the transition area pitch yields the exact coil count needed. The equation ends up looking like this:
T = Total Number of Turns
X = Height of first coil (typically the coil diameter)
Y = Height of center section coils
A = Pitch of first coil (typically the coil diameter)
C = Pitch of the center section
Solving the equation for the unknown, pitch "C", yields this equation:
Implemented into Creo, it's working great, but now I think I'm ready to go watch Antonio's spring technique. This was too much work!
Welcome to the forum, Nurdan.
I think we need to better understand the problem before we can offer a solution.
Can you share a picture of what you are trying to achieve... maybe attach the failed assembly model?
I am not understanding if you are also varying the spring, or just other components in the assembly.
Is the spring suppose to follow the varied items in the sketch?
Flexibility doesn't do anything to a model that you can't do in the model itself. Essentially you are creating a second copy of the model (hidden family table instance) with some dimension or parameter changed. Can you open the model by itself and make the same change to it that you are attempting to make with the flexible varied item? If not, then flexing it isn't going to work.
With a spring, if you want to simulate what the spring would look like in the compressed state, then the pitch must necessarily change. Instead of using a fixed pitch for the two sections, you need to use a pitch that is based of the current length of the spring. That way when the spring is shortened (compressed), the pitch will adjust accordingly to simulate compression.
I typically model springs with two dimensions. One dimension controls the actual geometry (compressed length) and a second dimension simply controls a construction line representing the free length. The free length drives the coil count. The compressed length drives the pitch, calculated force, and visible geometry. The only time the compressed length is set different than the free length is when it's varied via flexibility.
I attached pics for the clarification. All I did was to model a simple closed and ungrounded spring and add free length as variable item. new variable length is the distance between two planes. other components are fixed, just the spring is flexible.
Tom,, that's true, I cannot make the same change in the part itself individually. But, as you told, I wrote down a relation to define pitch depending on total free length and number of coil, spring model isn't the same. since it is a closed and ungrounded spring, first and the last coils should coincident to each other with the same measurement of wire dia. Pitch should then vary with the length of the spring. I couldn't achieve that also when I tried to write down relation it didn't work.
You are correct, the pitch for the first and last coil need to stay fixed. On the other hand, the pitch for the coils in the middle must adjust to the spring length. Take a look at the attached model. This will maintain the coil count but adjust the pitch based on the compressed length.
Tom that's great. But the relation is too complicated, I tried to write a relation like this once but then think that there should be an easy way.
Anyway, it works for me however I can only change the variables ib edit position but cannot model it by myself. Because the feature seems as protrusion not sweep. So I cannot see the pitch points there. Which version do you use? mine is Creo 2.0 M050.
Switch to the layer tree and unhide the "construction" layer. I have a bunch of things hidden.
I used additional sections to make the transition from one pitch to another look more realistic.
Are you willing to upload your model? I'm willing to take a look at it. (attachments can be added with the advanced editor)
Here is my model. My inputs are;
# of coils : 5,75
Free length : 12
assemblied distance : 8,36 (from the two end points of the spring)
I put some relations.
Your model is not conducive to changing the free length. your pitch locations are locking the minimum length.
I am not a fan of the pitch dialog within helical sweeps. to make this dynamic, you would have to tie each one of those location values to some relation.
I have adopted different methods for making highly dynamic springs.
Have a look: