Inventor General Discussion

Inventor General Discussion

Reply
Employee
GlennChun
Posts: 115
Registered: ‎06-10-2004
Message 1 of 23 (5,902 Views)

Variable Pitch Helix by Equation Curve

5902 Views, 22 Replies
06-20-2012 12:36 AM

You can create a variable pitch helix by using the Equation Curve feature introduced in Inventor 2013.

 

Create a new 3D Sketch. Start the Equation Curve command.

equation_curve_ribbon.png

 

Here are equations that I use to create helical curves. Many other variations exist, but the following should give you some basic ideas.

 

Cartesian coordinates:

x(t) = radius * sin(360 * num_turns * t) 

y(t) = radius * cos(360 * num_turns * t)

z(t) = height * t

      = num_turns * pitch * t

 

Cylindrical coordinates:

r(t) = radius

theta(t) = 360 * num_turns * t

z(t) = (same as Cartesian)

 

  • To make the radius variable, replace radius with radius * t.
  • To make the pitch variable, replace pitch with pitch * t.

 

Examples:

radius = 3 or 3*t

num_turns = 5

height = 10

pitch = 2 or 2*t

t ranges from 0 to 1.

 

1. constant radius, constant pitch:

 

Cartesian coordinates:

x(t) = 3*sin(360*5*t)

y(t) = 3*cos(360*5*t)

z(t) = 5*2*t

 

Cylindrical coordinates:

r(t) = 3

theta(t) = 360*5*t

z(t) = 5*2*t

 

2. constant radius, variable pitch:

 

Cartesian coordinates:

x(t) = 3*sin(360*5*t)

y(t) = 3*cos(360*5*t)

z(t) = 5*2*t*t

 

Cylindrical coordinates:

r(t) = 3

theta(t) = 360*5*t

z(t) = 5*2*t*t

 

3. variable radius, constant pitch:

 

Cartesian coordinates:

x(t) = 3*t*sin(360*5*t)

y(t) = 3*t*cos(360*5*t)

z(t) = 5*2*t

 

Cylindrical coordinates:

r(t) = 3*t

theta(t) = 360*5*t

z(t) = 5*2*t

 

4. variable radius, variable pitch:

 

Cartesian coordinates:

x(t) = 3*t*sin(360*5*t)

y(t) = 3*t*cos(360*5*t)

z(t) = 5*2*t*t

 

Cylindrical coordinates:

r(t) = 3*t

theta(t) = 360*5*t

z(t) = 5*2*t*t

 

Note: You can use t^2 instead of t*t above.

 

helix_equation.png

 

When you sweep a profile along a helical path, use the plane normal sweep (instead of perpendicular sweep) to orient profiles suitable for coil or spring.  In the example below, the sweep path is a constant radius, variable pitch helix.

perp_sweep_vs_plane_normal_sweep.png

 

HTH,

Glenn

Autodesk T-Splines Component Development
Valued Contributor
ROBTRONIX
Posts: 81
Registered: ‎11-19-2008
Message 2 of 23 (5,859 Views)

Re: Variable Pitch Helix by Equation Curve

06-20-2012 05:37 AM in reply to: GlennChun

I think you guys just made my day!!

Autodesk Inventor 2012 Certified Assosicate
Autodesk Inventor 2012 Certified Professional
*Expert Elite*
karthur1
Posts: 4,198
Registered: ‎04-27-2005
Message 3 of 23 (5,850 Views)

Re: Variable Pitch Helix by Equation Curve

06-20-2012 06:18 AM in reply to: GlennChun

Now if you can flatten that I will be impressed.  :smileyhappy:

Valued Contributor
QuasiMojo
Posts: 95
Registered: ‎07-06-2011
Message 4 of 23 (5,819 Views)

Re: Variable Pitch Helix by Equation Curve

06-20-2012 12:20 PM in reply to: GlennChun

FINALLY!!!! Thanks for posting this. 

 

<snark>

Maybe we'll be able to do equation surfaces by 2020.

</snark>

Inventor Professional 2014
Windows 7, x64
Dual-core i7, 8GB RAM
NVIDIA Quadro FX 880M
HP Elitebook 8540w
Contributor
sention
Posts: 13
Registered: ‎10-04-2005
Message 5 of 23 (3,531 Views)

Re: Variable Pitch Helix by Equation Curve

06-26-2013 10:11 AM in reply to: GlennChun

Glen,

Thanks for the equations. Do you know of equations for compression springs?

 

Compression Spring.JPG

Employee
GlennChun
Posts: 115
Registered: ‎06-10-2004
Message 6 of 23 (3,519 Views)

Re: Variable Pitch Helix by Equation Curve

06-26-2013 12:19 PM in reply to: sention

Hi sention,

 

When you create a coil, spring, or helix sweep, please use the Coil command or Helical Curve command in 3D Sketch whenever you can for optimized performance/capacity.

 

  • To create constant-pitch helix, you'd better use the Coil or Helical Curve command than the Equation Curve command.
  • To create variable-pitch helix, use the Equation Curve command since the Coil or Helical Curve command doesn't offer that functionality.

 

By looking at your drawing, I see everything as a constant-pitch helix.  I would use three Coil features in this case. 

 

compression_spring.png

 

I defined the following parameters before I designed this model.  You can see/edit these in the Parameters dialog > User Parameters.

 

helix_radius = 10 mm

 

