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.

Options

How to draw a helix with varying pitch

labernlabern Member Posts: 33 ✭✭✭
Hi
I need to draw an item that has a helix that varies in pitch as it goes around a cylinder. as per attached picture.

I started to try and do it by adding multiple surfaces going up a cylinder and adding a different helix on each surface. but it didn't really work.
It would be good to be able to use spline tool around the cylinder. but you can't sketch on the surface.
So how would you do it?

Answers

  • Options
    konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    edited May 2017
    you can find parametric curve feature script and create a number of helices with varying pitch defined by equation like x=r*cos(t),y=r*sin(t),z=k*t^2, r - radius of helix, k ~0.1 - some free factor

  • Options
    philip_thomasphilip_thomas Member, Moderator, Onshape Employees, Developers Posts: 1,381
    Labern - i am curious, how do you define this today?
    If this was a feature, what would the input parameters be?
    Philip . . .
    Philip Thomas - Onshape
  • Options
    mahirmahir Member, Developers Posts: 1,291 ✭✭✭✭✭
    edited May 2017
    I actually wrote the parametric curve featurescript, but it may not be necessary in this case. If the path of one "blade" curves 180deg or less, then you can just project a 2D spline onto a cylindrical surface. You might be able to create curves greater than 180deg by projecting multiple sketches, but tangent continuity might be difficult to maintain.
  • Options
    philip_thomasphilip_thomas Member, Moderator, Onshape Employees, Developers Posts: 1,381
    @Mahir - the 'project' curve method that you describe would seem to be a bit challenging.
    If i want a constant rate of change of gradient, the projection of any curve that exhibits that behaviour would become very skewed (rapidly decreasing gradient as you move away from normal to the surface). Is there a trick that i am missing?
    Philip Thomas - Onshape
  • Options
    mahirmahir Member, Developers Posts: 1,291 ✭✭✭✭✭
    @philip_thomas, you're right. I didn't think you needed a mathematically precise pitch. However, you can do a decent job of approximating via projection. The flat projection of a constant pitch helix is just a sine wave. The projection of a helix with constantly varying pitch is just a sin wave that's been slightly stretched. If you have a good side view of the part you're trying to model, it would be easy enough to trace that stretched sin wave.

    Or, just do as konstantin suggested and use my parametric FS to generate the 3D curve :) 
  • Options
    labernlabern Member Posts: 33 ✭✭✭
    I imported 3 images of the part onto front, right and back planes.
    Then extruded a polygon with 50sides. 
    Plotted points along the polygon following the imported images.
    Used the 3D spline feature script and selected all the created points to create a curve that matched the part. 
    I then tried to sweep along the 3d spline but the sweep doesn't stay tangent to the polygon and ends up turning into it.
    Using helix sweeps stay tangent to the part but don't suit in this case.
  • Options
    mahirmahir Member, Developers Posts: 1,291 ✭✭✭✭✭
    @labern, take a look at my example. You're right about the problem keeping the sweep direction tangent to the curve (normal to the surface). I created a Sweep Normal featurescript specifically to fix that problem. Take a look at my example below. It's not perfect, but I think it's a good first step.

    https://cad.onshape.com/documents/57acdfaae4b005c413ed9b6f/w/3fd585a46d3af1b3ba413c53/e/052b9b1376888b5d8b16e4f1
  • Options
    philip_thomasphilip_thomas Member, Moderator, Onshape Employees, Developers Posts: 1,381
    Another solution may be to generate the profile from a tool such as Swift Calcs

    https://appstore.onshape.com/apps/Utilities/KQ5H3ZDPXICD2PJKVGR6RJZ3HFNAJ2IQQMBBZFQ=/description


    Philip Thomas - Onshape
  • Options
    mahirmahir Member, Developers Posts: 1,291 ✭✭✭✭✭
    edited May 2017
    Using the Parametric Curve FS in cylindrical mode wasn't too bad. Same link as my previous post.


  • Options
    philip_thomasphilip_thomas Member, Moderator, Onshape Employees, Developers Posts: 1,381
    ^^^^ I like it! :)

    Philip Thomas - Onshape
  • Options
    konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    Another solution may be to generate the profile from a tool such as Swift Calcs

    https://appstore.onshape.com/apps/Utilities/KQ5H3ZDPXICD2PJKVGR6RJZ3HFNAJ2IQQMBBZFQ=/description
    @philip_thomas
    about swift calc and related engeneering calculations, did you heard about wolfram cloud invironment/wolfram language? they developed a very powerful symbolic calculations environment, would be nice if OnShape had an integrated tab with wolfram notebook, and even some featurescript functions might be implemented in Wl
Sign In or Register to comment.