Experienced 3D CAD user, but still a beginner on ST10, using Windows for Professionals.
I have created a compression spring following this tutorial (but using axis length = 25, turns = 10, wire diameter =1.4, and the axis to spring centre = 7.25)
I then "ground" the ends by using the Cut command by drawing a sketch normal to the axis at each end, drawing a massive rectangle that encompasses the entire end of the spring, and using it to remove everything beyond the end of the axis. The axis length, by the way, was set at the length I needed it to be to match what the assembly will be when closed.
This was then placed in the assembly, using by mating one face with the counterbore of Block 1, and aligning the axis of the spring with that counterbore. The other end of the spring is sitting inside the counterbore of the mating part (Block 2), resting on the face of the counterbore, but there are no assembly constraints between these parts.
I would like to adjust the spring length automatically whenever I adjust the distance between the two parts. The distance between the two parts is set by a mating offset between Stop and Block 1; this ranges between 0mm and 20mm. There is a PMI dimension between the two counterbore faces that goes from 25mm to 45mm.
How do I change the length of the spring to match the PMI dimension between the counterbores?
Many thanks in advance
Solved! Go to Solution.
A bit difficult to explain here but you need to make your spring an adjustable part.
There are several methods but I will describe the one I think fits with the way you have modelled your spring.
In the spring model go Tools > Assistants > Adjustable Part.
You will be prompted with a 'table' asking for Variable Name - this needs to be the name of the variable that defines your spring length. Also set the option 'Adjust Like a Spring'.
You can either type it directly into the cell or If you click on the icon "X1=,X2=" you will get the variable table.
You can select it from here.
When done, save your file.
In your assembly you need to tie the spring variable to an assembly measurement.
So start the measure command (I would use Measure Minimum Distance) and measure between the two mating planes in the blocks. On the Measure Toolbar click the icon "X1=" (Variable Table icon) and in the pop-up type in a name such as S_Length.
If you already have your spring positioned you will need to right click on it then Simplified/Adjustable > Adjustable Part.
In the pop-up table you should see the length variable from your part file - in the Assembly Variable cell either type in the name (S_Length) or use the variable table icon and select it from the assembly variable list.
The spring should then adjust in length depending on the distance between the faces.
Do bear in mind though that if you shorten the spring too much such that the coils intersect themselves the model will fail.
I really appreciate your detailed explanation, but I am falling down at one stage. I'm trying to do a measurement between the two planes, but all it will allow me to select is the edge of the counterbore bottom, not the flat face. Is there something in my settings that I need to change?
On the Measure Miniumum Distance toolbar there is a drop-down that allows selecting of different element types.
You are probably set to curves. Select Surfaces and you should be ok.
No, go to the Inspect tab, 3D Measure group amd its the middle of the 3 vertical icond - measure minimum distance.
That didn't quite work for me, so I went back through the original instructions, and I must have done something slightly differently this time, as I managed to get it to finally work!
I guess my next task will be at some point to work out how to animate this thing but for now I'm happy to get a fully adjustable spring.
Many thanks for all your help!