wire_radius = 1 mm

wire_diameter = 2 * wire_radius

 

active_coil_pitch = 4 * wire_diameter

active_coil_num_revolution = 5

active_coil_height = active_coil_pitch * active_coil_num_revolution

 

dead_coil_pitch = wire_diameter

dead_coil_num_revolution = 3

dead_coil_height = dead_coil_pitch * dead_coil_num_revolution

 

 

For the 'dead coils', the pictch is the same as the wire diameter, and this is possible only in Inventor 2014 and later.  See Type 3b in my recent post called Demystifying Self-intersecting Sweep

http://forums.autodesk.com/t5/Autodesk-Inventor/Demystifying-Self-intersecting-Sweep/m-p/4303803

 

Attached is the part that I created in Inventor 2014.  Every surface in this model is analytic geometry (rather than NURBS), so you can feel the optimized performance.  All planes of the cross-sectional profiles in the three Coil features contain the helical axis (Z-axis in this case).

 

Hope that helps,

 

Glenn

Autodesk ShapeManager Development

 

Autodesk T-Splines Component Development
Employee
GlennChun
Posts: 115
Registered: ‎06-10-2004
Message 7 of 23 (3,496 Views)

Re: Variable Pitch Helix by Equation Curve

06-26-2013 01:03 PM in reply to: GlennChun

In my example above, the transition between the active coil and each dead coil is not tangent-continuous.  If you want smooth transitions, the above technique is not appropriate.

 

Glenn

Autodesk T-Splines Component Development
Employee
GlennChun
Posts: 115
Registered: ‎06-10-2004
Message 8 of 23 (3,478 Views)

Re: Variable Pitch Helix by Equation Curve

06-26-2013 04:35 PM in reply to: GlennChun

If you want smooth transitions between active and dead coils, here's a workflow that you could use.

 

In the attached compression_spring_2_glenn.ipt, I added the following parameters:

 

entire_coil_height = active_coil_height + 2 ul * dead_coil_height

active_coil_len = active_coil_num_revolution * sqrt((active_coil_pitch) ^ 2 ul + ( 2 ul * PI * helix_radius ) ^ 2 ul)

dead_coil_len = dead_coil_num_revolution * sqrt((dead_coil_pitch) ^ 2 ul + ( 2 ul * PI * helix_radius ) ^ 2 ul)

 

entire_coil_height is used as the height of the cylindrical surface (The first feature in the model).  active_coil_len and dead_coil_len are used in the Aligned dimensions for the three lines in the sketch called curves to project.

 

If you project the three lines to the cylinder, using the Wrap to surface functionality of the Project Curve to Surface command, the sweep path would be the same as compression_spring_glenn.ipt, except for performance/capacity.  To make the projected curves tangent-continuous, I added two sketch fillets as shown below.  I randomly chose R=100 mm for fillets.  Instead of three lines and two fillets, a spline curve could be used.

 

compression_spring_2.png

 

For the sweep feature, I used the plane normal sweep (aka pull-direction sweep).  The guide surface is the XY plane since the helical axis is the Z-axis in this model.  That makes the planes of all cross-sectional profiles in the sweep body contain the helical axis.

 

compression_spring_2_result.png

 

A drawback with using the Wrap to surface functionality of the Project Curve to Surface command is low performance and huge file size.  If you open the compression_spring_2_glenn.ipt, move the End of Part to the bottom, and save the part, then you will see the file size become ~2,300 KB.  The previously attached part, compression_spring_glenn.ipt, is only 360 KB.  The Inventor development team is aware of the performance/capacity issue with the Wrap to surface.

 

If anyone knows of any equation for the compression spring, please post it.  Performance/capacity of using the Equation Curve command is somewhere between analytic geometry from the Helical Curve/Coil command and the NURBS from Wrap to surface.

 

Glenn

Autodesk ShapeManager Development

 

Autodesk T-Splines Component Development
Employee
GlennChun
Posts: 115
Registered: ‎06-10-2004
Message 9 of 23 (3,470 Views)

Re: Variable Pitch Helix by Equation Curve

06-26-2013 05:20 PM in reply to: GlennChun

The above screenshots using the "Right" view do not really show the difference.

 

Here's the "Top" view that shows the difference between the two models.  The red arrow below indicates G0 continuity between the dead coil ad active coil.  The second model shows G1 continuity (tangent-continuous).

 

g0_vs_g1.png

 

Glenn

Autodesk T-Splines Component Development
New Member
eternal.erik
Posts: 1
Registered: ‎07-06-2013
Message 10 of 23 (3,352 Views)

Re: Variable Pitch Helix by Equation Curve

07-07-2013 06:38 PM in reply to: GlennChun

When sweeping, can you make it such that the profiles all angle towards a single point, say in the center of the helix at its base? If so, how?? Thanks!


GlennChun wrote:

When you sweep a profile along a helical path, use the plane normal sweep (instead of perpendicular sweep) to orient profiles suitable for coil or spring.  In the example below, the sweep path is a constant radius, variable pitch helix.

 


 

Announcements
Are you familiar with the Autodesk Expert Elites? The Expert Elite program is made up of customers that help other customers by sharing knowledge and exemplifying an engaging style of collaboration. To learn more, please visit our Expert Elite website.
Need installation help?

Start with some of our most frequented solutions or visit the Installation and Licensing Forum to get help installing your software.