I created helix curve then added straight line and set constraint on it to be equal. However as you can see in the picture, they are not. Does anyone know reason why? Regards,
It's not your straight line that doesn't match, it's the spline you've made from the helix. They are not the same because a helix is a mathematically exact object, and the spline is simply a best fit polynomial.
Helix - Wikipedia
Spline (mathematics) - Wikipedia
Thanks. Do you know by any chance what would be SolidWorks way to make that straight line exactly matching helix length? By the way yesterday I was calculating helix lengths based on single revolution and (Pitch^2 + (2*r*Pi)^2)^0.5 and none of lengths were matching either straight or curve length. That was even more interesting. Regards,
SolidWorks is not exact and underlies certain tolerances. Your error is in the 4th digit range .6690 vs .6695.
Instead of calculating your curve you could construct it. Wrap a triangle onto the cylinder. Then you should design should match as close as possible.
You must have extreme requirements that such a small error matters. Technically very expensive to produce in such a close range.
Use the parameters of the helix and its sketch circle to compute the length exactly.
In the equations dialog, everything that you need is exposed.
One formula I found is: L = (H^2 + C^2)^(0.5) where C=Circumference and H=Height, so:
Draw a line and dimension it:
In the equations dialog, equate this line's dimension to the Length global variable:
Perhaps this workflow will satisfy your requirements.
Thanks for everyone's reply. Larger issue here is how SolidWorks is calculating helix length than what math calculation says as SW feature have to be followed when modeling. Second issue is the equal length constraint; none of those lengths equals math helix length (and getting less and less precise by adding more revolutions and larger diameter). In that case even if SW helix length is not correct, at least constraint added between straight line and SW helix should be equal.
Retrieving data ...