POV-Ray : Newsgroups : povray.general : How would you design an involute gear tooth Server Time
22 Dec 2024 13:08:24 EST (-0500)
  How would you design an involute gear tooth (Message 1 to 9 of 9)  
From: KEBman
Subject: How would you design an involute gear tooth
Date: 27 Mar 2018 18:35:00
Message: <web.5abac6a1c5807edbd767596f0@news.povray.org>
How would you go about designing a involute gear tooth? Is it possible using
CSG? Or perhaps is it better to use SOR or even lathe? I'm not convinced a
Superquadric Ellipsoid would be good, as I'm concerned that it won't be
accurate. However I'm intrigued by the isosurface, given that I could somehow
feed it the function for an involute surface, say an extrusion of a 2D line
based on the base circle diametre.

Hoping for some constructive feedback. :)


Post a reply to this message

From: Bald Eagle
Subject: Re: How would you design an involute gear tooth
Date: 27 Mar 2018 19:50:00
Message: <web.5abad7ecaa9ea79b5cafe28e0@news.povray.org>
"KEBman" <nomail@nomail> wrote:
> How would you go about designing a involute gear tooth? Is it possible using
> CSG? Or perhaps is it better to use SOR or even lathe? I'm not convinced a
> Superquadric Ellipsoid would be good, as I'm concerned that it won't be
> accurate. However I'm intrigued by the isosurface, given that I could somehow
> feed it the function for an involute surface, say an extrusion of a 2D line
> based on the base circle diametre.
>
> Hoping for some constructive feedback. :)

I've "drawn" involute gears with POV-Ray using the ole' sphere-and-cylinder
sweep method.  I suppose if you made an array of points for the gear, you could
do a prism object, or just use what I already have with upright cylinders
instead of spheres and boxes instead of cylinders...

My SDL also writes out an SVG file, so you have that too.
(not sure if that part works correctly...)

I'll post my code over in the scene-files section.

Depending upon time & energy, I'm sure I could puzzle out a much more efficient
way of doing it - so be advised that the code isn't efficient or pretty.

Having a robust involute gear macro would be a delightful thing, and it's
definitely on my to-do list.


Post a reply to this message

From: Bald Eagle
Subject: Re: How would you design an involute gear tooth
Date: 27 Mar 2018 20:05:01
Message: <web.5abadb27aa9ea79b5cafe28e0@news.povray.org>
OK, I posted code over at

http://news.povray.org/povray.text.scene-files/thread/%3Cweb.5abad9041b37ed635cafe28e0%40news.povray.org%3E/

You may also be interested in:

http://news.povray.org/povray.general/thread/%3Cweb.5936b8342f8a2783c437ac910%40news.povray.org%3E/

and

http://news.povray.org/povray.binaries.images/thread/%3Cweb.593939a97ee89277c437ac910%40news.povray.org%3E/?ttop=419432
&toff=50&mtop=416421

Ideally, it would be nice to be able to specify a gear of a certain module, the
number of teeth, and the axle radius to get a gear,

or / and

"Scan" a given gear and build a POV-Ray object from that.


Post a reply to this message

From: Stephen
Subject: Re: How would you design an involute gear tooth
Date: 28 Mar 2018 08:32:36
Message: <5abb8b64$1@news.povray.org>
On 27/03/2018 23:33, KEBman wrote:
> How would you go about designing a involute gear tooth? Is it possible using
> CSG? Or perhaps is it better to use SOR or even lathe? I'm not convinced a
> Superquadric Ellipsoid would be good, as I'm concerned that it won't be
> accurate. However I'm intrigued by the isosurface, given that I could somehow
> feed it the function for an involute surface, say an extrusion of a 2D line
> based on the base circle diametre.
> 
> Hoping for some constructive feedback. :)
> 
> 

Have a look at this post
http://news.povray.org/povray.binaries.utilities/message/%3C37972354.30518106%40news.povray.org%3E/

It might give you an idea.

-- 

Regards
     Stephen


Post a reply to this message

From: Alain
Subject: Re: How would you design an involute gear tooth
Date: 28 Mar 2018 19:12:20
Message: <5abc2154$1@news.povray.org>
Le 18-03-27 à 18:33, KEBman a écrit :
> How would you go about designing a involute gear tooth? Is it possible using
> CSG? Or perhaps is it better to use SOR or even lathe? I'm not convinced a
> Superquadric Ellipsoid would be good, as I'm concerned that it won't be
> accurate. However I'm intrigued by the isosurface, given that I could somehow
> feed it the function for an involute surface, say an extrusion of a 2D line
> based on the base circle diametre.
> 
> Hoping for some constructive feedback. :)
> 
> 
The lathe object is not suitable for that purpose.
The sor object allow more freedom in the shape. It can make torus-like 
shapes.
BOTH can't have wavy surfaces along a given circumference. They are 
shapes that are rotated smoothly around an axis.
So, while the sor can be used to make the body of your gear, it just 
can't model the teeth of the gear.

You are correct about the isosurface : IF you can come out with some 
function for your gear, it will make the ideal gear. It problem is 
devising that function.


Post a reply to this message

