Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
2. Need support? Ask a question to our Community Support category.
3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.

# Smooth (tangent) transition from a straight path to a helix path

Member Posts: 6 ✭✭
I am trying to get a smooth transition from a straight section to a helix. Like in a torsional spring, for example.

To do that, I am preparing a multi-part path, so that I can then sweep along it. I encounter two problems:
• I don't know how to fix the helix starting point to the end point of the straight path. I can get very close by changing the start angle of the helix.
• But then the helix path I get starts vertically at an angle to the straight path (it does not start as a tangent).
How can this be done properly?

• Member, Developers Posts: 1,156 ✭✭✭✭✭
It feels a bit messy, but you can use a bridging curve to generate a point to point tangent line. You'll have to create a couple planes - one normal to the helix at an endpoint and another parallel plane offset by the desired length of the straight section. Then, create a sketch on the offset plane that has a single point converted from the helix endpoint. By construction, the line connecting the helix endpoint and this sketch point will be tangent to the helix itself. In my example I controlled the angle between start and end points by inputting an appropriate number of turns. For example, anything ending in .5 will be parallel (0 deg apart). Anything ending in .25 will be 90deg apart. In my example I chose 3.375 deg in order to get a 45deg angle.

• Member, Developers Posts: 395 EDU
Another way is to create planes on the ends of the coil, create sketches using on-the-fly mate connectors, realign them with those planes, rotate them on the y axis 90 degrees, and use arcs for a smooth tangent transition:

This seems pretty stable, but it's not very intuitive and maybe has some big problems I'm not seeing right now.
Student at University of Washington | Get in touch: [email protected] | My personal site: https://alnis.dev

• Member, Developers Posts: 1,156 ✭✭✭✭✭
It feels a bit messy, but you can use a bridging curve to generate a point to point tangent line. You'll have to create a couple planes - one normal to the helix at an endpoint and another parallel plane offset by the desired length of the straight section. Then, create a sketch on the offset plane that has a single point converted from the helix endpoint. By construction, the line connecting the helix endpoint and this sketch point will be tangent to the helix itself. In my example I controlled the angle between start and end points by inputting an appropriate number of turns. For example, anything ending in .5 will be parallel (0 deg apart). Anything ending in .25 will be 90deg apart. In my example I chose 3.375 deg in order to get a 45deg angle.

• Member, Developers Posts: 395 EDU
Another way is to create planes on the ends of the coil, create sketches using on-the-fly mate connectors, realign them with those planes, rotate them on the y axis 90 degrees, and use arcs for a smooth tangent transition:

This seems pretty stable, but it's not very intuitive and maybe has some big problems I'm not seeing right now.
Student at University of Washington | Get in touch: [email protected] | My personal site: https://alnis.dev
• Member Posts: 6 ✭✭
Thank you very much @mahir and @alnis! I think I will be able to use any of these solutions.

One issue might arise. This way straight paths are defined from the helix path. So the whole, more complex part, must be defined starting from the helix. For some parts that may be impossible.
• Member, Developers Posts: 1,156 ✭✭✭✭✭
One issue might arise. This way straight paths are defined from the helix path. So the whole, more complex part, must be defined starting from the helix. For some parts that may be impossible.
If it's important that the helix be driven by the straight sections instead of the other way around, then there are ways to do that. But again, it's a bit messy/complicated. Just like I manually backed out the correct number of turns for a particular angle, this could be automated via equations, variables, and/or featurescript. In this second example I laid out two arbitrary line segments. The location of the helix is driven by these segments. While the construction is probably not robust enough to withstand the angles changing 180deg, it is relatively flexible. Given the desired helix hight, number of full turns, and the axial blend distance, the helix is then generated by measuring the line segment angles.