Equation of a multi-layer coil
Hello,
I want to create a curve describing a multi-layer coil, similar to that shown in the picture:
This is a representation of several layers of cable on a winch drum, with the direction of spooling reversing at each layer change.
Working in cylindrical coordinates, each point on the curve has a radius, (r), an angle, (theta) and an axial position along the drum, (z). Thus, assuming the radius of the drum is r0, the diameter of the cable is d and the length of the drum is L, as the angle, theta, around the drum increases, so the z value increases by d each time theta increases by 360, until z=L, when r changes to r0+d and z starts to decrease. When z gets back to zero, r increases again by d and z starts to increase, and so on until the drum is filled or the end of the cable is reached.
As you can see, I have devised a way to create the curve, based on a series of points at discrete r, theta and z values, calculated using an Excel spreadsheet. The z value calculation uses an IF statement to determine whether it increases or decreases.
Ideally, I would like to use a single equation inside Creo/Pro/Engineer to define the curve, rather than importing points from Excel. Sadly, Pro/Engineer has a rather limited set of functions available for curves based on equations - you can't use IF, FOR, ABS, INT, to name but a few.
So, my question is this:
Is it mathematically possible to describe the shape shown using a single equation to produce r, theta and z values, but without using conditional statements, ABS or INT?
I think the answer is 'No', but I would like to be sure...
I thought the MathCad community would be more likely to know the answer than the Creo community, hence asking the question here, rather than in Creo.
Thanks,
John