From: KEBman
Subject: Re: How would you design an involute gear tooth
Date: 29 Mar 2018 17:55:00
Message: <web.5abd5f56aa9ea79bf7923d990@news.povray.org>
Thanks for your help, guys!

Alain <kua### [at] videotronca> wrote:
> You are correct about the isosurface : IF you can come out with some
> function for your gear, it will make the ideal gear. It problem is
> devising that function.

I'm no math expert, but here are two similar equations for making the involute
of a circle.

x(u) = d_b(cos u + u sin u)
x(u) = d_b(cos u - u sin u)
Where d = diameter (d) of the base circle (_b), and I assume u is
some unit of measurement.
Source: Tutorial: How to Model Geometrically Correct (Involute) Gears in Blender
https://youtu.be/DqBOva04lcE

X(t) = r(cos t + (t - a) sin t)
Y(t) = r(cos t - (t - a) sin t)
Where r = radius and t = time, and a some constant where 0 represents the
"azimuth" of the circle.
Source: https://en.wikipedia.org/wiki/Involute#Examples

I tried this, but it didn't work:
isosurface {
 function { r*(cos(t)+(t-a)*sin(t)) } // does not work...
 max_gradient 4
    contained_by { box { -2, 2 } }
 pigment {
  color rgb <1, 0, 0>
 }
 rotate y*20
}

However this function {1*(cos(tid)+(tid-0)*sin(tid))} does yield a box when
'tid' is #declare tid = -3; 3, 4, 5, or above 9, which just seems odd to me...
These numbers for tid yielded nothing: -2,-1,0,1,2,7,8,9, though the renderer
seems to hit some kind of treshold at 9.317, gradually slowing down as decimal
places are added. So again, I'm not really that good with mathematics... Still
an isosurface for this would be ideal.

Any help would be much appreciated!


Post a reply to this message

From: Bald Eagle
Subject: Re: How would you design an involute gear tooth
Date: 29 Mar 2018 19:05:00
Message: <web.5abd703aaa9ea79b5cafe28e0@news.povray.org>
So, here's the deal - the equations you're suggesting are AFAIK, going to be
_parametric_.   x, y, and z are going to depend on some independent variable, in
your case, t.

So the easiest way to implement this is with a parametric {} object.
It's also ridiculously slow unless you employ some tricks.

Parametrics use the variables u and v.   I used u for the curve, and v for the
height.

An isosurface would require you to figure out what the implicit equation is for
the curve - one equation that uses x, y, and z.

Not sure what your idea is with this - I could speculate, but I'd say there are
probably better ways.



#version 3.7;
// Bill Walker "Bald Eagle" March 2018

global_settings {assumed_gamma 1.0}
#include "colors.inc"

camera {
                            location  <0, 10, -20>
                            right    x*image_width/image_height
                            look_at   <0, 0, 0>}

light_source { <0, 15, -50>  color rgb <1, 1, 1>}

plane {y, 0 pigment {Gray10}}

#declare a = 0.5;  //(1+sqrt(5))/2;
#declare r = 0.25;

parametric {
 function {r * (cos (u) + (u - a) * sin (u))}
 function { v }
 function {r * (sin (u) - (u - a) * cos (u))}

 <0, -1>, <10*tau, 1>  // start, end of (u,v)

  contained_by {box {<1, 1, 1>*-10, <1, 1, 1>*10} }
  max_gradient 20
  accuracy 0.01
  precompute 20 x,y,z

  texture {pigment {color rgb <1,1,1>}
           finish {specular 0.4 phong 0.5}}
  scale 1
  rotate <0, 0, 0>
}


Post a reply to this message

From: Bald Eagle
Subject: Re: How would you design an involute gear tooth
Date: 29 Mar 2018 19:05:01
Message: <web.5abd70a2aa9ea79b5cafe28e0@news.povray.org>
I'd also highly recommend reading

http://www.econym.demon.co.uk/isotut/index.htm

I always learn a lot from Mike, and he's got a lot of great tricks.


Post a reply to this message

From: Stephen
Subject: Re: How would you design an involute gear tooth
Date: 30 Mar 2018 08:21:15
Message: <5abe2bbb$1@news.povray.org>
On 29/03/2018 22:50, KEBman wrote:
> Thanks for your help, guys!
> 
> Alain <kua### [at] videotronca> wrote:
>> You are correct about the isosurface : IF you can come out with some
>> function for your gear, it will make the ideal gear. It problem is
>> devising that function.
> 
> I'm no math expert, but here are two similar equations for making the involute
> of a circle.
> 
> x(u) = d_b(cos u + u sin u)
> x(u) = d_b(cos u - u sin u)
> Where d = diameter (d) of the base circle (_b), and I assume u is
> some unit of measurement.
> Source: Tutorial: How to Model Geometrically Correct (Involute) Gears in Blender
> https://youtu.be/DqBOva04lcE
> 

Thanks for posting the link, I had lost it.

I think that this one might work. I also think Bald Eagle is on the 
right track with the  parametric object. I suspect that you might have 
to build it in sections and duplicate and rotate the sections. The way 
it was done in the tutorial.

-- 

Regards
     Stephen


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.